Hi Nvidia team,
I have some trouble with OTA to enable secure boot on L4T 35.5.0 from non UEFI secure boot (L4T 35.5.0). My device have enable Secureboot + disk encryption
Here is my testing steps:
I already achieved OTA non UEFI secure boot from 35.5.0 to 35.6.0 without any issue.
After update capsule successfully
I met the errors
EnrollFromDefaultKeysApp: Cannot enroll dbt: Not Found
EnrollFromDefaultKeysApp: Cannot enroll dbx: Not Found
Jetson UEFI firmware (version 6.0-37391689 built on 2024-08-28T08:47:11+00:00)
ESC to enter Setup.
F11 to enter Boot Manager Menu.
Enter to continue boot.
** WARNING: Test Key is used. **
..
▒▒I/TC: Reserved shared memory is disabled
I/TC: Dynamic shared memory is enabled
I/TC: Normal World virtualization support is disabled
I/TC: Asynchronous notifications are disabled
▒▒L4TLauncher: Attempting Direct Boot
▒▒E/TA: decrypt_image:99 TEE_InvokeTACommand failed with res = 0xffff0006
E/TA: decrypt_image:99 TEE_InvokeTACommand failed with res = 0xffff0007
E/TA: decrypt_image:99 TEE_InvokeTACommand failed with res = 0xffff0007
E/TA: decrypt_image:99 TEE_InvokeTACommand failed with res = 0xffff0007
E/TA: decrypt_image:99 TEE_InvokeTACommand failed with res = 0xffff0007
E/TA: decrypt_image:99 TEE_InvokeTACommand failed with res = 0xffff0007
▒▒OpenAndReadFileToBuffer: \boot\initrd failed signature verification: Security Vi
olation
ExtLinuxBoot:sds Failed to Authenticate \boot\initrd (Security Violation)
L4TLauncher: Unable to boot via extlinux: Security Violation
L4TLauncher: Attempting Kernel Boot
▒▒E/TA: decrypt_image:99 TEE_InvokeTACommand failed with res = 0xffff0006
E/TA: decrypt_image:99 TEE_InvokeTACommand failed with res = 0xffff0007
E/TA: decrypt_image:99 TEE_InvokeTACommand failed with res = 0xffff0007
E/TA: decrypt_image:99 TEE_InvokeTACommand failed with res = 0xffff0007
E/TA: decrypt_image:99 TEE_InvokeTACommand failed with res = 0xffff0007
E/TA: decrypt_image:99 TEE_InvokeTACommand failed with res = 0xffff0007
E/TA: decrypt_image:99 TEE_InvokeTACommand failed with res = 0xffff0007
E/TA: decrypt_image:99 TEE_InvokeTACommand failed with res = 0xffff0007
E/TA: decrypt_image:99 TEE_InvokeTACommand failed with res = 0xffff0007
E/TA: decrypt_image:99 TEE_InvokeTACommand failed with res = 0xffff0007
E/TA: decrypt_image:99 TEE_InvokeTACommand failed with res = 0xffff0007
E/TA: decrypt_image:99 TEE_InvokeTACommand failed with res = 0xffff0007
E/TA: decrypt_image:99 TEE_InvokeTACommand failed with res = 0xffff0007
E/TA: decrypt_image:99 TEE_InvokeTACommand failed with res = 0xffff0007
E/TA: decrypt_image:99 TEE_InvokeTACommand failed with res = 0xffff0007
Yes, it could be enabled through the capsule update.
Please just refer to this flow from the latest document, it should also work on your r35.x case.
You have to finish Generate Signed UEFI Payloads to sign them before generating capsule payload.
my device is enable secure boot + disk encryption + rootfs_ab.
I got the same issue as mentioned above.
when ROOTFS_ENC=1
I got
###############################################################################
L4T BSP Information:
R35 , REVISION: 6.0
User release: 0.0
###############################################################################
Error: When disk encryption is enabled, root device cannot be nvme0n1p1
hao@hao-server:~/repo/os-builder/build/OrinNano_35.5.0/downloads/Linux_for_Tegra
Always end up with erorr
Active index file is /mnt/internal/flash.idx
Number of lines is 76
max_index=75
writing item=59, 6:0:primary_gpt, 512, 19968, gpt_primary_6_0.bin, 16896, fixed--0, 64b69d9ae6791c808095a86674f3001178d4ec39
Error: Could not stat device /dev/mmcblk0 - No such file or directory.
Flash failure
Cleaning up…
without ROOTFS_ENC it’s fine.
did I miss some thing to enable UEFI secure boot with ROOTFS_AB=1 ROOTFS_ENC=1
?
(2.1) please re-create eks_t234.img, you’ll need to download r35.6.0 public release sources.
(2.2) updating your $OUT/Linux_for_Tegra/bootloader/eks_t234.img.
(3) you should also include ROOTFS_AB=1 ROOTFS_ENC=1 to the command-line for creating OTA payload, $ sudo ROOTFS_AB=1 ROOTFS_ENC=1 -E ./tools/ota_tools/version_upgrade/l4t_generate_ota_package.sh --external-device nvme0n1 -S 50GiB -i sym2_t234.key -p jetson-orin-nano-devkit R35-6
I’ve manged to get UEFI secure enabled. But during boot process I see
Jetson UEFI firmware (version v35.6.0 built on 2024-09-17T13:50:43+00:00)
ESC to enter Setup.
F11 to enter Boot Manager Menu.
Enter to continue boot.
** WARNING: Test Key is used. **
.
▒▒I/TC: Reserved shared memory is disabled
I/TC: Dynamic shared memory is enabled
I/TC: Normal World virtualization support is disabled
I/TC: Asynchronous notifications are disabled
E/TC:?? 00 get_rpc_alloc_res:645 RPC allocation failed. Non-secure world result: ret=0xffff0000 ret_origin=0
E/LD: init_elf:486 sys_open_ta_bin(0e35e2c9-b329-4ad9-a2f5-8ca9bbbd7713)
E/TC:?? 00 ldelf_init_with_ldelf:131 ldelf failed with res: 0xffff000c
▒▒GetImageEncryptionInfo: Failed to open session to cpubl payload decryption TA 4
294901772
L4TLauncher: Unable to get image status: Unsupported
L4TLauncher: Attempting Direct Boot
EFI stub: Booting Linux Kernel…
EFI stub: UEFI Secure Boot is enabled.
EFI stub: Using DTB from configuration table
EFI stub: Loaded initrd from LINUX_EFI_INITRD_MEDIA_GUID device path
EFI stub: Exiting boot services and installing virtual address map..
Could you please confirm if these warnings and errors (e.g., Test Key is used , RPC allocation failed , and Failed to open session to cpubl payload decryption TA ) will have any impact on the system during runtime?