Jetson個(gè)平臺(tái)系統(tǒng)升級(jí)命令合集(含分區(qū)升級(jí))

如有錯(cuò)漏請(qǐng)指正,如轉(zhuǎn)載請(qǐng)注明出處,謝謝!

進(jìn)入刷機(jī)模式:

NVIDIA Jetson是通過Micro-USB/USB TYPE-C接口升級(jí)系統(tǒng)(具體參考不同載板說明),更新前需讓Jetson進(jìn)入Recovery 模式。Recovery 模式下可以進(jìn)行文件系統(tǒng)更新包含: 內(nèi)核Kernel,啟動(dòng)Bootloader,文件系統(tǒng)Filesystem等。
進(jìn)入 Recovery 模式的步驟:
1)關(guān)閉系統(tǒng)電源,請(qǐng)確保使電源關(guān)閉而不是進(jìn)入待機(jī)狀態(tài);
2)使用 Micro-USB(或USB TYPE-C)的鏈接線,一端鏈接Jetson一端連接Ubuntu Host主機(jī);
3)一般使用12/15V電源為系統(tǒng)進(jìn)行上電開機(jī);(看說明手冊(cè))
4)同時(shí)按下RESET復(fù)位鍵和RECOVERY 按鍵后,若非自動(dòng)啟動(dòng)的機(jī)器還需要按一下Power按鍵讓系統(tǒng)上電;
5)保持按下 RECOVERY 按鍵的同時(shí)釋放RESET復(fù)位按鍵,等待 2 秒釋放RECOVERY 按鍵,此時(shí)Jetson進(jìn)入Recovery刷機(jī)模式 (可通過在Ubuntu Host主機(jī)上運(yùn)行命令:lsusb 查看是否有Nvidia Corporation 設(shè)備(不同Jetson模塊USB VID/PID 不同)來確認(rèn)是否進(jìn)入正常)
注意:在進(jìn)入 USB Recovery 模式下,系統(tǒng)不會(huì)啟動(dòng),串口不會(huì)有調(diào)試信息輸出

Xavier 刷機(jī)命令:
系統(tǒng)鏡像生成并升級(jí)(把機(jī)器中的所有內(nèi)容擦除并刷機(jī),重新制作system.img)
$sudo ./flash.sh jetson-xavier mmcblk0p1 

系統(tǒng)完整升級(jí)但不生成system.img鏡像(把機(jī)器中的所有內(nèi)容擦除并刷機(jī))
$sudo ./flash.sh -r jetson-xavier mmcblk0p1 

更新DTB 設(shè)備樹(涉及外設(shè)驅(qū)動(dòng))
將新的DTB文件"tegra194-p2888-0001-p2822-0000.dtb"復(fù)制到目錄Linux_for_Tegra/kernel/dtb
$sudo ./flash.sh -r -k kernel-dtb jetson-xavier mmcblk0p1

更新內(nèi)核鏡像(kernel/Image 涉及外設(shè)驅(qū)動(dòng))
Xavier檢索內(nèi)核先判斷根目錄下/boot/Image 文件,此時(shí)只需要把新的內(nèi)核Image文件復(fù)制到 Xavier開機(jī)后的/boot/ 目錄后再重啟即可,通過uname -a 查看內(nèi)核信息如日期時(shí)間是否為更新的內(nèi)核
$sudo ./flash.sh -r -k kernel jetson-xavier mmcblk0p1

系統(tǒng)備份(備份Xavier機(jī)器中的系統(tǒng)及全部文件至當(dāng)前目錄的backup.img)
$sudo ./flash.sh -r -k APP -G backup.img jetson-xavier mmcblk0p1
如何恢復(fù)使用備份的鏡像:
1、上面步驟備份會(huì)生出兩個(gè)文件,把其中的backup.img.raw 重新命名到bootloader/system.img(軟件鏡像包含用戶空間的所有文件信息),backup.img 文件不被使用可以刪除掉
2、運(yùn)行命令重新升級(jí)機(jī)器:
$sudo ./flash.sh -r jetson-xavier mmcblk0p1 
Xavier NX:
系統(tǒng)鏡像生成并升級(jí)(把機(jī)器中的所有內(nèi)容擦除并刷機(jī),重新制作system.img)
$sudo ./flash.sh jetson-xavier-nx-devkit-emmc mmcblk0p1 

系統(tǒng)完整升級(jí)但不生成system.img鏡像(把機(jī)器中的所有內(nèi)容擦除并刷機(jī))
$sudo ./flash.sh -r jetson-xavier-nx-devkit-emmc mmcblk0p1 

