What’s the exact size of your NVMe SSD
and golden system.img.raw
?
120GB
$ lsblk -b
nvme0n1 259:0 0 128035676160 0 disk
├─nvme0n1p1 259:1 0 126662262784 0 part /
├─nvme0n1p2 259:2 0 134217728 0 part
├─nvme0n1p3 259:3 0 786432 0 part
├─nvme0n1p4 259:4 0 33161216 0 part
├─nvme0n1p5 259:5 0 134217728 0 part
├─nvme0n1p6 259:6 0 786432 0 part
├─nvme0n1p7 259:7 0 33161216 0 part
├─nvme0n1p8 259:8 0 83886080 0 part
├─nvme0n1p9 259:9 0 524288 0 part
├─nvme0n1p10 259:10 0 314572800 0 part
├─nvme0n1p11 259:11 0 67108864 0 part
├─nvme0n1p12 259:12 0 83886080 0 part
├─nvme0n1p13 259:13 0 524288 0 part
├─nvme0n1p14 259:14 0 67108864 0 part
└─nvme0n1p15 259:15 0 419430400 0 part
golden image size
$ ls -lLh bootloader/system.img*
-rwxr-xr-x 1 root root 31G Jan 22 06:05 bootloader/system.img
-rw-r--r-- 1 root root 118G Jan 16 11:35 bootloader/system.img.raw
$ ls -lL bootloader/system.img*
-rwxr-xr-x 1 root root 32274247412 Jan 22 06:05 bootloader/system.img
-rw-r--r-- 1 root root 126473994240 Jan 16 11:35 bootloader/system.img.raw
num_sectors=“419430400”
That means 200GiB? we set it more so after we can overwrite it by -S 118GiB
?
After this change, command start working
$ sudo ./tools/ota_tools/version_upgrade/l4t_generate_ota_package.sh -s --external-device nvme0n1 -S 118GiB recomputer-orin-j401 R35-5
But then crashed BUP generation, changed file l4t_generate_ota_package.sh:1110
function generate_BUP()
{
...
# from
# local __board_spec_file=/tmp/board_spec_file
# local __board_spec_entry="tmp_board_spec"
# construct_board_spec_entry "${suffix}" "${__board_spec_entry}" "${__board_spec_file}"
# to
local __board_spec_file="${TARGET_BSP}/tools/ota_tools/version_upgrade/ota_board_specs.conf"
local __board_spec_entry="jetson_orin_nano_devkit_ota_emmc_r35_r36_spec"
...
}
After this fix, ota package was generated, while triggered on device was an error:
The board name in OTA package(recomputer-orin-j401) does not match current board(p3509-a02+p3767-0000)
Real board name are p3509-a02+p3767-0000
and recomputer-orin-j401
just an alias? as inside recomputer-orin-j401.conf
source "${LDK_DIR}/p3768-0000-p3767-0000-a0.conf";
update_flash_args_p3768_0000_p3767_0000()
{
if [ "${board_sku}" = "0004" ]; then
DTB_FILE=tegra234-j401-p3768-0000+p3767-0004-recomputer.dtb;
elif [ "${board_sku}" = "0003" ]; then
DTB_FILE=tegra234-j401-p3768-0000+p3767-0003-recomputer.dtb;
elif [ "${board_sku}" = "0000" ]; then
DTB_FILE=tegra234-j401-p3768-0000+p3767-0000-recomputer.dtb;
elif [ "${board_sku}" = "0001" ]; then
DTB_FILE=tegra234-j401-p3768-0000+p3767-0001-recomputer.dtb;
else
echo "Error: Unrecognized module SKU ${board_sku}";
exit 1;
fi
TBCDTB_FILE="${DTB_FILE}";
}
I ignored board name mismatch, is that ok?
After OTA triggered and device reboot, device no longer responding, investigating