我的jetson tk1的系统是:LTR21.3,ubuntu14.04。本文仅仅是个人总结,亲测成功。
注意:如果你是使用校园网进行安装的话,有很多源是没办法访问的,安装的时候就会出现很多问题,所以,尽量使用外网,或者可以挂个VPN也可以。
首先,先设置好ubuntu的源:https://zhidao.baidu.com/question/1767307265343477300.html(设置成图片那样,全部打勾)。
然后,安装的过程中碰到依赖包(libxxx)无法安装的,可以尝试一下强制安装:
1 sudo apt-get install -f
根据官网的要求:http://wiki.ros.org/NvidiaJetsonTK1,在安装ros之前要安装:Grinch Kernel和CUDA和opencv4tegra
1.安装CUDA
在https://developer.nvidia.com/linux-tegra-r213下载CUDA 6.5 Toolkit for L4T Rel 21.3和OpenCV4Tegra for L4T 21.x ,注意要下对版本。如果你的是R21.5版本的,可以在https://developer.nvidia.com网中搜索jetson tk1,然后找Linux For Tegra R21.5对应的网页。
1 sudo dpkg -i cuda-xxxx 2 sudo apt-get install cuda-samples-6-5 3 sudo apt-get install cuda-toolkit-6-5
2.安装Grinch Kernel(注意下面这个博客的postflash,可以帮你优化你的系统)
http://www.jetsonhacks.com/2015/05/26/install-grinch-kernel-for-l4t-21-3-on-nvidia-jetson-tk1/
3.安装opencv4tegra
https://devtalk.nvidia.com/default/topic/835118/embedded-systems/incorrect-configuration-in-opencv4tegra-debian-packages-and-solution
http://elinux.org/Jetson/Installing_OpenCV(安装下面的库文件),然后把opencv-2.4.9下载下来,按照教程测试一下安装的opencv是否可以工作
1 # Some general development libraries 2 sudo apt-get -y install build-essential make cmake cmake-curses-gui g++ 3 # libav video input/output development libraries 4 sudo apt-get -y install libavformat-dev libavutil-dev libswscale-dev 5 # Video4Linux camera development libraries 6 sudo apt-get -y install libv4l-dev 7 # Eigen3 math development libraries 8 sudo apt-get -y install libeigen3-dev 9 # OpenGL development libraries (to allow creating graphical windows) 10 sudo apt-get -y install libglew1.6-dev 11 # GTK development libraries (to allow creating graphical windows) 12 sudo apt-get -y install libgtk2.0-dev
4.安装ROS
http://wiki.ros.org/indigo/Installation/UbuntuARM
5.安装libfreenect2(下面这个博客是安装的全过程,其实完全可以全部参照这个wiki来进行)
https://github.com/OpenPTrack/open_ptrack/wiki/Jetson-TK1-Installation
wiki的后面有libfreenect2的安装过程和kinect2的ros包iai_kinect2的安装过程。
在安装iai_kinect2的过程中,Catkin的时候,出现了问题:缺少了libopencv_ts.2.4.8.so这个文件,我们之前已经安装opencv4tegra,但opencv4tegra和opencv-2.4.8是两个不同的东西:http://www.jetsonhacks.com/2015/06/14/ros-opencv-and-opencv4tegra-on-the-nvidia-jetson-tk1/
在jetson tk1中可以同时安装opencv4tegra和opencv-2.4.8:http://www.jetsonhacks.com/2017/04/05/build-opencv-nvidia-jetson-tx2/,这篇文章是tx2版本的,它的安装脚本是照着opencv官网写的,所以我们可以参照着官网改成tk1版本的安装脚本。http://docs.opencv.org/3.2.0/d6/d15/tutorial_building_tegra_cuda.html。
首先,前面那些必要库文件可以照抄,之后就是在官方的github上下载对应版本的opencv(只要把v3.2.0改成2.4.8就可以了),也可以直接在github上下载zip包,下载两个包opencv-2.4.8和opencv_extra.2.4.8。在branch那里的tag那里就可以选择对应的版本号了(这个快很多,opencv包真的是太大了,建议使用这个方法)
最重要的一步就是下面的cmke处的参数了:在官网中拉到后面可以看到jetson tk1的cmake参数。
$ cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_CXX_FLAGS=-Wa,-mimplicit-it=thumb -DBUILD_PNG=OFF -DBUILD_TIFF=OFF -DBUILD_TBB=OFF -DBUILD_JPEG=OFF -DBUILD_JASPER=OFF -DBUILD_ZLIB=OFF -DBUILD_EXAMPLES=ON -DBUILD_opencv_java=OFF -DBUILD_opencv_python2=ON -DBUILD_opencv_python3=OFF -DENABLE_NEON=ON -DWITH_OPENCL=OFF -DWITH_OPENMP=OFF -DWITH_FFMPEG=ON -DWITH_GSTREAMER=OFF -DWITH_GSTREAMER_0_10=OFF -DWITH_CUDA=ON -DWITH_GTK=ON -DWITH_VTK=OFF -DWITH_TBB=ON -DWITH_1394=OFF -DWITH_OPENEXR=OFF -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-6.5 -DCUDA_ARCH_BIN=3.2 -DCUDA_ARCH_PTX="" -DINSTALL_C_EXAMPLES=ON -DINSTALL_TESTS=OFF -DOPENCV_TEST_DATA_PATH=../opencv_extra/testdata ../
最后就是安装(cmake install)。
然后再编译iai_kinect2就不报错了。
6.jetson tk1的刷机教程(亲测有效)
http://blog.csdn.net/hysteric314/article/details/49805573
7.ssh远程控制jetson tk1
首先你要保证你的主机和jetson tk1连的是同一个局域网(例如ip地址是同一个段的:192.168.199.0-255),如果你的主机是vmware虚拟机内的,那么网络要设置为主机模式
按照博客设置即可:http://blog.163.com/[email protected]/blog/static/13212128020104611592660/,即:
文件/etc/ssh/sshd_config:X11Forwarding yes
文件/etc/X11/xinit/xserverrc:exec /usr/bin/X11/X -dpi 100
登录命令:ssh -q -X [email protected];打开个图形界面看看成功了没有(如gedit xxxx)。