1. 程式人生 > >Jetson TX1開發筆記(一):開機設定與刷機

Jetson TX1開發筆記(一):開機設定與刷機

轉載請註明作者和出處: http://blog.csdn.net/c406495762 
PC平臺(Host): 虛擬機器Ubuntu14.04 
嵌入式平臺(Target): Jeston TX1

一、開箱測試

    Jetson TX1是英偉達公司出的GPU開發板,擁有世界上先進的嵌入式視覺計算系統,提供高效能、新技術和極佳的開發平臺。雖然TX2已經出了,可以買到,但是為了穩妥起見,還是先買個TX1試試水,以後再升級吧。TX1的包裝還是蠻精緻的:

 

    先來張全家福吧,可以看到,Jetson TX1包含:一塊開發板、WIFI天線、電源介面卡(在指定淘寶買,缺少插座現,需要自己買)、Micro USB線(下載用的)、USB-OTG線。

 

    我們需要自己額外買的插座線,如下圖所示:

 

    除了這些,方便起見,還需要準備滑鼠、鍵盤、還有顯示器。據淘寶賣家說,顯示器需要是2K屏,並且使用HDMI訊號輸出,之前我用VGA轉HDMI的顯示器無法正常顯示。所以就又買了個大顯示器,感覺有點略奢侈,開機效果如下:

 

    開機之後,看到命令行了,倍感親切啊。系統啟動之後,需要登入作業系統,使用者名稱和密碼都是ubuntu,登入之後。需要按照提示,安裝介面顯示,命令如下:

cd ~/NVIDIA-INSTALL
sudo ./install.sh
sudo reboot now
  • 1
  • 2
  • 3

    重啟電腦之後,我們就可以看到ubuntu系統的UI介面了。Jetson TX1出廠時預設的系統以及附加包都比較老舊,部署最新的開發包可以充分利用硬體效能,有利於我們進行深度學習開發。因此我們需要進行刷機,刷上最新的Jetpack,筆者寫此筆記的時候,最新的Jetpack版本為Jetpack3.0。所以,我們就以Jetpack3.0的刷機為例,進行刷機講解。

二、開始刷機

    在刷機之前,我們首先需要準備好一個ubuntu主機,這個主機用來下載Jestpack,並且為開發部燒錄uboot、根檔案系統以及各種開發需要用到的開發包。所以在刷機之前,需要搭建一個ubuntu主機,官方推薦這個主機的版本為ubuntu14.04或者ubuntu16.04,博主使用的是虛擬機器ubuntu14.04。當然,使用pc機也是沒有問題的。

1.更新主機的源

    在安裝Jetpack之前,建議先更新下主機Ubuntu系統的源,這樣做,以便安裝Jetpack時候,依賴庫能夠順利安裝。使用指令如下:

sudo cp /etc/apt/sources.list /etc/apt/sources.list
.bak sudo vim /etc/apt/sources.list
  • 1
  • 2

    上面的複製操作是為了備份sources.list檔案,防止誤操作後無法回覆。將原來的內容使用”#”符號全部註釋掉,然後在檔案結尾出新增以下內容(我使用的阿里源,可視情況選擇):

deb http://mirrors.aliyun.com/ubuntu/ trusty main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main multiverse restricted universe
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

    使用wq儲存檔案後,使用如下命令進行更新:

sudo apt-get update
sudo apt-get upgrade
  • 1
  • 2

2.Jetpack3.0下載

    下載這個Jetpack3.0,需要用到英偉達帳號,如果沒有可以使用郵箱申請一個,然後再下載。下載好之後,在家目錄下新建一個Jetpack資料夾,把下載的檔案拷貝到這個資料夾下:

mkdir ~/Jetpack
cp ~/下載/JetPack-L4T-3.0-linux-x64.run ~/Jetpack
  • 1
  • 2

3.安裝Jetpack

    在執行檔案之前,需要給檔案賦予許可權,然後在執行,命令如下:

cd ~/Jetpack
sudo chmod +x JetPack-L4T-3.0-linux-x64.run
sudo ./JetPack-L4T-3.0-linux-x64.run
  • 1
  • 2
  • 3

    執行之後出現如下提示框,點選okay即可。

 

    隨後,我們將進入安裝介面,一路Next。

 

    可以看到安裝配置安裝目錄如下:

 

    在選擇開發環境的時候,我們選擇TX1的,如果手裡的開發板是TX2的,選擇TX2的即可。

 

    選擇完開發環境之後,我們就進入了component manager介面。繼續點選next,如下圖所示:

 

    隨後,需要同意各種條款,勾選Accept All,然後點選Accept。

 

    之後,我們就進入下載介面了,此時,是需要連網的。這裡,不得不吐槽一下,安裝這些東西花費了我5G多的流量,校園網需要花錢的我傷不起,肉疼啊。

 

    下載好安裝包之後,點選OK按鈕開始安裝:

 

    隨後,我們就開始進行安裝。此時,我們耐心等待,可以來杯咖啡壓壓驚:

 

    安裝完之後,點選Next,我們就可以進行下一步了,刷機:

 