更新DTB 設(shè)備樹(涉及外設(shè)驅(qū)動(dòng))
將新的DTB文件"tegra194-p3668-all-p3509-0000.dtb"復(fù)制到目錄Linux_for_Tegra/kernel/dtb
$sudo ./flash.sh -r -k kernel-dtb jetson-xavier-nx-devkit-emmc mmcblk0p1

更新內(nèi)核鏡像(kernel/Image 涉及外設(shè)驅(qū)動(dòng))
Xavier NX檢索內(nèi)核先判斷根目錄下/boot/Image 文件,此時(shí)只需要把新的內(nèi)核Image文件復(fù)制到 Xavier NX開機(jī)后的/boot/ 目錄后再重啟即可,通過uname -a 查看內(nèi)核信息如日期時(shí)間是否為更新的內(nèi)核
$sudo cp $PWD/Image /boot/ 
$sudo reboot

系統(tǒng)備份(備份Xavier NX機(jī)器中的系統(tǒng)及全部文件至當(dāng)前目錄的backup.img)
$sudo ./flash.sh -r -k APP -G backup.img jetson-xavier-nx-devkit-emmc mmcblk0p1

如何恢復(fù)使用備份的鏡像:
1、上面步驟備份會(huì)生出兩個(gè)文件,把其中的backup.img.raw 重新命名到bootloader/system.img(軟件鏡像包含用戶空間的所有文件信息),backup.img 文件不被使用可以刪除掉
2、運(yùn)行命令重新升級(jí)機(jī)器:
$sudo ./flash.sh -r jetson-xavier-nx-devkit-emmc mmcblk0p1 
TX2:
系統(tǒng)鏡像生成并升級(jí)(把機(jī)器中的所有內(nèi)容擦除并刷機(jī),重新制作system.img)
$sudo ./flash.sh jetson-tx2 mmcblk0p1 

系統(tǒng)完整升級(jí)但不生成system.img鏡像(把機(jī)器中的所有內(nèi)容擦除并刷機(jī))
$sudo ./flash.sh -r jetson-tx2 mmcblk0p1 

更新DTB 設(shè)備樹(涉及外設(shè)驅(qū)動(dòng))
將新的DTB文件"tegra186-quill-p3310-1000-c03-00-base.dtb"復(fù)制到目錄Linux_for_Tegra/kernel/dtb
$sudo ./flash.sh -r -k kernel-dtb jetson-tx2 mmcblk0p1

更新內(nèi)核鏡像(kernel/Image 涉及外設(shè)驅(qū)動(dòng))
TX2 檢索內(nèi)核先判斷根目錄下/boot/Image 文件,此時(shí)只需要把新的內(nèi)核Image文件復(fù)制到 TX2 開機(jī)后的/boot/ 目錄后再重啟即可,通過uname -a 查看內(nèi)核信息如日期時(shí)間是否為更新的內(nèi)核
$sudo cp $PWD/Image /boot/ 
$sudo reboot

系統(tǒng)備份(備份TX2機(jī)器中的系統(tǒng)及全部文件)
$sudo ./flash.sh -r -k APP -G backup.img jetson-tx2 mmcblk0p1

如何恢復(fù)使用備份的鏡像:
1、上面步驟備份會(huì)生出兩個(gè)文件,把其中的backup.img.raw 重新命名到bootloader/system.img(軟件鏡像包含用戶空間的所有文件信息),backup.img 文件不被使用可以刪除掉
2、運(yùn)行命令重新升級(jí)機(jī)器:
$sudo ./flash.sh -r jetson-tx2 mmcblk0p1 
TX1:
系統(tǒng)鏡像生成并升級(jí)(把機(jī)器中的所有內(nèi)容擦除并刷機(jī),重新制作system.img)
$sudo ./flash.sh jetson-tx1 mmcblk0p1 

系統(tǒng)完整升級(jí)但不生成system.img鏡像(把機(jī)器中的所有內(nèi)容擦除并刷機(jī))
$sudo ./flash.sh -r jetson-tx1 mmcblk0p1 

更新DTB 設(shè)備樹(涉及外設(shè)驅(qū)動(dòng))
將新的DTB文件"tegra210-jetson-tx1-p2597-2180-a01-devkit.dtb"復(fù)制到目錄Linux_for_Tegra/kernel/dtb
$sudo ./flash.sh -r -k kernel-dtb jetson-tx1 mmcblk0p1

