1 TX2鼠标键盘不能动了
1.1 事情经过
当事人现身说法:当时是一个焦躁的晚上,我使用了Jetson 3.3进行了刷机,之后在进入寻找IP的过程后,没找到我局域网中的TX2的地址。理论上讲,到这里为止其实TX2系统以及刷好了,应该只是一些CUDA什么的没有装上,结果重启TX2一看,键盘鼠标不能用了,我擦!

1.2 解决方式
明明USB还是好的啊,怕是键盘鼠标驱动出问题了,出大问题了,并且问题还没解决。虽然现在用ssh能脸上TX2,但显然sudo什么的我不能用啊!!!

2 找到IP后没后话了?
2.1 事情经过
我也顾不得能不能用键盘这种小事了,先试试接下来的操作。
我当时安装Jetpack3.3的时候,组好了网,它说:我用三十秒的时间检测一下你这个ip是不是ok。然后三十秒检测完毕之后,它结束了???啥都不出现了?卡了?我想:可能是网络慢吧,于是,我等了一晚上。

2.2 解决方案
换4.n装着试试

3 command /tmp/tmp_NV_L4T_FILE_SYSTEM_AND_OS_TX2_COMP.sh finished with error
3.1 事情经过
因为安装Jetson3.3没成功,我就想,新点的包会不会好呢?于是我连续尝试了4.3、4.2.1、4.2.2和4.3,发现了如下错误:

16:40:07 INFO : File System and OS : exec_command: /tmp/tmp_NV_L4T_FILE_SYSTEM_AND_OS_TX2_COMP.sh
16:42:39 INFO : File System and OS : Using rootfs directory of: /media/greepex/4E9AEFD29AEFB49D/Homework/ICRA_AI_Challenge/Jetson4_2_1/SDK/JetPack_4.2.1_Linux_GA_P3310/Linux_for_Tegra/rootfs
16:42:39 INFO : File System and OS : ||||||||||||||||||||||| ERROR |||||||||||||||||||||||
16:42:39 INFO : File System and OS : —————————————————–
16:42:39 INFO : File System and OS : 1. The root filesystem, provided with this package,
16:42:39 INFO : File System and OS : has to be extracted to this directory:
16:42:39 INFO : File System and OS : /media/greepex/4E9AEFD29AEFB49D/Homework/ICRA_AI_Challenge/Jetson4_2_1/SDK/JetPack_4.2.1_Linux_GA_P3310/Linux_for_Tegra/rootfs
16:42:39 INFO : File System and OS : —————————————————–
16:42:39 INFO : File System and OS : 2. The root filesystem, provided with this package,
16:42:39 INFO : File System and OS : has to be extracted with ‘sudo’ to this directory:
16:42:39 INFO : File System and OS : /media/greepex/4E9AEFD29AEFB49D/Homework/ICRA_AI_Challenge/Jetson4_2_1/SDK/JetPack_4.2.1_Linux_GA_P3310/Linux_for_Tegra/rootfs
16:42:39 INFO : File System and OS : —————————————————–
16:42:39 INFO : File System and OS : Consult the Development Guide for instructions on
16:42:39 INFO : File System and OS : extracting and flashing your device.
16:42:39 INFO : File System and OS : |||||||||||||||||||||||||||||||||||||||||||||||||||||
16:42:39 INFO : File System and OS : exit status 1
16:42:39 INFO : File System and OS : [ Package Install Finished with Error ]
16:42:39 INFO : File System and OS : [ 164.00 KB used. Disk Avail: 9.97 GB ]
16:42:39 INFO : File System and OS : [ NV_L4T_FILE_SYSTEM_AND_OS_TX2_COMP Install took 2m32s ]
16:42:39 ERROR : File System and OS : Run commands failed at step Install: command /tmp/tmp_NV_L4T_FILE_SYSTEM_AND_OS_TX2_COMP.sh finished with error
16:42:39 INFO : File System and OS :
16:42:39 ERROR : File System and OS : command terminated with error
16:42:39 ERROR : File System and OS : install ‘File System and OS’ failure

wocou,当时我就怒了,我当时就想着,我吴彦祖好好当个美男子就行了,玩这个板子干啥?!现在都被这块板子玩了。

3.2 解决方式
那咋办?我就查资料呗,于是我就找到了这位老哥在官网论坛上的提问:
某老哥的提问,虽然没有解决这个问题,但至少让我知道,我不是一个人在战斗!
然后这位老哥在后面的回复中如是说:

Indeed, it’s been repeatedly stated in my case and apparently many others. Whatever special sauce went into packaging 4.2.2 probably broke it for some of us folks, since <= 4.2.1 seems to work. At the moment, I’ve given up yak shaving and just sticking with 4.2.1.

兄弟,能不能有点骨气,和bug战斗到底啊!!!主要是我换了4.2.1以后还是一样的问题。
这次我又找到了官方论坛上的一个资料:
这次的问题和我打一毛一样,兄弟,一起战斗啊!
刷机到现在,Ubuntu系统重装了一次,出了一身打毛病,我也在官方发了一个自己错误的帖子:
写个帖子死马当活马医

