diff --git a/MODULE.bazel b/MODULE.bazel index c369b5438..8e29f8c3d 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -133,10 +133,8 @@ override_repo( bazel_dep(name = "opentitan_devbundle") archive_override( module_name = "opentitan_devbundle", - integrity = "sha256-67i+jjvFg9Pd1CXudHpWZ6Gw5lRJvRg4EQm6rDfmang=", - # TODO(cfrantz): We should get this from github.com/lowRISC/opentitan/releases/... - # Update after creating the next official build upstream. - url = "https://storage.googleapis.com/artifacts.opentitan.org/dev_bundle/devbundle-20260714.tar.xz", + integrity = "sha256-7QQkw0JW8R0aYfkjg2IcVT6/mpLYSC0Ab2jEvPEGiq8=", + url = "https://github.com/lowRISC/opentitan/releases/download/devbundle-2026-08-21-1/devbundle.tar.xz", ) bazel_dep(name = "lowrisc_opentitan") diff --git a/target/earlgrey/env/environments.bzl b/target/earlgrey/env/environments.bzl index 6df1c21fb..7b95d4b8f 100644 --- a/target/earlgrey/env/environments.bzl +++ b/target/earlgrey/env/environments.bzl @@ -48,6 +48,12 @@ def _fpga_prepare(ctx, env, firmware_bin, tools): outputs = [boot_image_file], inputs = [env.rom_ext, firmware_bin], executable = tools.opentitantool, + # Workaround: When HOME is unset, opentitantool invokes getpwuid_r() to locate its + # default config directory, which dynamically dlopens host NSS libraries. In static glibc + # binaries, this causes a SIGSEGV if the static glibc version differs from the host glibc. + # Setting HOME prevents the NSS lookup. + # TODO(antchen): remove this workaround once upstream opentitantool handles missing HOME or fixes static NSS lookup. + env = {"HOME": "/tmp"}, arguments = [ "image", "assemble",