最近在使用英伟达TX2,在环境配置方面反反复复花了不少时间,踩到了一些坑,做一个记录防止以后又要重装系统
准备- 数据线、键盘、鼠标、显示器少不掉(显示器要支持HDMI接口,我看网上说HDMI转VGA的会黑屏,没有试过)
- 有Ubuntu16或Ubuntu18的虚拟机,或电脑作为主机(Ubuntu20.04不行,因为我电脑就是,第一次装了没法用)
- 有网的环境,而且网速一定要好,我在实验室里网速一般,经常下载失败
- 打开准备的Ubuntu系统作为主机
注意 如果使用虚拟机需要分配较大的硬盘空间,起码得40GB,最好能有100G这个样子,否则空间不足也会失败 - 注册英伟达开发者账号https://developer.nvidia.com/
- 下载英伟达的SDKmanager(地址百度一下吧),安装,打开,登录
- TX2板子的第三根引脚和GND相连(进入恢复模式),上电,连主机
- Host Machine有的博客里面也点了,实际上不需要的,这个是给你电脑主机安装cuda之类的,如果没有这个需要,就不用勾上
可以输入lsusb 看看有没有英伟达的设备,确保板子连上
7. 底下的第一个I accept…要勾上,第二个Downloader now and install later第一次也建议勾上,意思是先下载,不安装。待会下载完了可以一起安装。如果是边下载变安装,网速不好很容易出问题 - 先会烧写jetson os(就是魔改过的Ubuntu18),烧写到要结束的时候,显示屏会自己亮起来,过一段时间会出现这样的提示
不慌,这个是镜像已经烧写好了,可以进入系统了,后面是安装SDK软件的部分。我们先登录系统,设置用户和密码
之后在TX2上设置开启SSH服务
ps -e | grep ssh # 查看有没有SSH服务 sudo apt-get install openssh-server sudo apt-get install openssh-client service ssh start # 开启服务
如果ps -e | grep ssh当中有sshd则表示正常
可以通过ifconfig或者 ip addr查看ip地址
在主机上输入账号和密码一般就可以连接了
确保主机和TX2在同一个局域网络下
我的虚拟机配置如下,建议使用桥接模式而不是NAT模式
7. 耐心等待他自己安装,有可能不能成功,多试几次
我在最后一步的Deepstream出错了,查看日志,认为是内存不够的问题,这个SDK暂时不是很重要,后面自己装一下
在使用SDKmanager中有问题可以参考官方的说明
虽然英伟达提供的工具傻瓜式操作,十分好用(也不好用),但实际难免会遇到正常刷机不了的。英伟达提供了其他的安装方法https://docs.nvidia.com/jetson/jetpack/install-jetpack/index.html
刷完机是裸系统的话,可以让板子在线安装(我没试过)
我第一次也没有安装成功,自己手动安装了cuda,cudnn,pytorch,tersonRT等。后面可能会介绍一些安装的方法。
我们TX2的板子上装了一块128GB的固态硬盘,十分实用,下面介绍如何将SSD设为第一启动项
1. 格式化已安装的 SSD打开DISK
点右上角的三条横线按钮
之后Fromat
点底下的加号
留16GB的交换空间
之后create,就成功创建卷
git clone https://github.com/jetsonhacks/rootOnNVMe.git cd rootonNVMe ./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就可以了。
cd /usr/lib/aarch64-linux-gnu/pkgconfig sudo cp 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



