virutalbox虚拟机下使用jetpack3.2对jetson tx2刷机

1. Introduction

本文介绍了使用virtualbox里的Ubuntu16.04作为Host来刷jetson tx2的jetpack3.2包的过程。可有效解决Install JetPack 3.2 Failed "E: fopen failed with file local.db, errno = 2"的问题。

2. 环境介绍

  • PC的真正Host是Debian9
  • VirtualBox 虚拟机
  • VirtualBox里的Ubuntu16.04作为刷机的Host
  • Jetson TX2开发套件
  • JetPack 3.2刷机包

3. 下载

3.1 jetpack包下载地址

https://developer.nvidia.com/embedded/jetpack

大概是30多M的.run安装包,真正的安装文件是在运行这个run文件以后下载的。

3.2 虚拟机的设置

3.2.1 USB设置

注意:

首先要执行sudo usermod -aG vboxusers $USER,($USER替换为你的用户名)将你PC的用户加入vboxusers用户组,这样建立的虚拟机才能获取到PC的usb设备。

VirtualBox安装Ubuntu16.04不再赘述,注意

在安装Ubuntu完成后,一定要到vbox的设置里,将USB设备改为`USB3.0`

要使vbox支持3.0,需要安装vbox的扩展包: https://www.virtualbox.org/wiki/Downloads 转到Oracle VM VirtualBox Extension Pack部分,如果你的vbox不是最新版,将扩展包的下载链接中版本改成你的vbox版本即可。

否则后面刷机会卡在:

[   0.6986 ] Boot Rom communication
[   0.6996 ] tegrarcm_v2 --chip 0x18 --rcm rcm_list_signed.xml
[   0.7005 ] BootRom is not running

卡在BootRom is not running这里进行不下去。

3.2.2 网络设置

将网络设置为桥接,以便和tx2在同一个网络中,即他们的ip是同级的。

3.2.3 Ubuntu源设置

建议将虚拟机里Ubuntu的源设置为中科大的源,如果是教育网且虚拟机支持ipv6,建议设置成ipv6的源。

判断虚拟机里是否可以使用ipv6可以通过在虚拟机的浏览器里访问

https://ipv6.mirrors.ustc.edu.cn

看能否正常打开页面来判断。

源文件内容可以通过 https://mirrors.ustc.edu.cn/repogen/ 选择相应的系统版本和网络版本,覆盖虚拟机里/etc/apt/sources.list

3.3 开始安装

将下载的run文件copy进虚拟机,方法很多种,比如通过sftp(ssh自带的ftp)。

chmod +x JetPack-L4T-3.2-linux-x64_b196.run来给文件添加可执行权限,然后./JetPack-L4T-3.2-linux-x64_b196.run即可开始安装

4. 步骤

4.1 系统设置

如果系统是中文环境,会提示你,但是可以忽略。

如果系统非Ubuntu,会报error,不让你安装。

如果用了sudo来运行,会报error,不让你用sudo。

4.2 选择开发板

弹出的授权窗口输入系统的密码即可。

4.3 选择要安装的模块

  • 默认所有的模块都要安装,不过类似VisionWorks这种,如果不是这方面的开发,可以去掉。
  • 如果你只是用这个虚拟机来安装,不需要主机端安装一些环境,可以将Host-Ubuntu的action选择为no action
  • 勾选下面的Automatically resolve dependency conflicts让安装器自动解决依赖冲突问题。

下载过程非常漫长,教育网一般有ipv6加成,可以到几MB/s,大概需要30mins左右才能下载完成。

4.4 刷机网络配置

建议选择第一种模式。

将tx2用网线接入路由器,你的PC通过无线或者有线接入路由器,虚拟机设置为桥接,才能保证三者是相同等级的ip。

4.5 将设备设置为刷机状态

一路next以后,会弹出

告诉你如何将tx2设置为刷机状态:

  1. 关闭tx2,移除电源,设备上的红灯是熄灭的状态
  2. 用USB线连接到PC上
  3. 给tx2接入电源
  4. 按下POWER按钮,让tx2运行,按住REC按钮,同时按一下RST按钮,黄灯会闪一下,松开REC按钮
  5. 设备此时应该是处于刷机模式了
  6. 在虚拟机右下角会有个usb的设置,单击会弹出可以接入虚拟机的usb设备,此时这里应该出现一个NVidia Corp的设备(忽略配图的列表内容),勾选它以便将其接入虚拟机里

然后在虚拟机上面的提示命令行中按下回车。一路Next。

4.6 重新连入设备

中间可能会出现两次设备被重启,导致usb连接断开,usb设备列表中,NVidiai Corp设备的勾选框变为未勾选状态,重新勾选,将设备接入虚拟机即可。

一次usb连接是刷机刚开始。

一次usb连接断开是刷机进程中开头为[5. XXX] 五点多时。

 

5. 完成

等待几十分钟后,刷机即可完成。

将设备用HDMI接入显示器,usb接入键盘鼠标即可操作。

6. 设置tx2源

参考Tegra TK1 TX1 源设置将源设置为清华的armhf源,即可将apt更新软件或者安装软件速度轻松提到MB/s。

7. 设置远程桌面

sudo apt-get update
# 安装轻量级的xfce4桌面
sudo apt install xfce4
# 安装vncserver
sudo apt-get install  xrdp vnc4server xubuntu-desktop

echo "xfce4-session" >~/.xsession
sudo service xrdp restart

你的PC如果是windows,直接用win自带的远程桌面连接即可。

如果是Linux建议使用remmina,协议使用默认的rdp,配置好服务器ip,用户名密码即可。

在remmina下,tab键补全失效参考:

debian8 Gnome3入坑 新手安装教程

Reference

Problem flashing TX-2

Jetson TX2 刷机并安装JetPack3.1

NVIDIA Jetson TX2刷机

Jetson TX1 or TX2 配置源 和 设置远程桌面Ubuntu xfce4

Install JetPack 3.2 Failed "E: fopen failed with file local.db, errno = 2"

文章版权归 FindHao 所有丨本站默认采用CC-BY-NC-SA 4.0协议进行授权|
转载必须包含本声明,并以超链接形式注明作者 FindHao 和本文原始地址:
https://www.findhao.net/easycoding/2376

你可能喜欢:

Find

新浪微博(FindHaoX86)QQ群:不安分的Coder(375670127)不安分的Coder 微信公众号(findhao-net)

发表评论

电子邮件地址不会被公开。 必填项已用*标注