TX2刷机和软件安装过程记录
文章目錄
- 準備
- 使用SDKmanager刷機
- 手動安裝SDK
- SSD啟動
- 1. 格式化已安裝的 SSD
- 2. 從SD卡復制到SSD
- 3. 啟用從 SSD 啟動
- 換源
- 1. 備份
- 2. 刪除或注釋sources.list中的所有內容,將下面的內容復制進去
- 3. 保存
- 查看一些信息
- 1.查看cuda的版本
- 2.查看cudnn的版本
- 3.查看opencv的版本
- 4.查看TensorRT的版本
- 5.查看系統版本
- 6.查看正在運行的進程
- 一些軟件的安裝
- 1.安裝todesk遠程軟件
- 2.裝jtop查詢系統工具
- 修改默認python、pip版本
- 1. 修改python版本
- 2.修改pip版本
- 一些軟件的安裝
- 1. torch & torchvision的安裝
- 2.archiconda的安裝
- 3.TensorRT的安裝
- 4.安裝中文輸入法
- 5.安裝ROS
- 1.更換源
- 2.設置最新的密鑰
- 3、安裝:
- 4、初始化ROS
- 5、安裝rosinstall
- 6、添加ros環境變量
- 7、測試
- 6. 安裝pycharm
- 1. 下載Pycharm
- 2.解決這個問題的方法:
- 7.安裝DeepStream
- 部署yolov5(使用TensorRT)
- TensorRT加速
- 安裝pycharm
- 1. 下載Pycharm
- 2.解決這個問題的方法:
準備
使用SDKmanager刷機
注意 如果使用虛擬機需要分配較大的硬盤空間,起碼得40GB,最好能有100G這個樣子,否則空間不足也會失敗
可以輸入lsusb 看看有沒有英偉達的設備,確保板子連上
7. 底下的第一個I accept…要勾上,第二個Downloader now and install later第一次也建議勾上,意思是先下載,不安裝。待會下載完了可以一起安裝。如果是邊下載變安裝,網速不好很容易出問題
不慌,這個是鏡像已經燒寫好了,可以進入系統了,后面是安裝SDK軟件的部分。我們先登錄系統,設置用戶和密碼
之后在TX2上設置開啟SSH服務
如果ps -e | grep ssh當中有sshd則表示正常
可以通過ifconfig或者 ip addr查看ip地址
在主機上輸入賬號和密碼一般就可以連接了
確保主機和TX2在同一個局域網絡下
我的虛擬機配置如下,建議使用橋接模式而不是NAT模式
然后耐心等待他自己安裝,有可能不能成功,多試幾次
我在最后一步的Deepstream出錯了,查看日志,認為是內存不夠的問題,這個SDK暫時不是很重要,后面自己裝一下
在使用SDKmanager中有問題可以參考官方的說明
我遇到的問題:
1、Default ip is not avaliable. Please make sure the default ip is shown in ip addr, or use a customer ip instead.
ip默認是192.168.55.1,我第一次刷機是直接可以連上的,第二次就報了這個錯誤,我換了一個ip192.168.3.141就可以了
2、flash 1%的時候就會error, 提示板子狀態不對,不在恢復模式之類的話(我確定是在恢復模式),多試幾次,可能試一次就好了,也有可能試很多很多次(啥也沒動,不知道為什么,玄學)
手動安裝SDK
雖然英偉達提供的工具傻瓜式操作,十分好用(也不好用,十分容易出錯),但實際難免會遇到正常刷機不了的。英偉達提供了其他的安裝方法https://docs.nvidia.com/jetson/jetpack/install-jetpack/index.html
刷完機是裸系統的話,可以讓板子在線安裝(我沒試過)
我第一次也沒有安裝成功,自己手動安裝了cuda,cudnn,pytorch,tersonRT等。后面可能會介紹一些安裝的方法。
SSD啟動
我們TX2的板子上裝了一塊128GB的固態硬盤,十分實用,下面介紹如何將SSD設為第一啟動項
1. 格式化已安裝的 SSD
打開DISK
點右上角的三條橫線按鈕
之后Fromat
點底下的加號
留16GB的交換空間
之后create,就成功創建卷
2. 從SD卡復制到SSD
git clone https://github.com/jetsonhacks/rootOnNVMe.git cd rootOnNVMe ./copy-rootfs-ssd.sh如果執行了這個腳本卻沒有反映,一般是權限不夠,給它權限就好了,就像這樣
chmod +x copy-rootfs-ssd.sh3. 啟用從 SSD 啟動
./setup-service.sh之后重新啟動,就可以看到TX2的內存有100多G了
換源
TX2的軟件源為國外服務器,網速會很慢,需要換國內的ARM源(記得是ARM的)
1. 備份
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak #先備份原文件sources.list sudo vim /etc/apt/sources.list #sudo打開sources.list2. 刪除或注釋sources.list中的所有內容,將下面的內容復制進去
清華源
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-updates main restricted universe multiverse deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-updates main restricted universe multiverse deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-security main restricted universe multiverse deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-security main restricted universe multiverse deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-backports main restricted universe multiverse deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-backports main restricted universe multiverse deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial main universe restricted deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial main universe restricted科大源:
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-updates main restricted universe multiverse deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-updates main restricted universe multiverse deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-security main restricted universe multiverse deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-security main restricted universe multiverse deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-backports main restricted universe multiverse deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-backports main restricted universe multiverse deb htp://mirrors.ustc.edu.cn/ubuntu-ports/ xenial main universe restricted deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial main universe restricted3. 保存
sudo apt-get update sudo apt-get upgrade查看一些信息
1.查看cuda的版本
nvcc -V # 或者nvcc --version2.查看cudnn的版本
網上的那些一般輸進去沒有反應,仔細考慮過覺得這樣才是正確的
cat /usr/include/cudnn_version.h | grep CUDNN_MAJOR -A 23.查看opencv的版本
pkg-config --modversion opencv一開始不能查看opencv版本,原因是由于沒有找到opencv.pc,而jetpack4.4+刷機刷的opencv是opencv4
將/usr/lib/aarch64-linux-gnu/pkgconfig中的opencv4.pc,復制到/usr/lib/pkgconfig下,并改名為opencv.pc就可以了。
默認是4.1.1
4.查看TensorRT的版本
dpkg -l | grep TensorRT5.查看系統版本
cat /etc/lsb-release6.查看正在運行的進程
top一些軟件的安裝
1.安裝todesk遠程軟件
sudo dpkg -i todesk_x.x.x_aarch64.deb2.裝jtop查詢系統工具
sudo -H python3 -m pip install jetson-stats修改默認python、pip版本
1. 修改python版本
默認板子刷機后是自帶python為2.7和python3.6.9解析器的(使用python3 -V可以查到),但默認是python2.7 ,如果需要python3.6.9,需使用下面命令調用python3.6版本
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100 sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150 sudo update-alternatives --config python2.修改pip版本
sudo apt-get install python3-pip一些軟件的安裝
1. torch & torchvision的安裝
此處參考官方教程 里面內容十分詳盡
本人是下載使用了官方提供的torch-1.8.0-cp36-cp36m-linux_aarch64.whl包
pytorch應該就被安裝好了,安裝torchvision的話要注意對應pytorch的版本!
sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev git clone --branch v0.9.0 https://github.com/pytorch/vision # 從github上下載對應版本的 python3 setup.py install --user # 在下載下來的文件夾下運行安裝程序,編譯過程會比較慢,耐心等一下我遇到的問題:
報這樣的錯誤:
網上找來找去也沒有人提到,最后在論壇找到了方法,希望以后遇到這個問題的人不會像我一樣煎熬
sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev # 不行的話試一下 $ sudo mv /usr/bin/ffmpeg /usr/bin/ffmpeg_backup2.archiconda的安裝
本人現在是不使用conda的,但之前裝過,記錄一下
TX2無法使用anaconda,有大佬編譯了archiconda,這東西就是anaconda的aarch64的版本。我用這個進行虛擬環境的安裝。
直接到https://github.com/Archiconda/build-tools/releases下載.sh文件
然后到你下載文件的地址
sh 你的sh文件
之后點yes,安裝完畢。安裝中間有叫你選擇目錄,如果不喜歡它默認的可以換。
archiconda的使用和普通的anaconda沒有什么區別
如果你在虛擬環境里面使用pytorch,請務必建立python3.6的環境
3.TensorRT的安裝
刷機過后會自帶TensorRT,下面記錄自己之前自行安裝的方法。僅記錄自己用tar安裝tensorRT的流程,對于DEV版本等的安裝,請移步其他博客。
參看cuda,cudnn的版本后挑選TensorRT版本(千萬不要不符合,不然很麻煩,可能我當時第一次選的不對報了一些奇怪的錯誤,換了版本就好了)
下面的指令是copy其他博主的
4.安裝中文輸入法
sudo apt install fcitx fcitx-googlepinyin fcitx-table-wbpy fcitx-pinyin fcitx-sunpinyin在語言設置選項里(langugae support)選擇fcitx。
重啟電腦,在Fcitx configuration里配置下就好了。
5.安裝ROS
1.更換源
我用的是自帶的源
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'如果需要換源的話可以參考這一篇
2.設置最新的密鑰
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C6543、安裝:
sudo apt-get update sudo apt-get install ros-melodic-desktop-full sudo apt-get install ros-melodic-rqt*4、初始化ROS
sudo apt install python-rosdep sudo rosdep init rosdep update如果出現下面情況,基本是網絡問題,換個網絡嘗試下
ubuntu@ubuntu-d:~$ sudo rosdep init ERROR: cannot download default sources list from: https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list Website may be down.或修改hosts Ubuntu直接在終端輸入
sudo gedit /etc/hosts添加以下內容保存即可
151.101.84.133 raw.githubusercontent.com這個解決方法來自這里
如果不行試試這個
或者這個
其實我后來依舊出問題
沒辦法,買代理吧
如果出現下面情況,是python版本問題,換到python2就可以了
home/rm/.local/lib/python3.6/site-packages/pkg_resources/init.py:119:
解決:
sudo update-alternatives --config python 有 2 個候選項可用于替換 python (提供 /usr/bin/python)。選擇 路徑 優先級 狀態 ------------------------------------------------------------ * 0 /usr/bin/python3 150 自動模式1 /usr/bin/python2 100 手動模式2 /usr/bin/python3 150 手動模式要維持當前值[*]請按<回車鍵>,或者鍵入選擇的編號:1 update-alternatives: 使用 /usr/bin/python2 來在手動模式中提供 /usr/bin/python (python)重新進行初始化等步驟又可以了
sudo rosdep init Wrote /etc/ros/rosdep/sources.list.d/20-default.list Recommended: please runrosdep update5、安裝rosinstall
sudo apt-get install python-rosinstall6、添加ros環境變量
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc source ~/.bashrc完成了
7、測試
可以嘗試分別在三個終端下執行這三條命令
roscore rosrun turtlesim turtlesim_node rosrun turtlesim turtle_teleop_key成功的話,可以方向鍵操作小海龜,則ROS成功安裝。
6. 安裝pycharm
1. 下載Pycharm
(1)下載pycharm社區版,下載地址
(2)解壓下載文件到任意位置待用。可以使用tar -xf來進行解壓。
(3)cd到bin文件夾,運行./pycharm.sh,出現以下報錯。問題是缺少JDK環境。
2.解決這個問題的方法:
(1)輸入以下指令:(jetpack為4.5.1版本)
apt-cache search openjdk sudo apt-get install openjdk-11-jdk(2)等待完成后用下面指令檢查版本情況
java -version // 查看安裝結果 penjdk version "11.0.13" 2021-10-19 OpenJDK Runtime Environment (build 11.0.13+8-Ubuntu-0ubuntu1.18.04) OpenJDK 64-Bit Server VM (build 11.0.13+8-Ubuntu-0ubuntu1.18.04, mixed mode)(3)沒問題后進行環境變量配置
首先切換用戶到root
在末尾加入
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-arm64 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH source ~/.bashrc(4)運行Pycharm
進入剛剛解壓的pycharm/bin文件夾運行./pycharm.sh
7.安裝DeepStream
Deepstream的安裝可以參考官方教程
https://docs.nvidia.com/metropolis/deepstream/dev-guide/text/DS_Quickstart.html#jetson-setup
先安裝依賴
在官網Install the DeepStream SDK一欄
我選擇了Method 2的方法,原文如下:
Method 2: Using the DeepStream tar package: https://developer.nvidia.com/deepstream_sdk_v6.0.0_jetsontbz2
Download the DeepStream 6.0 Jetson tar package deepstream_sdk_v6.0.0_jetson.tbz2 to the Jetson device.
Enter the following commands to extract and install the DeepStream SDK:
我其實用的是v5.1.0 版本,下的是deepstream_sdk_v5.1.0_jetson.tbz2,操作是一樣的
安裝完成進入官方例程文件夾
部署yolov5(使用TensorRT)
到github上去下載源碼
git clone https://github.com/ultralytics/yolov5.git在yolov5項目下,右鍵打開終端,安裝依賴
我們已經安裝好了pytorch,torchvision,建議把這兩個注釋掉,以防命令行自動更新了
下載yolov5的權重,我用的是之前我自己訓練好的,需要改名為yolov5s.pt(不改名字就改代碼)
TensorRT加速
git clone https://github.com/wang-xinyu/tensorrtx.git具體編譯方法原作者有很詳細的說明
cd tensorrtx cp yolov5/gen_wts.py ~/yolov5 cd ~/yolov5 python gen_wts.py -w yolov5s.pt -o yolov5s.wts就得到了wts格式的文件
# 需要改一下CLASS NUM的值 cd ~/tensorrtx/yolov5 mkdir build && cd build mv ~/yolov5/yolov5s.wts ./ cmake .. make -j等出現這個就好了
[ 60%] Building CXX object CMakeFiles/yolov5.dir/calibrator.cpp.o [ 80%] Building CXX object CMakeFiles/yolov5.dir/yolov5.cpp.o [100%] Linking CXX executable yolov5 [100%] Built target yolov5表示編譯成功
./yolov5 -s yolov5s.wts yolov5s.engine s #生成engine文件需要一段時間等出現這個就好了
Loading weights: yolov5s.wts Building engine, please wait for a while... Build engine successfully!有了engine就可以調用了
測試一下
samples下面放需要測試的圖片
6ms 6ms會出現推理所用的時間,在build下面會出現推理后的結果
我遇到的問題
1、
不知道為什么,重新下載編譯了一遍工程就好了,可能文件缺失了吧,又是玄學
2、
編譯核心時出現問題
CALSS_NUM沒有改
未完待續。。
安裝pycharm
1. 下載Pycharm
(1)下載pycharm社區版,下載地址
(2)解壓下載文件到任意位置待用。可以使用tar -xf來進行解壓。
(3)cd到bin文件夾,運行./pycharm.sh,出現以下報錯。問題是缺少JDK環境。
2.解決這個問題的方法:
(1)輸入以下指令:(jetpack為4.5.1版本)
apt-cache search openjdk sudo apt-get install openjdk-11-jdk(2)等待完成后用下面指令檢查版本情況
java -version // 查看安裝結果 penjdk version "11.0.13" 2021-10-19 OpenJDK Runtime Environment (build 11.0.13+8-Ubuntu-0ubuntu1.18.04) OpenJDK 64-Bit Server VM (build 11.0.13+8-Ubuntu-0ubuntu1.18.04, mixed mode)(3)沒問題后進行環境變量配置
首先切換用戶到root
在末尾加入
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-arm64 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH source ~/.bashrc(4)運行Pycharm
進入剛剛解壓的pycharm/bin文件夾運行./pycharm.sh
總結
以上是生活随笔為你收集整理的TX2刷机和软件安装过程记录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 测评瑞萨RZ/G2L存储读写速度与网络
- 下一篇: 一致性哈希算法的原理与实现