如有錯(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)不同,需要按照如下方式:
備份步驟:
- 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í)際大?。?
- 進(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
Nano重新開機(jī),核對(duì)相關(guān)文件信息是否一致確認(rèn)備份恢復(fù)成功與否
參考:Xavier 備份恢復(fù)https://www.elinux.org/Jetson/AGX_Xavier_Alternative_II_For_Cloning