Jetson Nano的U盘启动烧录镜像eMMC与安装依赖组件(Jetbotmi
eMMC( Multi Media Card,嵌入式多媒体卡)版本的烧录方法,eMMC简单来说也是一种SD卡,只不过是焊接在主板上。
在一块干净的板子上面烧录,一般是下面三个步骤,做完之后就跟电脑使用U盘来启动系统一样,当然更像是 To Go
烧录三大步骤:烧录核心板的系统、烧录eMMC引导、烧录U盘镜像
1、 Nano的核心板的系统版本和U盘的系统版本要对应(比如U盘已经烧录了V4.5.1版本,那么 Nano核心板的系统版本也必须是V4.5.1,否则无法USB启动)
2.、USB启动的思路是先启动核心板里的系统,再由核心板的系统引导到U盘上启动。
3.、核心板里的系统需要使用来烧录系统,U盘里的系统需要使用 来烧录。
在烧录之前,如果使用的是系统,可以安装虚拟机加载Linux镜像来做下面的操作,虚拟机的安装
1、烧录核心板的系统
操作系统,我这里使用虚拟机加载的系统,我们打开浏览器进入,来到" SDK 方式"这个地方,点击"如果您使用的是 ORIN 或 开发者套件 >",点击"下载 SDK "
将跳转到这个页面,本人是系统所以选择.deb格式,
下载好了之后来到这个目录,安装SDK (注意自己下载的名称,版本号会随着更新而变化)
sudo dpkg -i sdkmanager_1.9.1-10844_amd64.deb
如果报错找不到依赖文件,输入以下命令:
sudo apt --fix-broken install
打开, Nano连接虚拟机.04。此时需要让 Nano进入到REC刷机模式(将跳线帽[某宝100个包邮才2块多钱]连接到FC REC和GND这两个引脚,也就是连接到核心板下方载板的第二和第三个引脚)【跳线帽就是内置一根导线,让这两个针脚短路连接,所以也叫做短路帽】这两个引脚的意思是,恢复和接地。
将HDMI显示屏、鼠标、键盘和数据线连接到 Nano上,最后再接入电源。由于上一步已经将跳线帽连接到FC REC和GND引脚,所以上电开机后会自动进入REC刷机模式。
在软件选择 为 Nano ,Linux 。其中可选,这个看自己需要是否勾选
如果在 显示未连接状态,请确认设备是否进入REC刷机模式并连接上虚拟机,然后刷新。这里注意一下使用虚拟机需要把设备设置为连接到虚拟机上。
如果没弹出提示,可以在虚拟机的右下角手动连接:找到 APX后点击连接到虚拟机。颜色亮了表示已连接到虚拟机。
默认会勾选 OS和 SDK ,表示刷入系统和SDK,可以单独选系统OS或者软件SDK,但是单独刷入软件SDK前需要保证已经刷入系统OS(由于 Nano自带的eMMC容量只有16G,所以安装不了SDK,只能选择刷入OS系统)
文件下载路径保持默认就好,勾选协议,点击下一步。输入虚拟机的密码。此时会先下载需要烧录的文件,等待烧录文件下载完成即可开始烧录系统。
等待系统OS烧录完成后, Nano会自动重启进入系统,此时需要根据系统提示设置系统的基本功能,比如用户名与密码等!
最后需要注意:烧录完系统后,请将FC REC和GND之间的跳线帽拔掉。
2、烧录eMMC引导
这个烧录同样是在系统完成!
Nano连接虚拟机,准备好 nano主板,跳线帽,显示屏,鼠标键盘等。
让 Nano进入系统REC刷机模式(将跳线帽连接到FC REC和GND引脚,也就是连接到核心板下方载板的第二和第三个引脚)
将HDMI显示屏、鼠标、键盘连接到 Nano上,再接入电源,最后插入数据线。
正常情况下,插入数据线后会弹出窗口,选择连接到虚拟机。
将.tar.gz文件传入 18.04系统,并打开终端运行解压命令。
tar xzvf Jetson_Boot_USB.tar.gz
解压后进入到文件夹:
cd Jetson_Boot_USB
ls查看目录里的文件列表
运行烧录eMMC引导文件的命令
sudo ./flash.sh -r jetson-nano-devkit-emmc mmcblk0p1
最后等待文件烧录进入eMMC上,成功会提示
The has been . Reset the board to boot from eMMC
如果出现错误信息,请确认 Nano是否正常连接,并且进入刷机模式,重新按照第一步进行连接。
烧录完成后,请拔掉 Nnao的跳线帽,再插入U盘,重新上电开机。
3、烧录U盘镜像
这个直接就在环境即可
烧录U盘系统的方式的与烧录TF卡系统的流程是一样的,准备的U盘建议大于32G,本次烧录U盘的步骤不需要 Nano参与。
首先格式化U盘,使用,这里注意一定不能选错Drive。如果U盘里已经有烧录过系统的,可能第一次格式化会出错,再执行一次就可以了。
解压下载的系统镜像压缩文件(.rar),得到.img格式的镜像文件,将U盘插入电脑USB口,运行工具
选择上面解压的镜像文件.img和U盘,然后点击写入,就开始烧录系统了。
烧录结束后会弹出完成对话框,说明安装就完成了,如果不成功,请关闭防火墙一类的软件,重新插入U盘进行烧录。请注意安装完,系统下看到U盘分成多个分区并且无法点击进入,这是正常现象,因为Linux下的磁盘分区下是看不到的!
烧录成功后系统可能会因为无法识别分区而提示格式化分区,不要格式化!不要格式化!不要格式化!点击取消,然后弹出U盘,最后将U盘插入到 Nano主板的USB口上。
至此就完成了对主板的系统安装,接下来我们安装一些无人车需要的组件。
安装组件
安装前一般更新源,在做AI项目前建议先做如下两个步骤的操作,避免安装一些库时会找不到安装地址,导致后面频繁出错。
sudo apt-get update
sudo apt-get full-upgrade
#安装nano编辑器
sudo apt-get install nano
1、安装pip
sudo apt-get install python3-pip python3-dev
python3 -m pip install --upgrade pip #升级pip
这里需要修改pip3文件:
sudo nano /usr/bin/pip3
将下面这段内容
from pip import mainif __name__ == '__main__':sys.exit(main())
修改为
from pip import __main__
if __name__ == '__main__':sys.exit(__main__._main())
修改之后ctrl+s保存,然后ctrl+x退出即可
pip3 -V
这里我修改之后报错:: 'pip.' has no '_main'
所以我这里还是没有修改,查看版本号pip3 -V,是否升级成功
pip3 -V
'''
WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip.
Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue.
To avoid this problem you can invoke Python with '-m pip' instead of running pip directly.
pip 21.3.1 from /home/yahboom/.local/lib/python3.6/site-packages/pip (python 3.6)
'''
python3 -m pip --version
#pip 21.3.1 from /home/yahboom/.local/lib/python3.6/site-packages/pip (python 3.6)
2、安装依赖包
下面是正常运行是需要安装的包:
依赖包
版本
-GPIO(本地安装)
1.0.4
-(本地安装)
1.4.0
-
0.2.3
-(本地安装)
1.6.2
Flask
1.1.2
.GPIO
1.0.0
numpy
1.16.4
(本地安装)
3.4
5.2.0
其中备注本地安装的包直接安装,速度可能会比较慢
sudo pip3 install 包名
或者安装上面下载的本地安装包【依赖包】:
sudo python3 setup.py install
安装cmake
sudo apt-get install cmake
如果安装出现版本不兼容的问题,可以指定版本号来安装,比如pip numpy==1.16.4