V1.0.0 – by Holden
Date : 2021-10-22
NVIDIA 在2019年NVIDIA GPU技术大会(GTC)上发布了Jetson Nano开发套件,这是一款售价99美元的计算机,现在可供嵌入式设计人员,研究人员和DIY制作商使用,在紧凑,易用的平台上提供现代AI的强大功能。完整的软件可编程性。Jetson Nano采用四核64位ARM CPU和128核集成NVIDIA GPU,可提供472 GFLOPS的计算性能。它还包括4GB LPDDR4存储器,采用高效,低功耗封装,具有5W / 10W功率模式和5V DC输入;
Nano按照内存划分为两种,左边是4GB型号,右边是2GB型号,如下图所示(当然,4GB也有两种,但是外观一致);
本文章使用的是Jetson Nano 4GB版本;
完全兼容这些框架和NVIDIA领先的AI平台,可以比以往更轻松地将基于AI的推理工作负载部署到Jetson。Jetson Nano为各种复杂的深度神经网络(DNN)模型提供实时计算机视觉和推理。这些功能支持多传感器自主机器人,具有智能边缘分析的物联网设备和先进的AI系统。甚至转移学习也可以使用ML框架在Jetson Nano上本地重新训练网络。
更多介绍可以查看官方网站: https://developer.nvidia.com/embedded/learn/get-started-jetson-nano-devkit#intro
开题说明,一切以官方的刷机教程为准,任何问题,只有官方可以给你最权威的解答!!!
点击下载需要登录Nvidia的账号,如果没有需要注册账号才能下载,建议使用外网下载。
文件大小大概6.5G左右,附上我已经下载好的百度云链接:
4GB内存镜像–>链接: https://pan.baidu.com/s/1E3ybUCxzxqSNZAHjdvqJaA 密码: lg43
2GB内存镜像–>链接: https://pan.baidu.com/s/1dCqKd2Hjp6mXz5X2tJ24Zg 密码: l6lw
Jetson Nano Ubuntu烧录工具下载链接:https://www.balena.io/etcher/
打开链接会直接自动识别本机的系统,我下载的是Linux64位的软件,这个网站下载东西可能很慢。
附上我已经下载好的附上我已经下载好的百度云链接: https://pan.baidu.com/s/1Gfi77-rimCC3P7MH182ikw 密码: oiln
使用时直接运行既即可
$ ./balenaEtcher-1.5.122-x64.AppImage
将TF卡插入到读卡器,并插入到电脑主机的USB口,进行以下步骤;
1、点击Flash form file选择刚才下载好的SD Card Image压缩包
2、点击select target选择要烧录到的TF卡(有的也会自动识别TF卡),点击Flash
3、需要输入电脑主机密码
4、烧录成功
将烧录好的TF卡插入到Jetson Nano开发板上,连接好鼠标、键盘、显示器、最后连接电源,启动开发板;
能看到初次进入界面,安装引导直接Next就行;
原生镜像会默认安装了cuda、cudnn等,系统安装后需要进行以下配置:
[1] .导出cuda路径到bashrc
export LD_LIBRARY_PATH=/usr/local/cuda/lib
export PATH=$PATH:/usr/local/cuda/bin
[2] .安装ROS(melodic 版本)
参考ROS 官方安装教程:http://wiki.ros.org/cn/melodic/Installation/Ubuntu;
[1] 当我们在 Jetson Nano开发板上安装了各种工程以及各种环境后,需要进行新的镜像导出,以下为导出方法;
[2] 将TF卡取出并插入读卡器,将读卡器插入Ubuntu 主机。
[3] 在主机上新开一终端,并输入如下指令查看SD卡的分区名。
$ sudo fdisk -u -l
显示如下,我的TF卡分区为/dev/sdc
Disk /dev/sdc: 29.2 GiB, 31312576512 bytes, 61157376 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: B81CC800-DEB8-47E1-A23C-04D0D166A06A
Device Start End Sectors Size Type
/dev/sdc1 28672 61155327 61126656 29.2G Linux filesystem
[4] 重新打开一个终端输入如下指令,这样就会在~/
目录下生成镜像文件Jetson-Nano.img.gz
$ sudo dd if=/dev/sdc conv=sync,noerror bs=4M | gzip -c > Jetson-Nano.img.gz
运行以下指令可以查看克隆进度
$ sudo pkill -USR1 -n -x dd
克隆成功会在~/目录下生成镜像文件
[1] 当我们在第4小节中导出新的镜像后需要导入到新的Jetson Nano,以下是导入方法;!!!注意,一定是同个型号的Jetson Nano!!!
[2] 将需要烧写的TF卡通过读卡器插入Ubuntu 主机,TF卡必须大于32G,并进行格式化!!!
[3] 在主机上新开一终端,并输入如下指令查看SD卡的分区名。
$ sudo fdisk -u -l
显示如下,我的TF卡分区为/dev/sdc
Disk /dev/sdc: 29.2 GiB, 31312576512 bytes, 61157376 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: B81CC800-DEB8-47E1-A23C-04D0D166A06A
Device Start End Sectors Size Type
/dev/sdc1 28672 61155327 61126656 29.2G Linux filesystem
[4] 烧写镜像到TF卡
$ sudo -s
$ gunzip -c Jetson-Nano.img.gz | dd of=/dev/sdc bs=4M
同样重新打开一个终端,运行以下指令可以查看烧录进度
$ sudo pkill -USR1 -n -x dd
将烧录成功的TF卡插入到新的Nano,接上电源启动;
1.调控Jetson Nano风扇PWM
$ sudo sh -c 'echo 140 > /sys/devices/pwm-fan/target_pwm' ##140代表调节PWM(0-255)
2. 安装jtop,查看各种GPU、CPU 等各种指标占用
首先安装支持环境包
$ sudo apt-get install git cmake
$ sudo apt-get install python3-dev
$ sudo apt-get install libhdf5-serial-dev hdf5-tools
$ sudo apt-get install libatlas-base-dev gfortran
然后用pip安装
$ sudo -H pip install -U jetson-stats
如果pip 不可以安装,更改为pip3即可
$ pip3 install --upgrade pip
$ pip3 install jetson-stats
然后直接执行jtop
3. 安装其他应用(wireshark、libpcap、openssl、glog、Tcpdump、git、Visual Studio Code…)
写了一键安装脚本,有需要可以直接百度云网盘下载(密码是73j1):install_Jetson Nano.sh;
脚本内容部分如下:
#!/bin/bash
#######################################################################################################
echo -e "\033[32m =====> Installing Dependancy <===== \033[0m"
## install basic third-part libraries ##
#install libpcap
sudo apt-get install -y libpcap-dev
#install openssl
sudo apt-get install -y openssl
sudo apt-get install -y libssl-dev
#install protobuf
sudo apt-get install -y libprotobuf-dev protobuf-compiler
#install wireshark
sudo apt-get install -y wireshark
#install doxygen
sudo apt-get install -y doxygen
4. Jetson Nano开启 VNC 远程服务
[1] 修改以下文件
$ sudo gedit /usr/share/glib-2.0/schemas/org.gnome.Vino.gschema.xml
添加一个节点
<key name='enabled' type='b'>
<summary>Enable remote access to the desktopsummary>
<description>
If true, allows remote access to the desktop via the RFB
protocol. Users on remote machines may then connect to the
desktop using a VNC viewer.
description>
<default>falsedefault>
key>
[2] 编译
$ sudo glib-compile-schemas /usr/share/glib-2.0/schemas
现在就能通过鼠标打开 Desktop Sharing 了 , 注意不要勾选 You must confirm each access to this machine, 否则还需要鼠标点一下确认才能远程;
[3] 使用VNC
如果通过 ssh 远程到 Nano,,先运行下面命令;
$ /usr/lib/vino/vino-server
可以把上面这条命令加入到 gnome-session-properties,做成开机自启动;
然后使用 ubuntu 自带的 remmina 或其他工具连接即可
[4] 无显示器VNC远程分辨率异常解决方法
在VNC进入Nano后,运行下面命令可以将分辨率修改为1024x768;
$ xrandr --fb 1024x768
可以把上面这条命令加入到 gnome-session-properties,做成开机自启动;
到这里基本完成基本的安装,感谢阅读,有什么疑问可以一起交流;