因为以下教程是在txt上写的,因此没有图片,可以在参考网址中看到具体每一步的图示。
关键词:TX2内存条满了开不了机正确解决方案;TX2利用nvidia sdk manager刷机;TX2挂载SD卡;ubuntu换源;
SDK Manager received errors while using apt commands on your system.
E: 无法下载 http://mirrors.aliyun.com/deepin/dists/stable/main/binary-amd64/Packages 404 Not Found
E: 部分索引文件下载失败。如果忽略它们,那将转而使用旧的索引文件。
E: Sub-process /usr/bin/dpkg returned an error code (1)
tx2因为系统盘存满因而导致开不了机
参考网址:https://blog.csdn.net/qq_33869371/article/details/88366875
正确的操作:
在开机后由于系统盘满了因而一些文件加载不进去,导致图形化界面进不去,也就是常见的开机界面
但是可以进入ubuntu的文本命令模式,在开机后直接按ctrl+alt+F1~F5中的每一个键都试一遍,但是没有什么反应,
有一些代码输出后进入黑屏,但是等待一段时间会重新进入代码那个界面,这时候按ctrl+alt+F1~F5中的每一个键都试一遍,
会进入文本命令模式,在文本命令模式中cd到对应的位置将一些文件删除即可。删除前记得先用ls查看一下目录下有哪些文件,
一定不能随便删文件,不然会导致系统损坏开不了机
正确的位置应该是usr/var/lib/docker 删除掉docker中不要的文件
看到一些菱形图案应该是中文乱码,可以百度查看怎么解决
df -h # 查看系统盘容量情况
注意:以下为错误操作,一定不要这样操作!
错误操作:因为没有找到docker目录,所以当时直接把var整个文件夹删除了,这样就导致了一些系统文件被删除!从而导致系统损坏开不了机
tx2刷机过程:
系统损坏后只能重装系统,需要进行tx2刷机,tx2刷机有两种方法,一种是利用下载好的安装包进行刷机,另一种是利用英伟达官方的nvidia sdk manager
进行刷机,本次采用英伟达官方的nvidia sdk manager进行刷机。这种方法对网络要求比较高,但是是自动刷机,相对比较简单。
参考网址:
https://blog.csdn.net/subfate/article/details/113750340
https://blog.csdn.net/subfate/article/details/113750340
先要准备一台ubuntu16.04或18.04的机子因为nvidia sdk manager目前好像不支持其他版本的ubuntu,最好是物理机,不是虚拟机,不过网上也有很多用虚拟机刷机的教程,如果采样安装包刷机,则要根据Jetpack版本选择ubuntu系统的版本,因为安装包刷机要先在本机上运行起来才能刷到tx2里,比如Jetpack版本3.多的用
ubuntu16.04刷机,Jetpack版本4.多的用ubuntu18.04刷机
注意:推荐使用一台电脑装个双系统,装个全新的ubuntu16.04或ubuntu18.04,因为新机子利用nvidia sdk manager会少一些bug
本次采用ubuntu16.04的物理机,安装的是Jetpack 4.62,Jetpack版本会对应你刷到tx2里的cuda/cudnn以及一些其他包的版本,Jetpack版本越高,其对应的
cuda/cudnn以及一些其他包的版本也越高
刷机步骤:
先上官网下载nvidia sdk manager:https://developer.nvidia.com/nvidia-sdk-manager,点击.deb Ubuntu按钮下载nvidia sdk manager
下载时要登录英伟达帐号,我在一台新机上发现连不上英伟达服务器,不知道是不是vpn的问题,可以从别的电脑下载之后用硬盘拷过去
下载后运行命令安装nvidia sdk manager:
sudo apt install ./sdkmanager_1.4.0-7363_amd64.deb # 文件名对应修改
终端输入:sdkmanager # 运行sdkmanager
打开页面后可能会提示低于最低配置,直接点Yes继续即可
进入登录页面后点Login登录,正常会弹出网页让你登录英伟达帐号,如果没弹出可能是浏览器不兼容,听说只有火狐的兼容
如果不兼容,Login会卡在一半,没关系,点击二维码切换登录方式,点击下方copy utrl粘贴到网址上,会让你输入密码,不用改,直接点登录,
会进到真正的登录界面,再输入英伟达帐号和密码登录即可
登录后开始选择:
Step 1:
注意:不要勾选Host Machine!这个是在本机上安装一个一样的东西,刷机不需要这个,如果勾选,后面下载的时候经常会因为网络问题下载不下来这个
移动端选择tx2,注意此时还不需要连tx2,因此它检测不到tx2是正常的
DeepStream不需要勾选,这个是深度学习用的一些软件包,因为tx2本身容量就不大,装完这些系统盘就会快满掉,这些如果需要可以后面挂在个SD卡后再安装到
SD卡里
选好后点下一步
Step 2:
全部勾选,Jeston OS是刷ubuntu系统进去,Jeston SDK Components是刷cuda/cudnn等一些东西
勾选下方接受条约和Download now, Install later,这个是先下载,等全部下完再安装,这样对网络问题出现错误时比较好解决
选好后点下一步
Step 3:
开始下载,等待即可,点击上方TERMINAL可以查看终端输出,如果有报错,错误信息会显示在这里面
如果出现Error,就点击Retry,一般是因为网络问题导致的,多尝试几次就可以了,注意:这里它中断后下一次下载是在上一次的基础上继续下载,所以不要
担心重新下载,如果Retry不行,还可以关掉nvidia sdk manager,再打开,重新按刚刚的步骤选择,再继续下载。
Step 4:
全部下载成功后点击FINISH结束下载,再重新启动nvidia sdk manager,先把tx2利用nvidia本身送的micro USB线(两头有绿色logo)将tx2和本机连在一起,
不用接网线,用其他micro USB线可能会连不到电脑,我用自己的micro USB线连不到电脑,后来找师兄拿了一条nvidia本身送的micro USB线
如果弄丢了,可以上淘宝买,搜索nvidia tx2的micro USB线
接着开启tx2的强制恢复模式(进入这个模式才能刷机):让TX2连接上电源适配器,但是断电,按下并松开TX2的POWER键;按下并保持FORCE RECOVERY键;在此期间按下并松开RESET键(按下时会发现有个灯闪烁了以下);等待2秒后松开FORCE RECOVERY键,进入强制恢复模式,这时候会发现长按power不能关机了。
在本机(不是tx2,tx2也开不起来了)上终端输入lsusb,可以看到Nvidia Corp对应的ID号为0955:7c18或0955:7e19,表示进入Recovery模式;如果Nvidia Corp对应的ID号为0955:7020,表示未进入Recovery模式
Step1:
这时候Step1中就能自动连接到tx2了
注意:还是不要勾选Host Machine!我记得我有一此不小心勾选了还会报错,取消勾选就好
Step2:
注意:这一次要在Step2时把Download now, Install later勾选起来,相当于已经下载好了
要进行刷机了。
Step3:
等待其进行安装,安装过程中可能会出错,按照TERMINAL里的错误提示对应进行百度
我遇到的两个错误是和ubuntu软件包的源有关,即sudo apt-get update更新软件源会报错
错误1
错误提示:SDK Manager received errors while using apt commands on your system.
意思是apt命令更新源有问题,换源参考网址:https://blog.csdn.net/qq_40301372/article/details/108622277
可以参考b站视频:搜ubuntu16.04换源 up主:机智牛牛小嗨嗨
换源前一定要先备份一份到桌面!
具体命令如下:
sudo cp /etc/apt/sources.list sources_backup.list # 拷贝一份备份
sudo gedit /etc/apt/sources.list # 修改文件
清华镜像源官方地址:https://mirror.tuna.tsinghua.edu.cn/help/ubuntu/
最后我用的默认源,直接把原来的删掉,把以下一段复制进去(这是ubuntu16.04的默认源,ubuntu18.04不适用因为Xenial代号不一样):
#deb cdrom:[Ubuntu 16.04.7 LTS _Xenial Xerus_ - Release amd64 (20200806)]/ xenial main restricted
# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://cn.archive.ubuntu.com/ubuntu/ xenial main restricted
# deb-src http://cn.archive.ubuntu.com/ubuntu/ xenial main restricted
## Major bug fix updates produced after the final release of the
## distribution.
deb http://cn.archive.ubuntu.com/ubuntu/ xenial-updates main restricted
# deb-src http://cn.archive.ubuntu.com/ubuntu/ xenial-updates main restricted
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://cn.archive.ubuntu.com/ubuntu/ xenial universe
# deb-src http://cn.archive.ubuntu.com/ubuntu/ xenial universe
deb http://cn.archive.ubuntu.com/ubuntu/ xenial-updates universe
# deb-src http://cn.archive.ubuntu.com/ubuntu/ xenial-updates universe
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://cn.archive.ubuntu.com/ubuntu/ xenial multiverse
# deb-src http://cn.archive.ubuntu.com/ubuntu/ xenial multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ xenial-updates multiverse
# deb-src http://cn.archive.ubuntu.com/ubuntu/ xenial-updates multiverse
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
deb http://cn.archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse
# deb-src http://cn.archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse
## Uncomment the following two lines to add software from Canonical's
## 'partner' repository.
## This software is not part of Ubuntu, but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
# deb http://archive.canonical.com/ubuntu xenial partner
# deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://security.ubuntu.com/ubuntu xenial-security main restricted
# deb-src http://security.ubuntu.com/ubuntu xenial-security main restricted
deb http://security.ubuntu.com/ubuntu xenial-security universe
# deb-src http://security.ubuntu.com/ubuntu xenial-security universe
deb http://security.ubuntu.com/ubuntu xenial-security multiverse
# deb-src http://security.ubuntu.com/ubuntu xenial-security multiverse
也可以用清华源,我是因为一直忘了删残留信息,所以误以为那几个源不行
再运行sudo apt-get update # 更新源
换源之后还是一直报这个错误:
E: 无法下载 http://mirrors.aliyun.com/deepin/dists/stable/main/binary-amd64/Packages 404 Not Found
E: 部分索引文件下载失败。如果忽略它们,那将转而使用旧的索引文件。
换为任何源都依然显示阿里云的源,这是因为没删残留信息,所以还是用的原来的源
删除之前一定要先备份一份到桌面,以防删除错误!
参考网址:https://www.cnblogs.com/libra13179/p/14628167.html
删除之前一定要先备份一份到桌面,以防删除错误!
具体命令如下:
cd /etc/apt/sources.list.d/
sudo rm -rf *.list
sudo apt clean
sudo apt update
错误2
错误提示:E: Sub-process /usr/bin/dpkg returned an error code (1)
参考网址:
https://blog.csdn.net/stickmangod/article/details/85316142/
需要删除文件夹,删除前先将文件夹备份一份到桌面!
具体命令如下:
sudo mv /var/lib/dpkg/info /var/lib/dpkg/info.bk # 将info文件夹更名
sudo mkdir /var/lib/dpkg/info # 新建一个新的info文件夹
sudo apt-get update # 安装修复
sudo apt-get install -f
sudo mv /var/lib/dpkg/info/* /var/lib/dpkg/info.bk # 将info文件夹下生成的一些文件全部移到info.bk文件夹下
sudo rm -rf /var/lib/dpkg/info # 把自己新建的info文件夹删掉
sudo mv /var/lib/dpkg/info.bk /var/lib/dpkg/info # 恢复原有info文件夹,修改名字
之后就安装成功了
tx2挂载SD卡,并且设置为开机自动挂载
参考网址:
https://blog.csdn.net/zhoubiaodi/article/details/119253254
https://blog.csdn.net/santututu39/article/details/120672037
具体命令如下:
sudo fdisk -lu # 查看硬盘信息,找到硬盘分区,例如/dev/mmcblk1p1
或sudo fdisk -l
mkfs.ext4 /dev/mmcblk1p1 # 格式化SD卡为ext4格式,注意:这里格式的格式要和系统盘一致,可以进入系统盘右键属性查看系统盘的格式
mkdir /my_sd_card/ # 在系统盘创建目录
mount /dev/mmcblk1p1 /my_sd_card # 把SD卡挂载到系统盘my_sd_card目录下,这时进入my_sd_card,右键属性可以看到容量变为SD卡的容量,但是在系统盘右键属性还是原来的容量
把东西放到my_sd_card目录下,系统盘的可用空间不会减少,my_sd_card的可用空间会减少
df -h # 查看挂载情况
chmod +777 /my_sd_card/ # 将SD卡设置为所有用户可用
这样挂载每次开机后都要重新挂载
设置开机自动挂载,修改文件前一定要备份一份到桌面,防止修改错了开不了机!
sudo gedit /etc/fstab # 打开文件编辑
/dev/mmcblk1p1 /home/deeid-2/data/ ext4 defaults 1 2
# 在末尾加上这一行,每个一定要对齐!不然会开不了机
空格不用中间个数都一样,因为不同的盘名字不一样会导致长度不一样,空格相应增加或减少,保证每个/都能对齐,注意:ext4格式要记得改!第一个默认盘是0 1,所以这个盘是1 2
保存并关闭,再重启计算机,打开右上角关于计算机,可以看到Disk变成了280多G,说明自动挂载成功,进入my_sd_card右键属性也可以发现容量是SD卡的容量
如果格式错误或者SD卡被拆下,开机会进入命令界面!!!
sudo vim /etc/fstab # 以vim模式进入之前修改的文件
按键盘i,是编辑模式,移动光标到自己增加的那一行前面,加上#,将其注释掉,再按退出键ESC,再输入:wq,即保存并退出,再输入reboot重启计算机