Hi, KevinFFF
这次我听取您的建议,我从头开始操作一边:
1.我在host主机上把R32.6.1BSP中的flash_l4t_nvme.xml的num_sectors设置的为230686720,然后用:$ sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 -S 100GiB -c ./tools/kernel_flash/flash_l4t_nvme.xml --showlogs jetson-xavier-nx-devkit-emmc nvme0n1p1给NX模组+SSD重新刷机,刷机log如下:
flash_1-2_0_20230912-142303.log (71.6 KB)
2.在host主机上按照 Software Packages and the Update Mechanism — Jetson Linux Developer Guide documentation (nvidia.com)提示的步骤一步步做下来,最后生成ota_payload_package.tar.gz,在这个过程中,我把终端上的输出都记录下来了如下:
generate_ota_payload_procss.log (472.1 KB)
3.我在第1步刷机的R32.6.1的模组上执行ota升级,log如下:
ota_20230912-155943.log (9.5 KB)
4.重启设备,执行OTA过程的log如下:
ota_process_20230912.log (330.0 KB)
从ota_process_20230912.log最后的记录能看出emmc升级为R35.4.1,但是nvme0n1p1还是R32.6.1的版本。
[ 1.0790 ] End sector for APP, expected at: 122159070, actual: 0
Error: Return value 4
Command tegraparser_v2 --generategpt --pt flash.xml.bin
signed_dir=/home/uii/NX/OTA_35.4.1/Linux_for_Tegra/ota_base_dir_tmp/external_device/images-R35-ToT/3668-100--
grep: /home/uii/NX/OTA_35.4.1/Linux_for_Tegra/bootloader/signed/flash.idx: No such file or directory
在你從host電腦生成OTA package裡仍然出現異常log和你的sector設定有關
e]0;uii@uii-X11DAi-N: ~/NX/OTA_35.4.1/Linux_for_Tegraae[01;32muii@uii-X11DAi-Ne[00m:e[01;34m~/NX/OTA_35.4.1/Linux_for_Tegrae[00m$ sudo -E ./tools/ota_tools/versi
ion_upgrade/l4t_generate_ota_package.sh --external-device nvme0n1 -S 118GiB jetso
on-xavier-nx-devkit-emmc R32-6
e[Ae[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Cae[A./tools/ota_tools/version_upgrade/build_base_recovery_image.sh jetson-xavier-nx-devkit-emmc R32-6 ${BASE_BSP} ${BASE_BSP}/rootfs ${TARGET_BSP}e[Ae[A
e]0;uii@uii-X11DAi-N: ~/NX/OTA_35.4.1/Linux_for_Tegraae[01;32muii@uii-X11DAi-Ne[00m:e[01;34m~/NX/OTA_35.4.1/Linux_for_Tegrae[00m$ e[Ce[Ce[Ce[Ce[C-E ./tools/ota_tools/version_upgrade/l4t_generate_ota_package.sh --external-device nvme0n1 -S 118GiB jetsoe[7Pn-xavier-nx-devkit-emmc R32-6ae[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[K
e[Ke[Ae[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[K
e[Ke[Ae[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[K
e[Ke[Ae[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[K
e[Ke[Ae[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ce[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Ke[Kaaaaaaaaasudo -E ./tools/ota_tools/versi
ion_upgrade/l4t_generate_ota_package.sh --external-device nvme0n1 -S 100GiB jetso
on-xavier-nx-devkit-emmc R32-6
你這邊的log有些亂碼 我不確定為何你一開始還是用-S 118GiB,是複製後又中斷改為100GiB嗎?
請問你在~/NX/OTA_35.4.1/Linux_for_Tegra底下執行l4t_generate_ota_package.sh來生成OTA package前也有先將R35.4.1裡面tools/kernel_flash/flash_l4t_nvme.xml的num_sectors設為230686720嗎? (R35.4.1預設是num_sectors="NUM_SECTORS"
)
乱码是输入命令的时候改的,因为我把终端里的内容全部输出到一个文件里,键盘上每次退格键会显示乱码。R35.4.1BSP里面的num_sectors没有设为230686720,是默认的设置,是因为这个原因吗?
對,默認的NUM_SECTORS是122159104 (58.25GiB),因為指定ROOTFS SIZE為100GiB但你的XML裡只給這個partition 58.25GiB,造成產生不完整的OTA package
Hi,KevinFFF
首先表示感谢,根据您前面的建议我已经完成了R35.4.1BSP自带的rootfs的OTA升级,也成功完成了自定义的APP分区118G的rootfs的OTA升级,但是我安装了nvidia-jetpack之后根文件系统rootfs有16G,用这个rootfs替换BSP包中的rootfs之后在执行生成otapayload包的命令时会提示错误,我附上了一些操作步骤在下面ota_payload.log中,如下:
ota_payload.log (7.0 MB)
請問你指的是可以成功更新NVMe從R32.6.1至R35.4.1並且開完機後是從NVMe開機並作為rootfs嗎?
如果是,建議可將此次流程的完整log保存下來,以便日後有問題時可做比對debug
你安裝完nvidia-jetpack知後是如何將device內的rootfs打包以作為OTA update package裡的rootfs呢?
是的,可以成功更新NVME从R32.6.1至R35.4.1,并且开机是从NVME开机并作为rootfs。
我安装完nvidia-jetpack之后按照Flashing Support — Jetson Linux Developer Guide documentation
里的1-4步骤完成rootfs的克隆
,然后用 $ sudo -t ext4 -o loop system.img.raw /自己的OTA BSP路径/rootfs/,然后执行生成ota_payload包的命令,执行过程中会报错
挂载的/home/uii/NX/OTA_35.4.1/Linux_for_Tegra/bootloader/mnt最大只能14G吗?这个大小能
這看起來與clone/restore NVMe比較有關係
因目前已經可以完成Image-based OTA更新for NVMe
建議可以開另個topic討論如何clone/restore NVMe,並且附上你執行的每個步驟(command)及相關log
好的,谢谢
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.