5、jetson tx2 用sdkmanger刷机(jetpack4.4.1)

一、去哪里下载,如何安装和刷机?

特别注意:你的虚拟机的Ubuntu16.04或者18.04要有8g的内存,空间最好大于40g以上,如果空间大小不满足,可以参考笔者的另外一篇博客,链接在这里
官方安装指南
注意:
1、下载安装包之前要先注册一个开发者账号
2、要在Ubuntu环境下到官网进行安装(这点很重要,因为在windows环境下下载的安装包总是有问题)
3、然后在打开终端,输入如下命令

sudo apt install ./sdkmanager_1.3.1-7110_amd64.deb

4、打开终端,运行sdkmanager,输入下面的命令

sdkmanager

然后您可能会遇到这个窗口,这是提醒您内存不够用,所以我们得对虚拟机再扩大下内存。
在这里插入图片描述
扩完内存后,可能会跳出下面这个窗口,然后将虚拟机设为全屏显示或者自己去调整一下分辨率就好了。
在这里插入图片描述
5、进入安装界面时,选择开发者的登录方式,然后进入下面的安装界面。
在这里插入图片描述
在这里插入图片描述
这样一直到下一步,然后就出现了finish的界面,然后也没有出现安装的界面,在这里百度来百度去的,一直没有看到问题所在,在这里蹲了很久的坑,其实是自身过于焦急了,那么问题出现在哪里呢?下图即可知道。

在这里插入图片描述

6、然后下一步,出现该界面,输入你的虚拟机密码。
在这里插入图片描述
7、然后跳出该窗口
在这里插入图片描述
初步分析:本人认为是镜像源的问题,因为在下载的时候改成了清华源,所以接下来去修改回默认的镜像源,但是发现还是出现了同样的问题,所以最后还是采用回清华源,但是此处一直安装不成功,所以问题应该是上面的那个窗口的提示原因,下面是安装时出错的界面。
在这里插入图片描述
在这里插入图片描述
所以我们得去回去终端去定位问题在哪里?打开终端,然后输入下面的命令。

sudo apt-get update

然后发现了和上面窗口一样的错误,错误如下:
在这里插入图片描述
初步分析的原因:
dns解析的问题
方法:
sudo vi etc/resolv.conf
然后修改nameserver为8.8.8.8
但是结果还是一样,所以不是这个问题。

真正的原因应该是一些源和库的配置有问题,至于为什么会有问题,此处笔者不太清楚,因为这个本来是x86的机器,但是却去fetch arm64的一些包,所以笔者在下面做了一个冒险的尝试。
①首先查看多架构支持

dpkg --print-foreign-architectures

然后会显示下面的架构支持
i386和arm64
②删除所有arm64有关的东西

sudo apt remove .*:arm64

然后把arm64核也删除了

sudo dpkg --remove-architecture arm64

上面两行命令最好不要反过来,因为笔者在运行系统的时候先删除核的时候会有报错,因为此时有些东西在运行,而且是虚拟机一开就运行的。

然后再重启一下,看下系统又没有崩溃,笔者是可以正常运行的:

reboot

最后再更新下源目录,看又没有错:

sudo apt-get update

最终就正常了。
然后又重新刷机,一直刷不成功,根据一些错误信息,应该是一些包损坏掉了,按照官网的提示也修复不了,所以决定删除之前下载的一些包,重新下载,同时把之前安装的一些东西也删除掉。然后重新开始的步骤,先下载,再安装。这又是一个漫长的过程,因为会总是下载错误,所以你得经常的盯着电脑的屏幕,不断地retry,这里很需要耐心,这里就是需要不断地retry的,不要看到错误就慌了。经过许久后,下面就出现刷机界面了,为什么会这样呢,由于笔者的粗心,在第一步的时候选错了硬件的型号,不管先,先把镜像烧进去吧。
在这里插入图片描述

从上面可以知道,有两种刷机方式,一种是自动,一种是手动,这里推荐采用手动方式,

采用手动方式的时候需要将TX2设置为恢复模式,步骤如下:
①将开发板关机后,拔掉电源线,不能让开发板处于睡眠或者是挂起状态;
②将TX2 和主机用USB转Micro-USB转接线连接,转接线的USB端口连接主机(pc)的USB口上,Mircro-USB端接到Jetson TX2的Micro-USB接口上。
③再将电源线插回开发板中
④在Jetson TX2中按下power键,然后放开,然后立即按住REC键不放,保留这个状态两秒,在这期间同时按下并放开RST键。

⑤在主机上输入下面的命令

lsusb

在这里插入图片描述
确定有Nvidia Corp字样
然后点击flash就可以了。
在这里插入图片描述
烧录完os后,然后就出现下面这个界面了,我们按照提示来完成TX2的系统配置。然后继续刷机。
在这里插入图片描述
在这里插入图片描述
很不幸运的是,又失败了,所以又得返回到前面的步骤,但是此处os烧写的选项就不要再勾选了。
在这里插入图片描述
因为截图记录没做好,所以这里只能文字大概描述了,然后继续安装,安装中会总是出错,要根据错误信息进行排错,如果是提示包损坏,那么就回到step1uninstall(重新搞一次)或者repair。到最后笔者的TX2的组件是全部安装成功了,但是主机的组件还是没安装成功,所以还得继续安装,但是主机上的安装就比较容易了,所以下面就不展开了。

二、刷完系统之后可以做哪些检查和准备?

1、使用powershell连接TX2

可以使用powershell连接同一个局域网内的其它机子,所以你需要准备多另外一条网线,将TX2连接到路由器,使得TX2和主机处于同一个局域网,然后在TX2上打开终端,并且输入下面的命令。
①查看ip地址

ifconfig

②然后你可能会发现给的是ipv6的地址,所以这时你应该设置ipv4的静态地址,方便用ssh登录。

cd /etc/network
sudo vi interfaces

然后注释掉原来的内容,并且添加下面的内容。

auto lo
iface lo inet loopback
 
auto eth0
iface eth0 inet dhcp   #通过DHCP的方式自动分配IP地址
address 192.168.1.20
netmask 255.255.255.0
gateway 192.168.1.1
 
或者
auto lo
iface lo inet loopback
 
auto eth0
iface eth0 inet static  #static的作用是不需要给我自动分配IP地址
address 192.168.1.20
netmask 255.255.255.0
gateway 192.168.1.1

此处的ip设置因人而异,此处只是为了说明方法,但是此处因该选择第二个,设置静态ip.
③重启网络服务

service networking restart

然后再重新用ifconfig来查看ip地址,看修改过来没有,如果没有修改过来,则重启一下网卡。
fconfig查看IP地址是否改过来,如若发现Ip地址重启网络不生效,在命令行执行

ip addr flush dev eth0
ifdown eth0//先关闭网卡
ifup eth0//再打开网卡

执行ifconfig发现IP已更改。
④在主机上打开命令窗口,win+R,然后输入powershell。
然后在终端上输入下面的命令。

ssh username@ip

最终就可以连接上了。

2、为TX2系统创建root用户,方便修改一些配置

sudo passwd root

在这里插入图片描述

3、为系统换源

这一步是必要的,因为可以为你接下来的学习节省大量的时间。
关于换源的教程可参考一下其他博主的两篇文章:
ARM架构换源
Ubuntu 国内源介绍
①进入该目录

cd /etc/apt

②备份sources.list

sudo cp sources.list sources.list.bak
sudo vi source.list

把之前的内容删除掉,然后添加清华源。

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse

此处要特别强调再强调:
TX2此时是Arm架构和ubuntu18.04
所以换源的时候要注意两个点:

ubuntu-ports: Arm架构适用
bionic: ubuntu18.04

所以不能把x86架构的清华源内容给添加上去了,铁定报错,换源之后再更新一下,看行不行,出现下图所示,说明就成功了

sudo apt-get update

在这里插入图片描述

4、检查有没有刷机成功

①检查cudu在这里插入图片描述

5、建立ftp实现文件互传

可参考本博主的另外一篇博客

6、远程桌面连接

三、VNC连接
下面将详细介绍如何通过windows远程连接,可以使用console和vnc-any两种方式连接:
1、Windows远程桌面使用的是RDP协议,所以ubuntu上就要先安装Xrdp,在ubuntu软件中心搜索xrdp安装。

sudo apt-get install xrdp vnc4server xbase-clients

2、打开桌面共享
在/usr/share/applications目录下打开”桌面共享”选项,进一步设定桌面共享选项中首先要开启共享,关于是否允许其他用户控制,远程连接时是否需要本机确认,远程连接的密码等项目根据需要自己设定。
下面介绍不能打开的解决方法:
s1、安装dconf-editor

sudo apt-get install vino dconf-editor

s2、配置dconf-editor

dconf write /org/gnome/desktop/remote-access/prompt-enabled false
dconf write /org/gnome/desktop/remote-access/require-encryption false

s3、配置 org.gnome.Vino.gschema.xml

sudo vi /usr/share/glib-2.0/schemas/org.gnome.Vino.gschema.xml

然后再任意的两个key之间添加下面这个key就可以了

<key name='enabled' type='b'>
  <summary>Enable remote access to the desktop</summary>
  <description>
    If true, allows remote access to the desktop via the RFB
    protocol. Users on remote machines may then connect to the
    desktop using a VNC viewer.
  </description>
  <default>false</default>
</key>

s4、重新编译

sudo glib-compile-schemas /usr/share/glib-2.0/schemas

s5、打开TX2的desktop sharing,配置如下
在这里插入图片描述
3、重要!!开启下面这个服务,开了这个服务,我们的pc才能链接到TX2。

/usr/lib/vino/vino-server

4、下载一个VNCviewer
然后输入你的TX2的IP地址便可以连接上了。


版权声明:本文为wuzhishiwo原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。