Massflash image with ADDITIONAL_DTB_OVERLAY_OPT option

I also encountered one error when disk encryption is enabled after removing “–external-only”:

###############################################################################
# L4T BSP Information:
# R35 , REVISION: 4.1
# User release: 0.0
###############################################################################
Error: When disk encryption is enabled, root device cannot be nvme0n1p1

It comes from code below in flash.sh:

if [[ “${rootdev_type}” == “external” && “${disk_enc_enable}” -eq 1 ]]; then
echo “Error: When disk encryption is enabled, root device cannot be ${target_rootdev}”
exit 1;
fi;

If I just avoid the " exit 1" in this check, it works !
Can I somehow avoid this error or this check is needed ?

Seems like you need to generate images for QSPI and external storage device separately.
Like the case for Orin NX/Nano as shown in the guide:
https://docs.nvidia.com/jetson/archives/r35.4.1/DeveloperGuide/text/SD/FlashingSupport.html#using-initrd-flash-with-orin-nx-and-nano

# Generate images for QSPI
$ sudo ./tools/kernel_flash/l4t_initrd_flash.sh --showlogs -p "-c bootloader/t186ref/cfg/flash_t234_qspi.xml" --no-flash --network usb0 jetson-orin-nano-devkit internal

# Generate images for external storage device
$ sudo ROOTFS_ENC=1 ./tools/kernel_flash/l4t_initrd_flash.sh --showlogs --no-flash --external-device nvme0n1p1 -i ./ekb.key -c ./tools/kernel_flash/flash_l4t_t234_nvme_rootfs_enc.xml --external-only --append --network usb0 jetson-orin-nano-devkit external

# Flash images into the both storage devices
$ sudo ./tools/kernel_flash/l4t_initrd_flash.sh --showlogs --network usb0 --flash-only
1 Like

Do we need to set the jetson board to recovery before creating image for QSPI ?
Ideally, we want to create the final image in an offline mode without the board to be in recovery mode.

Are these commands equivalent to create QSPI images ?

sudo ./tools/kernel_flash/l4t_initrd_flash.sh -p "-c bootloader/t186ref/cfg/flash_l4t_t194_qspi_p3668.xml" --showlogs --no-flash jetson-xavier-nx-devkit-emmc internal
        
 & 

sudo ./tools/kernel_flash/l4t_initrd_flash.sh  --showlogs --no-flash jetson-xavier-nx-devkit-qspi internal

We tried both of these versions to create QSPI images and then ran the below command to create the final image with Disk encryption:

 sudo ADDITIONAL_DTB_OVERLAY_OPT="BootOrderNvme.dtbo" ROOTFS_ENC=1 BOARDID=3668 FAB=301 BOARDSKU=0001 BOARDREV=E.0 ./tools/kernel_flash/l4t_initrd_flash.sh -u $ROOT_DIR/keys/key.pem -v $ROOT_DIR/keys/sd/sbk_key.txt  -p "-i ./ekb.key" --external-device nvme0n1p1 -c ./tools/kernel_flash/flash_l4t_nvme_rootfs_enc.xml -S 40GiB --no-flash --massflash 8 --external-only --append --showlogs jetson-xavier-nx-devkit-emmc nvme0n1p1

This created a MASSFLASH image successfully, when we flashed this image to the Jetson board, the flashing is successfull and it gave no errors.

However, after flashing the board continues to be in RECOVERY Mode. 0955:7e19 and the board doesn’t boot up.

Do you know why the board doesn’t boot up after flashing ? Are we doing something wrong ?

Thanks in advance !

Regards

If the original issue for this topic has been solved, please file a new topic for other issues you encounter

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.