1. 程式人生 > >JETSON TK1 ~ 刷機和克隆韌體

JETSON TK1 ~ 刷機和克隆韌體

1PC端的ubuntu
要求必須是正常系統,不可以使用虛擬機器。由於燒寫過程採用刷機模式,虛擬機器刷機易導致刷機問題。

2:驅動包、檔案系統和原始碼下載

1、Driver package(驅動包,相當於安裝程式)

2、Sample File System

3、Kernel sources

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分鐘左右。刷機成功後,系統會自動重啟。