> 文档中心 > 安装和使用NVIDIA Jetson AGX Xavier

安装和使用NVIDIA Jetson AGX Xavier

      对近几个月在Nvidia Jetson AGX Xavier上的工作做一下记录备忘,Xavier是NVIDIA的边缘计算板子的最新版本也是最高配的序列,NVIDIA Jetson序列板子的具体配置可参见下图:

      

      因机器人上需要部署网络层次深体量大的高精度AI图像识别物体检测模型,一般的边缘计算板子扛不住,于是让公司购买了NVIDIA Jetson AGX Xavier 16G内存配置的版本用于实验模型部署和调用测试(后面会写Xavier上docker镜像的制作和模型部署环境的安装的实验过程),Xavier跟一台低档PC电脑的配置差不多了,16G内存,另外内置有32G的eMMC存储(相当于硬盘),里面安装了裁剪到最小化的Ubuntun18.04。

开箱后加电启动后进入个文本命令行界面,里面有下一步安装的说明:

      这种最小化版本是为了在做产品化部署时使用节省内存和存储空间(是否支持dokcer和GPU的使用待以后实验),在上面做实验的话干不了什么活根本不够用,所以决定安装带图形化界面的Ubuntu,最简单的办法是按照上面的说明执行在$HOME目录(也就是默认安装好了的/home/nvidia/)下执行:

    cd NVIDIA-INSTALLER

    sudo ./installer.sh

    reboot

然后待登录界面出现后使用用户/密码nvidia/nvidia登录进入Ubuntu即可开始使用。

      由于考虑到这种方式安装的系统,可能里面很多NVIDIA的其他jetson序列功能软件没有安装,比如说deepstream,不利于后面的多种实验,所以决定不使用上面这种方式安装,而是使用jetpack重装整个Ubuntu系统以及安装NVIDIA的jetson全部功能套件。

     首先打开JetPack SDK | NVIDIA Developer,点击下载NVIDIA SDK Manager(跟Nano的安装方式完全不一样,Nano是点左边下载的SD Card Image,下载后用usbtool之类的工具解压到一个sd卡里面插到Nano板子上即可以使用,里面该有的NVIDIA的软件都有了,包括GPU驱动和OpenCV都安装好了的,而Xavier需要安装SDK Manager后使用它来安装NVIDIA的软件套件):

 

目前最新的JetPack版本是4.6了,这里一会叫JetPack,一会叫SDK Manager,一会叫JetPack Installer,感觉NVIDIA说的乱七八糟的没说清楚,感觉NVIDIA的本意是JetPack包含了Jetson Nano或者NX的SD Card Image(用写卡工具把对应nano或者NX板子的image烧写入SD卡后,Ubuntu18.04和CPU版的OpenCV、CUDA、cudnn、TensorRT和docker以及nvidia docker之类的基础工具里面全有了,Deepstream之类的应用开发工具则需要开机进入Ubuntu18.04后手工用从官网上下载的deb或者zip包安装)和TX1/TX2 Xavier序列的SDK Manager(不是Nano和NX的板子似乎只提供了这种安装工具来安装,没有对应的SD Card Image),JetPack Installer也就是SDK Manager,下面把用于Xavier的JetPack叫SDK Manager好了。然后,在安装有Ubuntu18.04或者16.04的PC上安装SDK Manager,安装完后,先把Xavier连接上,用一根至少一端是HDMI接口的线把显示器连到Xavier上,然后使用一个USB hub插到Xavier的USB端口,USB hub接上USB键盘和鼠标,皆可以把Xavier当台PC使用了,如果只是重装Jetson SDK Componnets,只需要把网上插上,启动Xavier查看ip地址是什么并记录下(后面安装Jetson SDK Components时需要使用这个地址登录),如果你重装时还需要flash Jetson OS,也就是把OS也全部重装,那么还需要用随Xavier带的Type-C转USB线把Xavier连接到你安装了SDK Manager的Linux PC主机上,USB端接PC的USB口,Type-C端插到Xavier的前面的面板(旁边有led灯和两排扩展接口针)上的Type-C接口上,注意不要插到后面的Type-C口上(这面有电源接口和网口、USB口以及HDMI口),否则连不上,后面用SDK Manager安装软件时总是报无法检测到target。

正确连接后,在Linux PC机上执行lsusb可以看到多了个NVIDIA Corp的设备:

      在terminal里执行 sdkmanager 命令即可启动一个窗口界面,需要输入你在NVIDIA Developer注册账号时使用的邮箱地址和Developer账号对应的密码以登录到developer.nvidia.com,它这里实际上是让sdk manager作为客户端软件连到NVIDIA的云服务器上去,为后面的下载安装软件做准备,NVIDIA这个登录的地方做得差劲,输入的邮箱地址和密码都分明是对的,有时登录很慢,有时就是干脆登录不上,说你输入的用户或密码有误,其实根本没错,有时就是要点击登录十多次才连上去,真是让人想网上伸手过去揍它:

登录成功后进入到主界面:

 STEP 01窗口的第二行有Host Machine和Target Hardware,默认都勾选了,在两者上面都要安装相应的软件,Host Machine就是安装和运行SDK Manager的PC,后面的Target Hardware当然就是TX1/2或Xavier这样的板子了,如果不需要在PC上跑NVIDIA的什么软件或者更新GPU的驱动或者开发代码或者容器做针对ARM64的交叉编译,那么就可以把Host Machine的勾选去掉。

STEP 02窗口里设置下载的路径,可以勾选 Download now Install later,这样先只把所有选择的软件下载到本地,后面可以需要时重新执行SDK Manager进来后单独安装,这样特别适合晚上让它下载,第二天再安装,下载和安装都是个有点漫长的过程(全部下载成功后,下次再启动SDK Manager时在登录窗口点那个OFFLINE from local folder 页面进来即可,不用再登录到云端了):

STEP 03 窗口点右下方的大按钮开始下载,下载过程中如果网络不好,可能经常出错,遇到出错就点RETRY按钮重新下载就是,反正不断的这样直到所有的需要安装的软件套件全部下载成功:

全部下载成功后开始安装,如果你是上次全部下载成功了,从OFFLINE from local folder方式进来的,直接点按钮安装就行了。

 STEP 04窗口是Summary和开始下载/安装的地方:

     安装的过程中也可能会出错,可能是需要安装一些依赖包,但是当时网络不行导致安装不了,重新下载或者点RETRY按钮多试几次即可:

      如果选择了Flash Jetson OS,会重装Ubuntu操作系统,按照平时安装完Ubuntu18.04后的配置步骤一步一步往下创建你需要的用户(例如robot)和口令以及时区和语言等配置即可,记下用户和密码别忘了。

      后面安装Jetson SDK Components时PC上会弹出窗口需要指定Xavier的IP地址和登录Ubuntu的用户和口令,输入前面记录的IP和用户/密码后点Install按钮,在Xavier上弹出窗口中accept license后即可开始安装:

安装完毕:

     上面可以看到,我们一般需要使用的CUDA、cuDNN、GPU Driver、OpenCV、NVIDIA Container Runtime with Docker Integration都已安装了,这点非常好, NVIDIA Container Runtime with Docker Integration安装了就意味着docker sevice和NVIDIA Container Runtime都已经安装了,无需我们自己再安装docker和NVIDIA docker,可以直接创建可使用GPU的docker image并运行container了。 关于Xavier上的环境配置修改在下一篇文章里再说。