-
Notifications
You must be signed in to change notification settings - Fork 236
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Flashing of presigned artifacts fails on an Orin NX board #1813
Comments
Which OS you are using ? Looks like you are not using the right wheel package |
My OS is Ubuntu 24.04.1
|
Is it mandatory to use Ubuntu 24.04 ? |
I guess, I can switch to whatever you'd recommend, but I suspect that this is not really the root cause for the symptom: It looks to me that the symptoms can be tracked to places in the flashing scripts which are skipped specifically in the presigned case. In case the versions in the build system are relevant: I forgot to specify above that I have different machines for building and flashing. Since on the flashing machine with Ubuntu 24.04
I dare doubting that changing Ubuntu version would fix the symptoms. |
@akfaro Yes, and thanks for opening a new issue for this. Getting initrd-flash to play nicely with pre-signed binaries needs more work. |
Should be fixed now. I fused one of my Orins for secure boot so I could test the changes myself, and with the latest changes I was able to flash and boot successfully with both secured and non-secured devices. |
This is a follow-up from this comment in issue #1698, which IMO was closed prematurely:
#1698 (comment).
Feel free to close this issue if you feel that it's better to reopen #1698.
Describe the bug
If the image is built with
TEGRA_SIGNING_ARGS
set, theninitrd-flash
crashes before starting to write data to the target.More details are given below.
I observed the same symptom also before burning the PKC fuse on the Jetson board.
Just like the OP in #1698, I can flash the image successfully if the artifacts are not signed during BitBake build, and
initrd-flash
is called with the-u
parameter (obviously, only on a board with the PKC fuse burnt).To Reproduce
Steps to reproduce the behavior:
meta-tegra
branch 'scarthgap' withMACHINE
based on 'conf/machine/include/orin-nx.inc' (Orin NX 8GB)No specific arguments,
TEGRA_SIGNING_ARGS="-u ${SECUREBOOT_KEYS_DIR}/${PKC_FILENAME}"
is set inlocal.conf
initrd-flash
, without specifying the keysAdditional context
With a cleanly unpacked
tegraflash.tar.gz
package, runninginitrd-flash
shows this output:Seems like the variable
$serial_number
would be written to./boardvars.sh
by the flash helper withinsign_binaries()
, but the call is skipped with$PRESIGNED
set.I can hard-code the serial number of my particular Jetson device into the
initrd-flash
script, before the lineif [ -z "$serial_number" ]; then
.In this case, the
flashpkg
data is written to the target, which proceeds with itsbootloader sequence, and exposes the external
nvme0n1device, which is seen on the Host as
/dev/sdb`. However, partitioning the external device and writing the images to it fails on the host:During this time, the target completes writing the
bootloader
part to QSPI, and proceeds booting into unchanged RootFS after I disconnect the USB cable.I suppose, the reason for this kind of failure is that the command
mv secureflash.xml internal-secureflash.xml
is not executed due to early-exit fromsign_binaries()
in case of non-zero$PRESIGNED
.The text was updated successfully, but these errors were encountered: