欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

virtualbox-tx2刷jetpack3.2

程序员文章站 2022-06-14 09:08:06
...

转自:https://www.findhao.net/easycoding/2376

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 选择开发板

virtualbox-tx2刷jetpack3.2

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

virtualbox-tx2刷jetpack3.2

4.3 选择要安装的模块

virtualbox-tx2刷jetpack3.2

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

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

4.4 刷机网络配置

建议选择第一种模式。

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

virtualbox-tx2刷jetpack3.2

4.5 将设备设置为刷机状态

一路next以后,会弹出

virtualbox-tx2刷jetpack3.2

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

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

virtualbox-tx2刷jetpack3.2

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

4.6 重新连入设备

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

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

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

5. 完成

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

virtualbox-tx2刷jetpack3.2

将设备用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,用户名密码即可。

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”

相关标签: TX2 Jetson