Jetson TX1开发笔记(一):开机设置与刷机

2019-07-14 03:01发布

转载请注明作者和出处: http://blog.csdn.net/c406495762
PC平台(Host): 虚拟机Ubuntu14.04
嵌入式平台(Target): Jeston TX1 一、开箱测试     Jetson TX1是英伟达公司出的GPU开发板,拥有世界上先进的嵌入式视觉计算系统,提供高性能、新技术和极佳的开发平台。虽然TX2已经出了,可以买到,但是为了稳妥起见,还是先买个TX1试试水,以后再升级吧。TX1的包装还是蛮精致的:
    先来张全家福吧,可以看到,Jetson TX1包含:一块开发板、WIFI天线、电源适配器(在指定淘宝买,缺少插座现,需要自己买)、Micro USB线(下载用的)、USB-OTG线。
    我们需要自己额外买的插座线,如下图所示:
    除了这些,方便起见,还需要准备鼠标、键盘、还有显示器。据淘宝卖家说,显示器需要是2K屏,并且使用HDMI信号输出,之前我用VGA转HDMI的显示器无法正常显示。所以就又买了个大显示器,感觉有点略奢侈,开机效果如下:
    开机之后,看到命令行了,倍感亲切啊。系统启动之后,需要登录操作系统,用户名和密码都是ubuntu,登录之后。需要按照提示,安装界面显示,命令如下: cd ~/NVIDIA-INSTALL sudo ./install.sh sudo reboot now     重启电脑之后,我们就可以看到ubuntu系统的UI界面了。Jetson TX1出厂时默认的系统以及附加包都比较老旧,部署最新的开发包可以充分利用硬件性能,有利于我们进行深度学习开发。因此我们需要进行刷机,刷上最新的Jetpack,笔者写此笔记的时候,最新的Jetpack版本为Jetpack3.0。所以,我们就以Jetpack3.0的刷机为例,进行刷机讲解。 二、开始刷机     在刷机之前,我们首先需要准备好一个ubuntu主机,这个主机用来下载Jestpack,并且为开发部烧录uboot、根文件系统以及各种开发需要用到的开发包。所以在刷机之前,需要搭建一个ubuntu主机,官方推荐这个主机的版本为ubuntu14.04或者ubuntu16.04,博主使用的是虚拟机ubuntu14.04。当然,使用pc机也是没有问题的。 1.更新主机的源     在安装Jetpack之前,建议先更新下主机Ubuntu系统的源,这样做,以便安装Jetpack时候,依赖库能够顺利安装。使用指令如下: sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo vim /etc/apt/sources.list     上面的复制操作是为了备份sources.list文件,防止误操作后无法回复。将原来的内容使用”#”符号全部注释掉,然后在文件结尾出添加以下内容(我使用的阿里源,可视情况选择): deb http://mirrors.aliyun.com/ubuntu/ trusty main multiverse restricted universe deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main multiverse restricted universe deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main multiverse restricted universe deb http://mirrors.aliyun.com/ubuntu/ trusty-security main multiverse restricted universe deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main multiverse restricted universe deb-src http://mirrors.aliyun.com/ubuntu/ trusty main multiverse restricted universe deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main multiverse restricted universe deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main multiverse restricted universe deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main multiverse restricted universe deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main multiverse restricted universe     使用wq保存文件后,使用如下命令进行更新: sudo apt-get update sudo apt-get upgrade 2.Jetpack3.0下载     URL:https://developer.nvidia.com/embedded/jetpack     下载这个Jetpack3.0,需要用到英伟达帐号,如果没有可以使用邮箱申请一个,然后再下载。下载好之后,在家目录下新建一个Jetpack文件夹,把下载的文件拷贝到这个文件夹下: mkdir ~/Jetpack cp ~/下载/JetPack-L4T-3.0-linux-x64.run ~/Jetpack 3.安装Jetpack     在运行文件之前,需要给文件赋予权限,然后在运行,命令如下: cd ~/Jetpack sudo chmod +x JetPack-L4T-3.0-linux-x64.run sudo ./JetPack-L4T-3.0-linux-x64.run     运行之后出现如下提示框,点击okay即可。
    随后,我们将进入安装界面,一路Next。
    可以看到安装配置安装目录如下:
    在选择开发环境的时候,我们选择TX1的,如果手里的开发板是TX2的,选择TX2的即可。
    选择完开发环境之后,我们就进入了component manager界面。继续点击next,如下图所示:
    随后,需要同意各种条款,勾选Accept All,然后点击Accept。
    之后,我们就进入下载界面了,此时,是需要连网的。这里,不得不吐槽一下,安装这些东西花费了我5G多的流量,校园网需要花钱的我伤不起,肉疼啊。
    下载好安装包之后,点击OK按钮开始安装:
    随后,我们就开始进行安装。此时,我们耐心等待,可以来杯咖啡压压惊:
    安装完之后,点击Next,我们就可以进行下一步了,刷机:
