本文主要分為三個(gè)部分
- Jetson TX2刷機(jī)流程
- Jetson TX2刷機(jī)后USB無(wú)法使用
- Jetson TX2上caffe安裝配置
- Jetson TX2系統(tǒng)鏡像與恢復(fù)
TX2刷機(jī)流程
刷機(jī)前準(zhǔn)備
- 帶有ubuntu16.04系統(tǒng)的電腦(用作主機(jī))丽啡。主機(jī)的剩余空間應(yīng)大于100G斤儿。
- 下載JetPack3.3
下載地址:https://developer.nvidia.com/embedded/jetpack
需要注冊(cè)NVIDIA賬號(hào), 登陸下載痊末。 - 如果下載文件出問(wèn)題,可以考慮換源
修改Ubuntu系統(tǒng)自帶的軟件源步驟如下:
- 把Ubuntu系統(tǒng)自帶的源修改為國(guó)內(nèi)的源,中科大源鏈接:https://mirrors.ustc.edu.cn/repogen/
- 備份Ubuntu自帶的源
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
- 將Ubuntu原有的源替換為國(guó)內(nèi)的源(清華,中科大,阿里云等多嘗試)
sudo gedit /etc/apt/sources.list
- 使更改生效
sudo apt-get update
JetPack3.3的安裝
- 進(jìn)入下載的JetPack包的文件夾,修改其權(quán)限
chmod +x ./JetPack-L4T-3.3-linux-x64_b39.run
- 安裝JetPack3.3
./JetPack-L4T-3.3-linux-x64_b39.run
出現(xiàn)下圖, 點(diǎn)擊Next。
-
出現(xiàn)以下頁(yè)面之后, 確定安裝路徑和下載路徑,默認(rèn)即可
2.png -
Next, 選擇Jetson TX2,Next。
3.png
-
選擇 “ full ”選項(xiàng)涡上,然后繼續(xù)點(diǎn)擊 Next出現(xiàn)如下的頁(yè)面
5.png -
全部選擇接受,繼續(xù)點(diǎn)擊Next拒名,出現(xiàn)如下的頁(yè)面
6.png -
下載完畢吓懈,繼續(xù)點(diǎn)擊 Next出現(xiàn)如下的界面
7.png -
繼續(xù)點(diǎn)擊 Next 出現(xiàn)如下的界面
8.png - 選擇上圖所示, 此時(shí)用一根網(wǎng)線將TX2和主機(jī)連入同一個(gè)路由器靡狞,并在主機(jī)上ping一下看能否ping通
ifconfig #在TX2上查看TX2IP
ping TX2的IP # 在主機(jī)上ping
-
一直Next
9.png
10.png - 此時(shí)耻警,將TX2斷電,并將TX2開(kāi)發(fā)板的 microUSB 和主機(jī)相連,然后再將TX2上電開(kāi)機(jī)甘穿,緊接著按下TX2的RECOVERY按鍵不松手腮恩,接著按下RESET按鍵并松手3秒后再松開(kāi)RECOVERY按鍵。一定要按順序來(lái)温兼。
- 重開(kāi)一個(gè)終端秸滴,輸入命令:lsusb,看是否出現(xiàn)有 “NVIDIA Corp”募判,如出現(xiàn)則說(shuō)明已成功進(jìn)入Recovery模式荡含。
-
當(dāng)成功進(jìn)入Recovery模式后, 我們便在如下的界面終端中按入 Enter 進(jìn)行后面的操作
11.png - 在13操作執(zhí)行完以后便開(kāi)始進(jìn)行刷機(jī)届垫,這期間就是等待
如果在等待的過(guò)程中遇到下面的坑释液,主機(jī)一直搜索TX2的IP地址,無(wú)法進(jìn)行下去装处。但是此時(shí)你主機(jī)和TX2卻是能相互ping通的误债。
12.png
解決方案參考TX2超詳細(xì),超實(shí)用刷機(jī)教程(親測(cè)有效妄迁,所有步驟都是博主親自實(shí)踐過(guò))
先別選 2 選項(xiàng)寝蹈,在TX2的系統(tǒng)上,我們進(jìn)入 home 文件下發(fā)現(xiàn)有 “ report_ip_ to_host.sh ”登淘,我們?cè)诮K端用權(quán)限打開(kāi)該文件箫老,并在文件里面寫(xiě)上主機(jī)的 IP 地址。然后在TX2的終端執(zhí)行如下的命令黔州,主機(jī)端執(zhí)行 Retry 即可解決上訴問(wèn)題耍鬓,接著執(zhí)行剩余的刷機(jī)工作。 - 緊接著在執(zhí)行過(guò)程中又會(huì)跳出如下的問(wèn)題辩撑,顯示不能在TX2上安裝cuda界斜,此時(shí)進(jìn)入TX2根據(jù)提示用sudo apt-get install進(jìn)行安裝, 缺什么裝什么, 安裝好了之后多按幾下Enter
sudo apt-get install cuda-toolkit-9-0 libgomp1 libfreeimage-dev libopenmpi-dev openmpi-bin
-
當(dāng)出現(xiàn)以下界面說(shuō)明已刷機(jī)成功
14.png - 關(guān)閉終端仿耽,不要移除已下載的文件合冀,以后刷機(jī)直接用,點(diǎn)擊 finish 完成退出项贺。
Jetson TX2刷機(jī)后USB無(wú)法使用
參考Jetson TX2刷機(jī)后USB無(wú)法使用 解決方案
在非公版TX2刷機(jī)后可能出現(xiàn)無(wú)法使用USB的問(wèn)題君躺,這是由于官方的底板上采用INA3221芯片做了電源監(jiān)控電路,只有確保5V電源達(dá)到要求的情況下才會(huì)使能USB口开缎。而新做的板子上將上述電路省略了棕叫,所以導(dǎo)致了USB口無(wú)法使用。解決辦法就是要給TX2更新設(shè)備樹(shù)奕删。
安裝Jetpack3.3
下載設(shè)備樹(shù)文件并安裝
將設(shè)備樹(shù)下載并解壓后放到
Jetpack3.3安裝路徑/64_TX2/Linux_for_Tegra/kernel/dtb/
確保新的設(shè)備樹(shù)的名字是tegra186-quill-p3310-1000-c03-00-base.dtb或者tegra186-quill-p3310-1000-a00-00-base.dtb俺泣。
設(shè)備樹(shù)燒寫(xiě)到TX2中
用USB線連接TX2上, 給TX2板上電,按電源鍵,之后按住REC鍵伏钠,同時(shí)按下RST鍵横漏,放開(kāi)RST鍵后過(guò)3秒再放REC鍵。則TX2進(jìn)入Recovery模式熟掂。在終端中進(jìn)入下面的路徑
…/64_TX2/Linux_for_Tegra
在此路徑下執(zhí)行
sudo ./flash.sh -r -k kernel-dtb jetson-tx2 mmcblk0p1
等一會(huì)出現(xiàn)successful后, USB口就可以正常工作缎浇。
Jetson TX2上caffe安裝配置
安裝caffe依賴
touch dependency.sh
gedit dependency.sh
./dependency.sh #需要先賦予讀寫(xiě)權(quán)限
將以下內(nèi)容復(fù)制到dependency.sh中
# general dependency
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
# BLAS dependency
sudo apt-get install libatlas-base-dev
# python dependency
sudo apt-get install python
sudo apt-get install python-dev
# python dependency etc.
sudo apt-get install python-numpy
sudo apt-get install ipython
sudo apt-get install ipython-notebook
sudo apt-get install python-sklearn
sudo apt-get install python-skimage
sudo apt-get install python-protobuf
# google dependency
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
從git上下載caffe源碼
sudo apt-get install git
git clone https://github.com/BVLC/caffe.git
根據(jù)配置需要修改配置文件。
在開(kāi)始編譯之前赴肚,需要進(jìn)入caffe目錄修改’Makefile.config’和’Makefile’兩個(gè)配置文件素跺。
- 備份Makefile.config文件
sudo cp Makefile.config Makefile.config.example
- 修改Makefile.config文件
1.使用CuDNN(取消USE_CUDNN := 1前的‘#’)
2.使用OpenCV v3(取消OPENCV_VERSION := 3前的‘#’)
3.由于使用的是CUDA9版本,按要求修改了代碼(刪除了CUDA_ARCH變量的前兩行誉券,具體可看配置文件里該變量的前幾行)指厌。
4.使用python接口(取消WITH_PYTHON_LAYER := 1變量前的’#’)
5.修改python路徑如下:
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial
- 修改Makefile文件:
將:
NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS)
替換為:
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
將:
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5
改為:
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_
編譯源碼
make -j4 #進(jìn)入caffe安裝目錄
make pycaffe
sudo gedit ~/.bashrc
#添加
export PYTHONPATH=~/caffe/python:$PYTHONPATH
# 使環(huán)境變量生效
source ~/.bashrc
Jetson TX2 系統(tǒng)備份與恢復(fù)
參考tx2系統(tǒng)備份與恢復(fù)
Ubuntu16.04 主機(jī)進(jìn)入已經(jīng)刷過(guò)TX2的,安裝Jetpack3.3的文件夾中
制作系統(tǒng)鏡像(包含TX2上所有文件)
1. cd ~/64_TX2/Linux_for_Tegra
2. 用刷機(jī)原裝NVIDIA USB線連上TX2,并進(jìn)入recovery模式(通電[必須先拔電]横朋,一直按住recovery鍵仑乌,不要松開(kāi)recovery鍵,再按一下reset鍵, 3秒后松開(kāi))
3. 終端下lsusb #查看是否出現(xiàn)Nvidia Corp
執(zhí)行以下命令從TX2下載鏡像
4. sudo ./flash.sh -r -k APP -G my_backup.img jetson-tx2 mmcblk0p1
大概要花30分鐘左右完成鏡像下載琴锭。
生成的備份文件my_backup.img 在~/64_TX2/Linux_for_Tegra/目錄下
以下步驟非必須
5. 分配權(quán)限晰甚,并壓縮保存:(這步可要可不要)
sudo chmod 744 my_backup.img
tar -zcvf my_backup.img.zip my_backup.img
6. 備份后也可以掛載到ubuntu下進(jìn)行相應(yīng)編輯,可以查看系統(tǒng)鏡像文件有沒(méi)有正確生成
sudo mount -o loop my_backup.img /mnt/
系統(tǒng)鏡像恢復(fù)
1. cd ~/64_TX2/Linux_for_Tegra #進(jìn)入主機(jī)的JetPack安裝目錄下Linux_for_Tegra_64目錄
2. sudo cp my_backup.img system.img #復(fù)制my_backup.img為system.img
3. cd ~/64_TX2/Linux_for_Tegra/bootloader
cp system.img system_bak.img.bak
#進(jìn)入主機(jī)的JetPack安裝目錄下bootloader目錄,刪除或者備份原來(lái)的system.img ,這里選擇備份
4. mv ../system.img ./ #移動(dòng)生成的新鏡像文件到bootloader目錄
5. 連上TX2决帖,并進(jìn)入recovery模式(通電[必須先拔電]厕九,一直按住recovery鍵3秒,不要松開(kāi)recovery鍵地回,再按一下reset鍵)
6. lsusb #檢查是否出現(xiàn)0955:7140 Nvidia Corp
7. cd ../
# 退出到上一層目錄扁远,使用flash.sh開(kāi)始燒錄
# 此時(shí)在~/64_TX2/Linux_for_Tegra/目錄下執(zhí)行下述命令
sudo ./flash.sh -r jetson-tx2 mmcblk0p1
等代完成即可。
鏡像恢復(fù)以后, 重新進(jìn)入恢復(fù)模式, 重新刷一下USB刻像。
# 記得更新dtb文件
cd …/64_TX2/Linux_for_Tegra
sudo ./flash.sh -r -k kernel-dtb jetson-tx2 mmcblk0p1
參考
TX2超詳細(xì)畅买,超實(shí)用刷機(jī)教程(親測(cè)有效,所有步驟都是博主親自實(shí)踐過(guò))
Jetson TX2 刷機(jī)教程(JetPack3.3版本)
tx2系統(tǒng)備份與恢復(fù)
Jetson TX2刷機(jī)后USB無(wú)法使用 解決方案
Jetson TX2學(xué)習(xí)筆記(二):caffe安裝配置