更新內(nèi)核鏡像(kernel/Image 涉及外設(shè)驅(qū)動(dòng))
TX1檢索內(nèi)核先判斷根目錄下/boot/Image 文件,此時(shí)只需要把新的內(nèi)核Image文件復(fù)制到 TX1開機(jī)后的/boot/ 目錄后再重啟即可,通過uname -a 查看內(nèi)核信息如日期時(shí)間是否為更新的內(nèi)核
$sudo cp $PWD/Image /boot/ 
$sudo reboot

系統(tǒng)備份(備份TX2機(jī)器中的系統(tǒng)及全部文件)
$sudo ./flash.sh -r -k APP -G backup.img jetson-tx1 mmcblk0p1

如何恢復(fù)使用備份的鏡像:
1、上面步驟備份會(huì)生出兩個(gè)文件,把其中的backup.img.raw 重新命名到bootloader/system.img(軟件鏡像包含用戶空間的所有文件信息),backup.img 文件不被使用可以刪除掉
2、運(yùn)行命令重新升級(jí)機(jī)器:
$sudo ./flash.sh -r jetson-tx1 mmcblk0p1 
Nano:
系統(tǒng)鏡像生成并升級(jí)(把機(jī)器中的所有內(nèi)容擦除并刷機(jī),重新制作system.img)
$sudo ./flash.sh jetson-nano-emmc mmcblk0p1

系統(tǒng)完整升級(jí)但不生成system.img鏡像(把機(jī)器中的所有內(nèi)容擦除并刷機(jī))
$sudo ./flash.sh -r jetson-nano-emmc mmcblk0p1

更新DTB 設(shè)備樹(涉及外設(shè)驅(qū)動(dòng))
將新的DTB文件"tegra210-p3448-0002-p3449-0000-b00.dtb"復(fù)制到目錄Linux_for_Tegra/kernel/dtb
$sudo ./flash.sh -r -k kernel-dtb jetson-nano-emmc mmcblk0p1

更新內(nèi)核鏡像(kernel/Image 涉及外設(shè)驅(qū)動(dòng))
Nano檢索內(nèi)核先判斷根目錄下/boot/Image 文件,此時(shí)只需要把新的內(nèi)核Image文件復(fù)制到 Nano開機(jī)后的/boot/ 目錄后再重啟即可,通過uname -a 查看內(nèi)核信息如日期時(shí)間是否為更新的內(nèi)核$sudo cp $PWD/Image /boot/ 
$sudo reboot

更新U-Boot 分區(qū)(Linux_for_Tegra/bootloader/t210ref/p3450-porg/u-boot.bin)
$sudo ./flash.sh -k LNX jetson-nano-emmc mmcblk0p1

系統(tǒng)備份與其他平臺(tái)不同,按照下面的步驟操作

Nano 的恢復(fù)機(jī)制和其他平臺(tái)不同,需要按照如下方式:
備份步驟:

  1. Nano B01 開機(jī)進(jìn)入系統(tǒng),root運(yùn)行如下兩個(gè)命令,建立備份鏡像到HostPC端/home/twsrv01/Downloads/ (修改為自己的IP和對(duì)應(yīng)路徑)
$echo u > /proc/sysrq-trigger
$dd if=/dev/mmcblk0p1 | ssh twsrv01@192.168.1.195 dd of=/home/twsrv01/nano/jp43.raw
(30-60分鐘不等,依據(jù)機(jī)器內(nèi)系統(tǒng)實(shí)際大?。?
  1. 進(jìn)入HostPC (Ubuntu18.04),Nano L4T下載路徑,運(yùn)行如下命令:
twsrv01@twsrv01:~/nvidia/nvidia_sdk/JetPack_4.2.2_Linux_GA_P3448-0020/Linux_for_Tegra$cd bootloader
twsrv01@twsrv01:~/nvidia/nvidia_sdk/JetPack_4.2.2_Linux_GA_P3448-0020/Linux_for_Tegra/bootloader$ 
./mksparse -v --fillpattern=0 /home/twsrv01/nano/jp43.raw system.img 

恢復(fù)備份的鏡像步驟(即升級(jí)剛備份的system.img):

twsrv01@twsrv01:~/nvidia/nvidia_sdk/JetPack_4.2.2_Linux_GA_P3448-0020/Linux_for_Tegra$sudo ./flash.sh -r jetson-nano-emmc mmcblk0p1
  1. Nano重新開機(jī),核對(duì)相關(guān)文件信息是否一致確認(rèn)備份恢復(fù)成功與否

  2. 參考:Xavier 備份恢復(fù)https://www.elinux.org/Jetson/AGX_Xavier_Alternative_II_For_Cloning


參考文檔:
Flashing and Booting the Target Device

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容