本篇记录了自己刚拿到Jetson板子后,刻意去学习给板子重刷系统的过程,学会重装系统是玩嵌入式开发板的基操。
注意:我使用的是 Nvidia 官方 SDK Manager 给 Jetson 刷系统的,需要额外准备一台 linux 电脑(双系统或者虚拟机都可)用来运行 SDK Manager,然后通过USB 线连接到 Jetson,实现给 Jetson 刷系统。
另外:重装系统之后发现,系统中干净的很,甚至没有浏览器和中文输入法,在此记录了下安装浏览器的过程
1 下载并安装官方 SDK Manager
下载链接:https://developer.nvidia.cn/sdk-manager
官方文档:https://docs.nvidia.com/sdk-manager/
然后使用 sudo dpkg -i
指令安装 deb 包。
首次安装时可能会存在依赖性问题 :
2 配置 Jetson 到刷机模式
用杜邦线或短接帽将 REC 引脚 与 GND 短接,然后接上电源,插上外接屏幕,并通过USB线(TYPE C口连接Jetson,USB方口连接到电脑)连接到自己的Linux电脑上(我的linux电脑是在Win电脑上安装的双系统),通电,开机
3 打开之前安装的 SDK Manager 开始重装系统
选择 Jetson,取消 Host Machine的 勾选,此时 Target Hardware 那里会自动识别到连接的 Jetson 设备
然后选择想要安装的环境,我使用的是 256G 的固态,不差存储空间,全选了。
这里会先将选择的部分下载到本地。
这一步可以不连接 Jetson 也可以下载,下图就是在我没连接 Jetson 的时候的界面。
如果没连接 Jetson,第二步在下载完之后,就会直接跳到 Finish 中
如果连接了 Jetson 的话就会是下面的界面,点击 continue 开始刷机:
开始刷机。。。
安装开始会让输入linux电脑的密码
过一会儿会跳出下面这个界面,我选择Per-Config,这里可以直接设置即将安装到Jetson上的系统的用户名和密码,输入用户名和密码设定后点击finish 继续
**注意:**如果这里显示 USB 连接有问题的话,一定要检查先 USB 链接的问题。我这里就被亚博智能的迷你机箱坑了一把,装好机箱后,Jetson板子的 TypeC 接口并没有完全露出来,导致TypeC口插上去后不能完全插紧,一直提示USB 连接有问题,我是吧机箱拆了后裸露出 TypeC接口才解决的 问题。
后面正常安装,直到结束
4 安装 firefox 浏览器
安装firefox之前首先可以更换国内的源
这里的源指的是软件源。重装完系统之后默认使用的是阿美丽卡的源,属于外网,这样使用 apt
命令安装软件的时候网络会极其慢甚至下载失败,这里就是要把下载软件的源换成国内的镜像,就会快很多,方法如下:
直接编辑 source.list 文件:
sudo gedit /etc/apt/sources.list
用以下内容替代(清华源):
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ Jammy main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ Jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ Jammy-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ Jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ Jammy-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ Jammy-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ Jammy-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ Jammy-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ Jammy-proposed main restricted universe multiverse
# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ Jammy-proposed main restricted universe multiverse
注意:这里涉及到 ubuntu 版本的问题,这里 Jammy 就是代表 Ubuntu 22.04,如果是其他版本的话,需要用相应的英文代号替换掉 Jammy,常用的 ubuntu 版本及代号如下:
16.04: xenial
18.04: bionic
20.04: focal
22.04: jammy
24.04: noble
BUG 分析:换了源之后执行
sudo apt update
后可能会产生以下问题:
"错误 log 1:"
错误:10 https://ppa.launchpadcontent.net/a-v-shkop/chromium/ubuntu jammy Release
404 Not Found [IP: 185.125.190.80 443]
Could not handshake: Error in the pull function. [IP: 18.172.31.47 443]
正在读取软件包列表... 完成
E: 仓库 “https://ppa.launchpadcontent.net/a-v-shkop/chromium/ubuntu jammy Release” 没有 Release 文件。
N: 无法安全地用该源进行更新,所以默认禁用该源。
N: 参见 apt-secure(8) 手册以了解仓库创建和用户配置方面的细节。
"
分析:这个错误表明 https://ppa.launchpadcontent.net/a-v-shkop/chromium/ubuntu 这个 PPA 源在 Jammy 版本(Ubuntu 22.04)中找不到对应的Release文件,可能是该 PPA 源不再维护或者不支持 Jammy 版本。
解决办法。可以选择移除这个 PPA 源。先找出对应的源文件,一般 PPA 源文件存于 /etc/apt/sources.list.d/ 目录下,文件名通常以 .list 结尾。可以通过以下命令来移除该源文件:
sudo rm /etc/apt/sources.list.d/a-v-shkop-ubuntu-chromium-jammy.list
"
"问题 log 2:"
忽略:1 https://download.docker.com/linux/ubuntu jammy InRelease
错误:1 https://download.docker.com/linux/ubuntu jammy InRelease
"
分析:这个错误显示与 Docker 源进行 SSL 握手时失败,可能是网络问题、SSL 证书问题或者防火墙限制。
可以尝试使用以下方法更新 SSL 证书(我是用这个方式解决的):
sudo apt-get install --reinstall ca-certificates
"
其他几种常用的国内镜像源:
"中科大"
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb http://mirrors.ustc.edu.cn/ubuntu-ports jammy main restricted universe multiverse
# deb-src http://mirrors.ustc.edu.cn/ubuntu-ports jammy main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu-ports jammy-updates main restricted universe multiverse
# deb-src http://mirrors.ustc.edu.cn/ubuntu-ports jammy-updates main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu-ports jammy-backports main restricted universe multiverse
# deb-src http://mirrors.ustc.edu.cn/ubuntu-ports jammy-backports main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu-ports jammy-security main restricted universe multiverse
# deb-src http://mirrors.ustc.edu.cn/ubuntu-ports jammy-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb http://mirrors.ustc.edu.cn/ubuntu-ports jammy-proposed main restricted universe multiverse
# deb-src http://mirrors.ustc.edu.cn/ubuntu-ports jammy-proposed main restricted universe multiverse
"阿里云"
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.aliyun.com/ubuntu-ports/ jammy main restricted universe multiverse
# deb-src https://mirrors.aliyun.com/ubuntu-ports/ jammy main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu-ports/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.aliyun.com/ubuntu-ports/ jammy-updates main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu-ports/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.aliyun.com/ubuntu-ports/s jammy-backports main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu-ports/ jammy-security main restricted universe multiverse
# deb-src https://mirrors.aliyun.com/ubuntu-ports/ jammy-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.aliyun.com/ubuntu-ports/ jammy-proposed main restricted universe multiverse
# deb-src https://mirrors.aliyun.com/ubuntu-ports/ jammy-proposed main restricted universe multiverse
最后执行以下指令安装 firefox:
sudo apt update
sudo apt install firefox
5 安装 google 浏览器
sudo apt update
sudo apt install chromium-browser
6 设置中文环境
sudo apt install language-pack-zh-hans
sudo gedit /etc/locale.gen # 将 "zh_CN.UTF-8 UTF-8" 解注释
sudo update-locale LANG=zh_CN.UTF-8
重启ubuntu即可