Jetson Nano刷机及环境配置


1. 将系统镜像写入microSD卡

准备工作

下载以下文件

解压下载的系统镜像。
安装SD Card FormatterEtcher

建议复制下载链接到迅雷下载

准备一张microSD卡,一台具有能够通过内置SD卡插槽或适配器读取和写入SD卡的计算机
下载Jetson Nano Developer Kit SD卡映像,并记下它在计算机上的保存位置。

格式化microSD卡

  • 下载,安装并启动Windows版SD存储卡格式化程序
    SD Card Formatter
  • 选择需要格式化的SD卡的磁盘卷标(Select card)
  • 选择Quick Format(快速格式化)
  • 将“卷标”留空*(Volume label这一栏不要填任何东西)
  • 单击Format(格式化)开始格式化,然后在警告对话框上单击“是”

写入系统镜像

  • 下载,安装并启动Etcher
    Etcher
  • 单击Select image(选择镜像),然后选择刚刚下载的镜像文件
    如果尚未插入,请插入microSD卡。如果Windows出现如下对话框提示您,请单击“ 取消”。
    TIPS
  • 单击“选择驱动器”,然后选择正确的设备
    在这里插入图片描述
  • 单击“Flash!”
    如果您的microSD卡通过USB 3.0连接,则Etcher大约需要10分钟来写入和验证系统镜像。
    Etcher完成后,Windows可能会告诉您它不知道如何读取SD卡。只需单击“取消”,然后取出microSD卡。

2. 激活系统

输入用户名、密码、地区、语言、键盘等信息。
进入系统。
勾选自动登录。


3. 激活CUDA

Jetson nano默认已经安装了CUDA 10.0,但是还需要手动激活。
所以直接运行 nvcc -V,检查安装的CUDA版本信息是不会成功的,需要把CUDA的路径写入环境变量中。
在桌面右击,选择打开终端。
或者直接按CtrlAltT快捷键调出终端。
输入:

sudo gedit ~/.bashrc	# 使用超级管理员权限编辑.bashrc,可能需要输入密码

在弹出的文本编辑器里,最后面的位置,添加下面三段文字(注意代码里是usr不是user)。
具体的文件地址可能需要视具体情况而定。

export CUBA_HOME=/usr/local/cuda-10.0
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-10.0/bin:$PATH

保存退出,一定要等记事本窗口下面的saving结束后再退出。
对了最后别忘了source一下这个文件。

source ~/.bashrc	# 重新执行刚修改的初始化文件,使之立即生效,

到这里CUDA就导入成功了。

扫描二维码关注公众号,回复: 11284784 查看本文章

终端输入:

nvcc -V		# 查看CUDA的版本信息

可以看到CUDA的版本信息。


4. 安装numpy

nano系统镜像默认没有安装numpy包,会导致python3无法import cv2
现在需要安装这个包。
同样在桌面右击,选择打开终端。
或者直接按CtrlAltT快捷键调出终端。
输入:

sudo apt-get update						# 更新软件列表
sudo apt-get install python3-numpy		# 安装numpy扩展包

5.安装OpenCV

先检查一下是否为Python3安装了Opencv
终端输入:

python3

在python控制台输入:

import cv2

如果出现import error,则说明OpenCV没有安装,此时则需要安装OpenCV

sudo apt-get install python3-opencv		# 安装OpenCV

6.安装PyQt5

验证PyQt5是否安装:

python3		# 进入Python3的终端
import PyQt5

如果显示import error,则没有安装PyQt5
此时则需要安装PyQt5。
这里不建议从源码安装PyQt5。
安装可以在终端输入以下指令:

pip3 install PyQt5 -i https://pypi.douban.com/simple	# 从豆瓣的镜像安装PyQt5

7. 安装darknet

  • 克隆darknet到本地
    同样在桌面右击,选择打开终端。
    或者直接按CtrlAltT快捷键调出终端。
    输入:
git clone https://github.com/pjreddie/darknet.git
# 从github上克隆源代码 cd darknet # 切换到darknetr的这个目录
  • 修改Makefile
    注意,现在是在darknet的这个目录下!
    在这个目录下,右击文件管理器的空白出,选择打开终端。
    输入:
cp Makefile Makefile.bak 	# 备份Makefile文件
gedit Makefile 				# 编辑Makefile文件

由于Jetpack已经安装好了CUDA、cuDNN和OpenCV,所以将Makefile前三行的内容修改为如下:

GPU=1		# 使用GPU进行编译
CUDNN=1		# 使用cudnn进行编译
OPENCV=1 	# 使用opencv进行编译

保存退出。

  • 编译darknet

注意,现在是在darknet的这个目录下!
在这个目录下,右击文件管理器的空白处,选择打开终端。

make -j4		# 使用4个线程编译darknet
  • 测试
./darknet imtest data/eagle.jpg		# 测试OpenCV demo

如果出现几副动态的的老鹰的,那就说明darknet编译成功。


8.安装GPIO

  • 检查是否安装GPIO
    Jetson.GPIO库已经预装在Nano,无需再安装其他GPIO Python库,如果安装了其他GPIO库需先卸载方可以正常适用Jetson.GPIO, 预安装路径:
/opt/nvidia/jetson-gpio

如果上面的目录没有对应的文件,则GPIO没有预先安装。

  • 安装GPIO
    如果没有预安装GPIO,则需要安装一下GPIO。
sudo pip3 install Jetson.GPIO

运行Jetson.GPIO前需要执行以下步骤,建立GPIO运行环境。

  • 设置用户权限
    为了使用Jetson GPIO库,必须首先设置正确的用户权限/组。
    创建一个新的gpio用户组。然后将您的用户添加到新创建的组中。
sudo groupadd -f -r gpio
sudo usermod -a -G gpio your_user_name	# 此处yourusername替换为自己的用户名
  • 检查GPIO安装位置
pip3 show Jetson.GPIO

在相应目录找到99-gpio.rules,记下这个文件的文件地址。

  • 复制99-gpio.rules
    通过将99-gpio.rules文件复制到rules.d目录中来安装自定义udev规则。如果您已将源代码下载到Jetson.GPIO。99-gpio.rules的具体位置需要各位自己检查。
sudo cp lib/python/Jetson/GPIO/99-gpio.rules /etc/udev/rules.d/
  • 重新加载udev规则
    为了使新规则生效,您需要通过运行以下命令重新引导或重新加载udev规则:
sudo udevadm control --reload-rules && sudo udevadm trigger
  • 重新启动
sudo reboot now

至此Jetson Nano所需的系统及环境基本安装完毕。
恭喜进入嵌入式AI的坑。

猜你喜欢

转载自blog.csdn.net/LK007CX/article/details/105384487