Hello,
I am trying to set up UEFI secure boot (without fuse secure boot, just for testing) but the flashing always fails at a very late state. I am using L4T 36.4 on a Jetson AGX Orin Devkit.
I attached the logs.
I am executing this command: sudo ./tools/kernel_flash/l4t_initrd_flash.sh --uefi-keys uefi_keys/uefi_keys2.conf jetson-agx-orin-devkit internal
I have set up the key config file, executed the sudo chmod 644 uefi_keys/_out/*.auth command and also sudo tools/ gen_uefi_default_keys_dts.sh uefi_keys/uefi_keys.conf before.
I have placed the resulting UefiDefaultSecurityKeys.dtbo in the /bootloader folder and removed there the existing file that had the same name. Not sure if the last step was necessary, but I tried with and without that step.
Before, I also tried to flash using flash.sh which resulted in errors during the boot up of the Jetson AGX Orin Devkit.
I flashed using this command but when I boot there are errors: ReadEncryptedImage: Failed to read data from partition OpteeDecryptImage: Failed to read data ReadAndroidStyleKernelPartition: OpteeDecryptImage failed Failed to boot recovery: 0 partition
Hi,
If the device cannot be flashed/booted, please refer to the page to get uart log from the device: Jetson/General debug - eLinux.org
And get logs of host PC and Jetson device for reference. If you are using custom board, you can compare uart log of developer kit and custom board to get more information.
Also please check FAQs: Jetson AGX Orin FAQ
If possible, we would suggest follow quick start in developer guide to re-flash the system: Quick Start — NVIDIA Jetson Linux Developer Guide 1 documentation
And see if the issue still persists on a clean-flashed system.
Thanks!
thank you for your reply JerryChang.
Yes, that was my plan.
When I do only disk encryption it is booting and using the command lsblk I can see that there is an encrypted partition.
However, if I combine it with --uefi-keys or if I do it without the disk encryption, I get errors as described above during booting.
When I only try uefi keys, I get errors like boot\initrd failed image verification, failed to authenticate \boot\initrd, unable to boot via extlinux during the boot of the device.
I also generated eks_t234.img and replaced in the bootloader folder as you described.
Is there any other step that you might have done? For example, what should I do with the UefiDefaultSecurityKeys.dtbo file? I also replaced the same file in the bootloader with my generated one, but that didn’t help.
Also, there is the script gen_uefi_default_keys_dts.sh in the /tools folder, which would create some more data as I have read in other posts, for example an _out folder and some .auth files. Is that maybe the file I should use or did I use the correct one?
If any steps are missing or I should do something else, please let me know.
Just to verify, I tried out the burning of the fuses using --test option, which does NOT burn the fuses. That means there is no secure boot enabled. I just wanted to try the burning first without actually burning. After that, I wanted to test UEFI boot and disk encryption, but there I am stuck.
I added the error that is shown on my screen during booting.
I would highly appreciate every further help.
Btw, is there a reason why the sym2 key and the auth key are the same? Furthermore, why did you not use the disk_enc key as described in the disk encryption section?
there are 4 magic bytes at the beginning of the EKS image, they are: “EEKB”, if these 4 bytes are wrong, you will see “eks image not correct”.
for example,
I just made it work finally! :)
Yesterday I downloaded all the sources again and tried it in a new way and then there was the last problem with the EKB image that you pointed out.
Then I tried it again today in the morning by just adding --uefi-enc to my previous setup, where I also did the rest of my configurations and it worked.