4.刷機

    刷機之前,需要將主機和開發板的網線連線到一個路由器下,不曉得無線網是否可以,安全起見,選擇瞭如下模式:(隨後刷機的時候,就需要這樣連線)

 

    這裡,我們選擇預設網絡卡即可:

 

    點選Next,開始安裝:

 

    點選Next之後,會出現Post Installation介面。此時,我們就需要將開發板連線到電腦,準備刷機,步驟如下:

  • 斷開電源,保證開發板處於斷電關機狀態;

  • 用網線連到路由器上,也可插上滑鼠鍵盤;

  • 用Micro USB線把開發板連到電腦上(類似於安卓手機連電腦),如果使用的是虛擬機器主機,需要在虛擬機器-可移動裝置中找到英偉達裝置,然後選擇與虛擬機器連線,與主機斷開;

  • 接通AC電源,按下power鍵開機;

  • 長按rec鍵不鬆開,然後點按一下reset鍵,過2s以後,再鬆開rec鍵,此時開發板處於強制恢復模式。

    完成以上步驟後,我們還要檢查開發板有沒有和電腦正確連線,終端輸入lsusb 命令,可以看到一些列表,只要發現其中有Nvidia Corp就說明連線正確。我的檢查結果如下:

 

    可以看到NVidia Crop裝置連線正常。

    以上步驟確認無誤後,在post installation介面中敲一下enter,就開始了刷機過程,介面如下:

 

    安裝一會兒之後,會出現提示資訊,讓我們按RESET重啟TX1開發板。如果TX1重啟後出現了Ubuntu的GUI介面,說明系統已經安裝完成。接下來就需要安裝CUDA、OpenCV等元件。在按Enter繼續安裝之前,需要確保TX1已經連網外網,如果校園網需要登入閘道器這樣的,先將閘道器登入好再繼續,因為安裝元件的時候,需要安裝一些依賴庫,需要有外網的情況下才能進行。按Enter繼續後,會出現提示資訊,確定TX1的IP地址,手動輸入TX1的IP地址後,按回車繼續,稍等一會兒,會出現如下對話方塊:

 

    輸入Device IP Address,就是之前確定的IP地址,我的IP是219.216.***.***。User Name和Password,都是ubuntu。填寫完按Next繼續,一路Next之後再次進入Post Installation介面,進行安裝元件,此時使用SSH遠端服務,無需下載線。如下圖所示:

 

    安裝完之後,程式自動關閉Post Installation視窗,回到如下介面,點選Finish完成安裝。此時,系統和元件都已經安裝完成。

 

5.測試

    安裝系統和元件之後,我們可以進行簡單的測試,測試我們安裝的元件是否好用,以CUDA為例,進行測試。我們可以直接執行官方提供的Samples,例子儲存位置如下:

/home/ubuntu/NVIDIA_CUDA-<version>_Samples
  • 1

    進入如下目錄,並執行oceanFFT:

 

    執行結果如下,表明CUDA安裝成功:

 

6.個別元件安裝

    Jetpack的一個特性:可以不必刷機,單獨為Jetson裝置安裝任何元件。方法其實很簡單:

 

    類似上圖,Host-Ubuntu下面的東西是隻要在Ubuntu主機安裝過一次,就不用再安裝了。Target-Jeston TX1的是要往TX1安裝的元件。把File System and OS這個置為no action,那麼就是不刷作業系統,只是安裝下面的元件。根據需求,我們可以選擇我們想要的元件進行安裝,當然,要注意它們的依賴關係。選擇完畢就點Next,會出現如下介面:

 

    進行下一步之後,會出現填寫TX資訊的對話方塊:

 

    輸入Device IP Address,我的IP是219.216.***.***。可以在TX1終端使用ifconfig進行檢視。User Name和Password,都是ubuntu。

    接下來的步驟與之前一樣,進入Post Installation介面之後,耐心等待就好了,這裡使用的是SSH遠端服務,不用資料線,等待一會就安裝好了,注意安裝過程中儘量不要操作開發板。下圖就是剛剛開始拷貝CUDA元件的截圖: