Jetson 系统安装
使用Nvidia的SDKmanager安装Jetson的操作系统。
以下内容均为个人理解,可能有偏差,但我不想听。
以下内容拒绝转载。
1. 基础概念:
1. Jetpack:Jetson 的固件(系统)有对应的Jetpack版本,不同系列的Jetson可以安装不同版本的Jetpak,但同一个版本的Jetpack不一定能支持所有系列的Jetson。比如我们的JetsonNano就只能安装最高版本为4.6.4的Jetpack。
2. SDKmanager:这是用以将Jetpack安装到Jetson的emmc或者TF卡中的上位机软件。他只能运行在Linux系统中,不支持Windows也不支持中文。同时他也有很多版本,不是所有的SDKmanager都能支持所有版本的Jetpack,一般选择1.9.2。
3. Ubuntu:Ubuntu作为Linux的中流砥柱,即便商用好像也不收钱,(忙猜这是Jetson选他的原因)。他也有很多版本,不同版本的SDKmanager安装在不同版本的Ubuntu系统中,注意要根据Jetson的系列来选Jetpack,然后根据Jetpack的版本选择Ubuntu的版本。
4. 总而言之,如果是JetsonNano就选Ubuntu18.04安装SDKmanager1.9.2,使用Jetpack4.6.4即可。
5. 可以根据下表查看各个版本信息(https://developer.nvidia.cn/sdk-manager)


2. 虚拟机的安装:
1. 需要使用VMware,建议使用VMware Workstation。而经过测试使用VirtualBox无法进行安装,原因在于在安装过程中sdkmanager会自动进行多次断掉USB后重新链接,在这过程中VirtualBox无法响应或者区分USB设备而造成的。
2. 如果操作系统本身就是适合对应Jetpack版本的Linux,则无需安装虚拟机。
3. 安装VMware,无需赘述。
4. 分配虚拟机性能,最低需要8GB的内存,硬盘空间最少40GB,建议60-100GB。
5. 安装Ubuntu系统,无需赘述。虚拟机也需要联网。用以下载SDKmanager和Jetpack。
6. 启动虚拟机。

3. SDKmanager的安装:
1. 下载SDKmanager的.deb安装包至桌面。
2. 进入控制台(Ctrl+Alt+T)。
3. 在控制台中输入 “cd Desktop” 后回车,将控制台路径设置为桌面。
4. 在控制台中可以使用“ls”来查看目前路径中的文件列表。
5. 在控制台中输入“sudo apt install ./sdkmanager_1.9.2-10899_amd64.deb” 后回车,将安装SDKmanager。
6. 等待安装完成。
7. 可选删除桌面的SDKmanager的.deb安装包。
8. 在控制台中输入“sdkmanager“启动SDKmanager。(不可使用root权限运行)(图形化界面,SSH无效。)

4. 使用SDKmanager安装系统固件:
1. 打开SDKmanager后,使用Nvidia Developer账户登陆后,会进入STEP 01.
2. Jetson操作:
1. 使用跳线帽短路FC_REC和GND。
2. 使用MicroUSB连接到主机。
3. 按照开发板要求使用对应电压的电源接入开发板。
3. 在开发板上电后,在VMware的弹窗中或者是右下角的USB符号中选择USB设备:NVIDIA APX接入虚拟机。
4. 此时SDKmanager中STEP 01的HARDWARE CONFIGURATION中会自动识别此开发板,如果开发板不对,可以手动选择,但需要无比确保已经识别到了开发板才行。
5. 取消STEP 01的HARDWARE CONFIGURATION中的Host Machine勾选。(可选)。这个是装在Ubuntu的系统(虚拟机)中的上位机,干啥用的我也不知道,好像也没有啥教程说这个。
6. 取消STEP 01的ADDITIONAL SDKS中的DeepStream勾选。(可选)。类似OpenCV这样的视频处理库,用来加速图像处理。可以后期装,一般用不上。
7. 确认STEP 01的TARGET OPERATING SYSTEM中的Jetpack的版本号。
8. 点击CONTINUE,进入STEP 02。

9. 勾选STEP 02的"I accept the terms and conditions of the licenese agreemenets."
10. 根据需求选择是否勾选STEP 02的Jetson SDK Components。为啥说这个要可选,因为EMMC版本的16G装完这些以后只有MB级别的存储空间剩余了。此外,勾选这个,可能会将安装时常延长4-10倍。
11. 点击CONTINUE,进入STEP 03。

12. 如果弹窗说需要一定的硬盘空间,则点击Continue同意,并输入Ubuntu的系统的密码后点击OK。
13. 选择下载模式从"Automatic Setup"改为"Manual Setup"。
14. 输入Jetson想要设置的账户与密码后点击Flash。

15. USB会自动的断线重连数次(刚开始大概3次,快烧完了大概2次,有出入,原因不明),这是正常现象,并开始烧录,可以通过进度条查看烧录和下载的进程。

16. 最后一次USB掉线重连后,Jetson则已经完成了系统安装,就会自动退出REC模式,以正常启动的模式进入系统。而USB设备从 NVIDIA APX 变为 NVIDIA USB DEVICE(Linux_for_Tegra),即成为一个名为"L4T-README"的USB DISK和一个USB 网卡。此网卡会给Ubuntu分配IP地址,同时将Jetson的IP设置为192.168.55.1。
17. 当SDKmanager给Jetson安装好系统后,则进入安装SDK的配置连接界面。因为此时Jetson已经完成了系统的安装,而之后安装SDK是相当于Ubuntu自动远程连接(USB或者网卡)到Jetson后,控制Jetson安装的,所以此时我们稍稍等半分钟,等Jetson启动后再进行操作。(如果之前STEP 02没有勾选Jetson SDK Components,则没有这一步)。
18. 此时首先要将USB设备NVIDIA USB DEVICE(Linux_for_Tegra)分配给Ubuntu的虚拟机,然后点击Instal进行SDK的安装。

19. 当烧录系统和安装SDK完成后,点击FINISH即可完成烧录。

20. 将Ubuntu虚拟机关机。
21. Jetson操作:
1. 断开Jetson的电源
2. 去除短路FC_REC和GND的跳线帽。
3. 保持MicroUSB连接到主机。
4. 按照开发板要求使用对应电压的电源接入开发板。

6. 基本设置:
1. 通过USB接口进行SSH连接:保持USB连接,使用Putty的SSH连接至192.168.55.1,端口22.输入之前设置的jetson的账户与密码即可。
2. 插入网线联网。
3.安装pip:sudo apt-get install python-pip
4.安装pip3:sudo apt-get install python3-pip
5.安装Jtop:sudo pip3 install jetson-stats
7. 基本命令:
1. 查看基本信息:jetson_release
2. 查看网络状态(IP、MAC):ipconfig
3. 运行python:python / python2 / python3
4. 查看jetson状态:sudo jtop
5. 查看资源信息:tegrastats
6. 查看Jetson功耗模式:nvpmodel -q
7. 设置Jetson功耗模式:MAX:sudo nvpmodel -m 0
8. 设置Jetson功耗模式:5W:sudo nvpmodel -m 1
