JETSON TK1 ~ 刷機和克隆韌體
阿新 • • 發佈:2019-01-07
1:PC端的ubuntu。
要求必須是正常系統,不可以使用虛擬機器。由於燒寫過程採用刷機模式,虛擬機器刷機易導致刷機問題。
2:驅動包、檔案系統和原始碼下載
3:編譯原始碼
以下步驟在主機中完成,不在開發板
//交叉編譯工具 cross-complier sudo apt-get install gcc-arm-linux-gnueabihf build-essential //<L4T_version>代表版本,本版本是R21.5,下同 sudo tar -xjf Tegra124_Linux_R<L4T_version>_armhf.tbz2 cd Linux_for_Tegra/rootfs sudo tar -xjpf <path_to>/Tegra_Linux_Sample-Root-Filesystem_R<L4T_version>_armhf.tbz2 cd .. export LDK_ROOTFS_DIR=<absolute path to Linux_for_Tegra>/rootfs sudo ./apply_binaries.sh tar -xjf <path_to>/kernel_src.tbz2 cd kernel/ //配置.config檔案 ARCH=arm make tegra12_defconfig<br>//安裝ncurses-devel<br>sudo apt-get install ncurses-dev //交叉編譯,make menuconfig方式編譯linux核心 ARCH=arm make menuconfig //在選單中找到所需的驅動,可以已modules或者build-in方式編譯 //Device Drivers->Usb serials convertion->usbserials support && usbserials && //cp201x,ftdi,pl2303 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make zImage ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make modules ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make modules_install INSTALL_MOD_PATH=$LDK_ROOTFS_DIR cp arch/arm/boot/zImage $LDK_ROOTFS_DIR/boot cp arch/arm/boot/zImage <path_to>/Linux_for_Tegra/kernel/zImage //flash.sh 燒錄 sudo ./flash.sh jetson-tk1 mmcblk0p1
4:操作步驟
1.將映象提供板用micro USB線與PC相連,將板子調整為recovery模式。連線後,在PC上終端中輸入“lsusb”,若檢視到0955:7140 Nvidia Corp,即表示裝置與PC連線成功。
2.在終端中進入BootLoader所在路徑,即<資料夾路徑>/Linux_for_Tegra/bootloader/
3.在該路徑下,執行以下指令
sudo ./nvflash --read APP clone.img --bl ardbeg/fastboot.bin --go
該指令為讀取映象版的映象並儲存為一個名為clone.img的映象檔案。一般大小為15G,在我的電腦上執行完該指令,大概需要耗費30分鐘。
4.修改clone.img的許可權,執行以下指令
sudo chmod 744 clone.img
5.將儲存的clone.img覆蓋原有的映象,執行以下指令,該指令執行會耗費幾分鐘。
sudo cp clone.img system.img
6.給映象板斷電並斷開與PC的USB連線,然後將被燒寫的板子,像之前一樣,與PC進行USB連線並進入recovery模式。
7.確認連線後,在終端進入<資料夾路徑>/Linux_for_Tegra/路徑,執行以下指令
sudo ./flash.sh -r -S 14580MiB jetson-tk1 mmcblk0p1
即為正常的刷機指令,會耗費大概20分鐘左右。刷機成功後,系統會自動重啟。