docker: fix Dockerfile.qemu, use jade_builder
What changed, and why it matters
This commit is a routine build-system fix for the QEMU emulator Dockerfile used in development and testing. It switches the Docker base image and simplifies the build steps so the documented README commands work correctly. There is no indication this change affects the security of the actual Jade hardware wallet firmware or introduces any vulnerability.
No security action required. Review as normal build tooling maintenance if desired.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The patch updates Dockerfile.qemu to use the blockstream/jade_builder base image instead of blockstream/verde, and replaces a multi-stage optimized build with a single-stage development-oriented build. It also adds build_linux to the dockerignore file. The commit message explicitly states this is for development/testing/debugging convenience and not for long-term Jade operation. No cryptographic, firmware, or runtime security changes are present.
Changed components
Dockerfile.qemuDockerfile.qemu.dockerignoreInspect captured patch +7 / −21
diff --git a/Dockerfile.qemu b/Dockerfile.qemu
index d6560f0..f3446c0 100644
--- a/Dockerfile.qemu
+++ b/Dockerfile.qemu
@@ -1,26 +1,11 @@
-FROM blockstream/verde@sha256:9171360dae48d3fba7c0f36ab5eb45e2529d178a603e89197cb08fb123ca619e as builder
+FROM blockstream/jade_builder@sha256:6937ea8808b89fe3510af6e156da4495d313c0ec7d3370108896ed50b605d237
-ARG SDK_CONFIG=configs/sdkconfig_qemu_psram.defaults
+ARG QEMU_CONFIG_ARGS="--dev --ci --psram"
WORKDIR /jade
COPY . .
-RUN cp ${SDK_CONFIG} sdkconfig.defaults
-RUN . /root/esp/esp-idf/export.sh && idf.py all
-RUN ./tools/fwprep.py build/jade.bin build
-
-ENV PATH=$PATH:/jade/main/qemu
-RUN make-flash-img.sh
-
-FROM debian:bookworm-slim@sha256:12c396bd585df7ec21d5679bb6a83d4878bc4415ce926c9e5ea6426d23c60bdc
-
-RUN apt-get update -yqq && apt-get install -yqq libpixman-1-dev libglib2.0-dev libslirp-dev libncurses-dev
-
-COPY --from=builder /flash_image.bin /flash_image.bin
-COPY --from=builder /qemu_efuse.bin /qemu_efuse.bin
-
-COPY --from=builder /jade/main/qemu/ /jade/main/qemu/
-
-ENV PATH=$PATH:/jade/main/qemu
-
-CMD [ "qemu_run.sh" ]
+RUN ./tools/switch_to.sh qemu ${QEMU_CONFIG_ARGS}
+RUN cd /opt/esp/idf && . ./export.sh && cd /jade && idf.py all && ./tools/fwprep.py build/jade.bin build
+RUN ./main/qemu/make-flash-img.sh
+CMD [ "/jade/main/qemu/qemu_run.sh" ]
diff --git a/Dockerfile.qemu.dockerignore b/Dockerfile.qemu.dockerignore
index dd527a5..5779d1a 100644
--- a/Dockerfile.qemu.dockerignore
+++ b/Dockerfile.qemu.dockerignore
@@ -3,3 +3,4 @@ sdkconfig.defaults
sdkconfig
mananged_components
build
+build_linux
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.