吃水不忘挖井人,轉自參考鏈接
刷機前準備
1. Jetson TK1開發板。
2. 安裝有ubuntu系統的PC(或者ubuntu虛擬機)切記:不管是PC還是虛擬機,務必確保有大於5G的存儲空間,之後安裝過程會作詳細解釋。
3. 購買開發板時附贈的恢復線(其實就是大部分安卓手機的數據線)。
4. 刷機驅動:Tegra124_Linux_R21.4.0_armhf.tbz2(我理解爲刷機工具)可在以下網址獲取:
http://developer.download.nvidia.com/embedded/L4T/r21_Release_v4.0/Tegra124_Linux_R21.4.0_armhf.tbz25. 刷機固件:Tegra_Linux_Sample-Root-Filesystem_R21.4.0_armhf.tbz2
(我理解爲刷機包)可在以下網址獲取:
註釋:以上兩個網址獲取的刷機工具(64.8M)及刷機包(618M)是由英偉達官方提供。細心的讀者可能發現,本教程使用L4T 21.x的刷機工具及刷機包,刷完的系統是L4T 21.x的。所以,後面的CUDA及OpenCV的安裝,要做相應配套,後面會做詳細說明。
準備刷機
1. 在ubutun系統的pc上,確保刷機工具及刷機包在同一個文件夾下,cd到該目錄。
2. 解壓縮刷機工具:Tegra124_Linux_R21.4.0_armhf.tbz2,在終端執行命令:
sudo tar --numeric-owner -jxpfTegra124_Linux_R21.4.0_armhf.tbz2
3. ls查看,會發現多了一個文件夾linux_for_tegra,cd到該文件夾,再ls一下,找到rootfs文件夾,cd到該文件夾。
4. 解壓縮:Tegra_Linux_Sample-Root-Filesystem_R21.4.0_armhf.tbz2,終端命令如下:
sudo tar --numeric-owner -jxpf../../Tegra_Linux_Sample-Root-Filesystem_R21.4.0_armhf.tbz2
該命令將刷機包解壓到當前目錄,即rootfs文件夾下。解壓成功後,有興趣的可以ls查看一下該文件,會發現其結構就是ubuntu系統的根目錄。
5. 然後返回上一級文件夾,即linux_for_tegra文件下。執行安裝腳本,終端命令:
sudo ./apply_binaries.sh
注:此時,rootfs文件夾大小約爲1.9G(此大小,幾乎就是你刷機後的系統大小,),下載的刷機工具及刷機包約700M,刷機過程中還需要使用磁盤空間。這也是爲什麼之前強調務必確保有大於5G的存儲空間的原因,如果磁盤間不足,刷機會失敗。
開發刷機
把刷機線,USB端插到ubuntu PC上,小頭插到TK1上,也就是耳機口旁邊的口。
TK1上有三個按鈕,最左邊的是電源,中間的是reset,最右邊的是force recoverry,按住最右邊的force recoverry 按鈕別鬆手,再按一下中間的reset鍵,指示燈會閃一下,板子就重啓進入了刷機模式。
lsusb
Bus 002 Device 004: ID 0955:7140 NVidia Corp.
如果是用虛擬機刷機,請務必確保USB已經連接,如VMware 菜單-虛擬機-可移動設備-(找到TK1設備)-連接)。
然後在ubuntu PC上,當前目錄,即linux_for_tegra目錄下,執行終端命令:
sudo ./flash.sh -S 14GiB jetson-tk1 mmcblk0p1
這個時候ubuntu上會彈出一個設備,就是tk1了,然後就會進入刷機過程,若干小時後,最後成功了的話,會出現success字樣。這時重啓TK1開發板,就發現這板子已經成功被初始化了。
註釋:14GiB是表示開發板磁盤的空間。TK1開發板實際的磁盤空間大於14GiB。本人嘗試過配置15GiB,最終因磁盤空間不足,刷機失敗。初始化時系統佔用磁盤爲2.4G,也就是刷機過程拷貝到板子上的數據大約是2.4G 。