准备工作:
- 一台装有 Ubuntu 64位操作系统的主机:由于 JetPack 是先在主机上下载并安装相关的包,然后刷到 TX 1上,所以需要一台主机。本人在14.04上测试没有问题,其它系统没有测试(最好是新装的ubuntu 14.04系统,安装时选择不安装更新和第三方软件)。
- 一根网线:连接 TX 1 与路由器
- 显示器,键鼠 等
1. 下载 JetPack 2.3
在主机上通过 Nvidia官网下载 JetPack 2.3,并新建一个文件夹存放下载下来的文件,文件名大概为JetPack-L4T-2.3-Linux-x64.run
在/home/usrname/目录下新建文件夹,可以命名为 JetPack :
cd ~
mkdir JetPack
cp ~/Downloads/JetPack-L4T-2.3-linux-x64.run ~/JetPack
2. 安装 JetPack 2.3
2.1 为 JetPack-L4T-2.3-linux-x64.run
增加执行权限
cd ~/JetPack
chmod +x JetPack-L4T-2.3-linux-x64.run
2.2 执行 JetPack-L4T-2.3-linux-x64.run
,点击Next
./JetPack-L4T-2.3-linux-x64.run
2.3 指明安装路径后选择部署的开发平台
此处我们选择 Jetson TX1,同样也支持 TK 1的部署
2.4 弹出 JetPack L4T Component Manager 对话框
由于我已经安装好了所有的包,所以这边的Action
一栏是no action
,如果没有安装过的话,会显示install xxx
。
这里点击Next
后,接受所有的申明,就开始了漫长的下载与安装…(我一开始大概等了4个小时,后来发现使用科大校园网8号教育网速度超级快,可以大大节省时间)
这里大家可以选择不安装OpenCV for Tegra,因为这个版本是2.4.13,对于USB摄像头的读取支持不是很好,另外对于CUDA静态库的读取也有些问题,所以不推荐安装(经测试,若打算使用opencv打开tx1自带摄像头的话,这里还是需要装上opencv for tegra的),稍后会提示大家安装 OpenCV 3.1
2.5 网络配置和端口选择
安装完成后进入网络配置选项,选择通过路由器连接互联网,同时将TX1连接到与主机同一个路由器上
选择eth0
端口(选择eth0意味着要使用网线连接网络,这样速度快点,如果想使用无线网的话,选用无线端口就行了),点击Next
2.6 设置 TX 1 为 Force USB Recovery Mode (强制USB恢复模式)
弹出如图所示终端窗口:
按照提示,将TX1设置为强制USB恢复模式
- 关闭设备,移除电源适配器
- 用自带的Micro USB 转 USB 数据线连接主机与TX1
- 连接电源适配器
- 按下
POWER
按钮 - 按住
FORCE RECOVERY
按钮不放开,同时按一下RESET
按钮,等待两秒钟,松开FORCE RECOVERY
按钮
完成上述步骤后,可以在主机上通过 lsusb
命令查看是否含有Nvidia Corp
设备,确认存在后敲击Enter
,开始将操作系统以及开发包拷贝到TX1,中途连接TX1的显示器会显示Ubuntu 16.04 桌面系统
待安装部署完成后,在主机上退出 JetPack L4T 即可,这样就完成了 JetPack 2.3 的配置
2.7 运行示例
我们可以在TX1上运行几个示例,验证下 CUDA 8.0 是否安装成功
./NVIDIA_CUDA-8.0_Samples/bin/aarch64/linux/release/smokeParticles
配置 OpenCV 3.1
OpenCV 3.1 是目前较为稳定的版本,因此推荐大家在TX1上安装OpenCV 3.1
1. 下载 OpenCV 3.1
下载 opencv3.1
2. 安装依赖库
sudo apt-add-repository universe
sudo apt-get update
sudo apt-get install -y build-essential make cmake cmake-curses-gui g++
sudo apt-get install -y libavformat-dev libavutil-dev libswscale-dev
sudo apt-get install -y libv4l-dev libeigen3-dev libglew1.6-dev libgtk2.0-dev
3. 编译安装OpenCV 3.1
cd ~
unzip opencv-3.1.0.zip
cd opencv-3.1.0
mkdir build
cd build
此时需要修改OpenCV源码,使其不编译graphcuts.cpp
即可
进入opencv-3.1.0/modules/cudalegacy/src/
目录,修改graphcuts.cpp文件,将:
#include "precomp.hpp"
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)
修改为
#include "precomp.hpp"
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION >= 8000)
继续编译!
cmake -DWITH_CUDA=ON -DCUDA_ARCH_BIN="5.3" -DCUDA_ARCH_PTX="" -DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=OFF -DCUDA_FAST_MATH=ON ..sudo make -j4 install
编译好的OpenCV库会默认安装到 /usr/local/
文件夹下
至此,tx1 上刷机与安装cuda等已经全部Ok!