4 使用apt-get update会报错
4.1 事情经过
在使用jetpack的东西进行安装后,host机上一般会有各种莫名奇妙的错误,真的是很让人开心啊,比如如下错误:
E: 无法下载 http://cn.archive.ubuntu.com/ubuntu/dists/xenial/main/binary-arm64/Packages 404 Not Found [IP: 91.189.91.23 80] E: 无法下载 http://cn.archive.ubuntu.com/ubuntu/dists/xenial-updates/main/binary-arm64/Packages 404 Not Found [IP: 91.189.91.23 80] E: 无法下载 http://cn.archive.ubuntu.com/ubuntu/dists/xenial-backports/main/binary-arm64/Packages 404 Not Found [IP: 91.189.91.23 80] E: 无法下载 http://cn.archive.ubuntu.com/ubuntu/dists/xenial-security/main/binary-arm64/Packages 404 Not Found [IP: 91.189.91.23 80] E: 部分索引文件下载失败。如果忽略它们,那将转而使用旧的索引文件。

4.2 解决方案
在终端执行命令:

dpkg –print-foreign-architectures

你会发现,里面有个arm64,干掉它,你的电脑是amd64,一定要干掉它!
于是你使用了:

sudo dpkg –remove-architecture arm64

但是系统提示:

dpkg:错误:无法移除体系结构 arm64 ,当前它仍被数据库使用

这个时候,一不做二不休,重装系统就好了**(开玩笑,开玩笑)**
我们应该输入如下指令:

sudo rm -rf /var/lib/apt/lists/*
sudo apt-get remove .*:arm64
sudo dpkg –remove-architecture arm64

之后打sudo apt-get update就可以正常使用了。

5 怎么解决
5.1 吐槽几句
刷这个板子真的靠人品,欧*7分钟刷完还表示一脸蒙蔽:你们怎么这么慢啊。
大家可能尝试了很多很多的攻略了,我这篇博客适合刷了很多很多次,还是没有刷成的人看。如果正常的方法能成功,请不要继续往下看了。
能看到这里的人,想必对这个界面非常熟悉了:

%title插图%num

这里要注意,兄弟,这个Host Machine是可以不选的!!!

%title插图%num

还有这里,这里的深度学习乱七八糟的东西也是可以不选的!!!
事实上,我们的过程分为两步:1刷OS,2刷AI相关库。
因为总是卡在刷系统这里,所以我选择:自己下载包,自己刷!!!不要这捞什子的sdkmanager了。

5.2 刷OS
5.2.1 下包
这里不需要什么在同一个局域网下什么的,但要用USB-microUSB连接HOST和TX2,先从官网下载刷机包:1系统包L4T Jetson TX2 R28.3.2 Sources,2文件系统L4T Jetson TX2 R28.3.2 Sample Root Filesystem,地址在这里。
大概是这个样子的:

%title插图%num

(Note:其实我们可以使用sdkmanger进行包的下载,然后在下载目录里找到相应的系统包和文件系统包)

5.2.2 系统烧写
nvidia官网下载L4T Jetson Tx2 Driver Package(28.3.2)到主机,解压Tegra186_Linux_R28.3.2_aarch64.tbz2;
nvidia官网下载L4T sample Root File System到主机,把下载的文件拷贝到上一步解压后的Linux_for_Tegra/rootfs目录,解压Tegra_Linux_Sample-Root-Filesystem_R28.3.2_aarch64.tbz2(使用sudo解压);
连接TX2模块的usb micro接口到主机,并进入recovery模式;
进入Linux_for_Tegra目录,执行一次(以后要用就不执行了)sudo ./apply_binaries.sh,这时候可能会出现||||||||||||||||||||||| ERROR |||||||||||||||||||||||等等这样的东西,并孜孜不倦让你用sudo解压文件系统到rootfs中。兄弟,我就直接打开apply_binaries.sh文件,并讲相关部分注释,完美执行!
挂载网络文件方式 sudo ./flash.sh -N 192.168.3.200:/home/ubuntu/work//Linux_for_Tegra/rootfs jetson-tx2 eth0
烧写到emmc的方式sudo ./flash.sh jetson-tx2 mmcblk0p1
*后,终于看到了久违的success,凑!

第四步我划去的部分找到原因了,这也是我一直没有刷机成功的原因,那就是安装系统的目录必须group是root,user也是root,而想要该文件属于root,那么该文件必须属于系统盘。而我的系统盘大小太小,所以我将其放入了其他盘(其他盘的文件无法修改为root所有),也因此出现该错误。也就是如下图红圈所在部分,必须是在系统盘中(剩余大小至少30GB+,不然就等着报错吧),另一个位置无所谓。

%title插图%num
5.3 刷AI相关库
AI相关库其实就更好刷了,其实如果没有我们之前把Target HW image folder文件设置为系统盘外,我们几乎可以一步完成。
因为我之前的刷系统的操作是匹配于Jetpack4.3的包,所以我们的AI相关的库也是使用了sdkmanager来刷4.3相关的AI库。
这里不用USB-microUSB线,但需要HOST和TX2在同一个局域网中,并尝试HOST用ssh连接TX2,成功的话就可以了。

打开Jetson TX2,修改镜像源为清华,*好是清华,方法在这里,或者这里,推荐这里的清华源
使用sdkmanager进行安装,不选择HOST和Jetson OS(以及刷过了)

%title插图%num

它会让我们输入ssh的地址和用户名以及密码,正常情况下,都会很快安装好的(半小时吧)。

%title插图%num

到这里我们如果还需要python-opencv的话,可以输入sudo apt-get install python3-opencv
5.3.1 刷pytorch
这里主要使用了Nvidia官方给的教程,安装就好了Pytorch官方教程
(Note:里面的下载内容要*的,如果不能*的话,我后续会在百度云中分享一些版本)