4.刷机     刷机之前,需要将主机和开发板的网线连接到一个路由器下,不晓得无线网是否可以,安全起见,选择了如下模式:(随后刷机的时候,就需要这样连接)
    这里,我们选择默认网卡即可:
    点击Next,开始安装:
    点击Next之后,会出现Post Installation界面。此时,我们就需要将开发板连接到电脑,准备刷机,步骤如下:
  • 断开电源,保证开发板处于断电关机状态;
  • 用网线连到路由器上,也可插上鼠标键盘;
  • 用Micro USB线把开发板连到电脑上(类似于安卓手机连电脑),如果使用的是虚拟机主机,需要在虚拟机-可移动设备中找到英伟达设备,然后选择与虚拟机连接,与主机断开;
  • 接通AC电源,按下power键开机;
  • 长按rec键不松开,然后点按一下reset键,过2s以后,再松开rec键,此时开发板处于强制恢复模式。
    完成以上步骤后,我们还要检查开发板有没有和电脑正确连接,终端输入lsusb 命令,可以看到一些列表,只要发现其中有Nvidia Corp就说明连接正确。我的检查结果如下:
    可以看到NVidia Crop设备连接正常。     以上步骤确认无误后,在post installation界面中敲一下enter,就开始了刷机过程,界面如下:
    安装一会儿之后,会出现提示信息,让我们按RESET重启TX1开发板。如果TX1重启后出现了Ubuntu的GUI界面,说明系统已经安装完成。接下来就需要安装CUDA、OpenCV等组件。在按Enter继续安装之前,需要确保TX1已经连网外网,如果校园网需要登录网关这样的,先将网关登录好再继续,因为安装组件的时候,需要安装一些依赖库,需要有外网的情况下才能进行。按Enter继续后,会出现提示信息,确定TX1的IP地址,手动输入TX1的IP地址后,按回车继续,稍等一会儿,会出现如下对话框:
    输入Device IP Address,就是之前确定的IP地址,我的IP是219.216.***.***。User Name和Password,都是ubuntu。填写完按Next继续,一路Next之后再次进入Post Installation界面,进行安装组件,此时使用SSH远程服务,无需下载线。如下图所示:
    安装完之后,程序自动关闭Post Installation窗口,回到如下界面,点击Finish完成安装。此时,系统和组件都已经安装完成。
5.测试     安装系统和组件之后,我们可以进行简单的测试,测试我们安装的组件是否好用,以CUDA为例,进行测试。我们可以直接运行官方提供的Samples,例子保存位置如下: /home/ubuntu/NVIDIA_CUDA-<version>_Samples     进入如下目录,并运行oceanFFT:
    运行结果如下,表明CUDA安装成功:
6.个别组件安装     Jetpack的一个特性:可以不必刷机,单独为Jetson设备安装任何组件。方法其实很简单:
    类似上图,Host-Ubuntu下面的东西是只要在Ubuntu主机安装过一次,就不用再安装了。Target-Jeston TX1的是要往TX1安装的组件。把File System and OS这个置为no action,那么就是不刷操作系统,只是安装下面的组件。根据需求,我们可以选择我们想要的组件进行安装,当然,要注意它们的依赖关系。选择完毕就点Next,会出现如下界面:
    进行下一步之后,会出现填写TX信息的对话框:
    输入Device IP Address,我的IP是219.216.***.***。可以在TX1终端使用ifconfig进行查看。User Name和Password,都是ubuntu。     接下来的步骤与之前一样,进入Post Installation界面之后,耐心等待就好了,这里使用的是SSH远程服务,不用数据线,等待一会就安装好了,注意安装过程中尽量不要操作开发板。下图就是刚刚开始拷贝CUDA组件的截图: