前言
烧录好Jetson Orin Nano的系统镜像只是一切的开始,系统需要做一些便于后续开发的设置,SDK和其他系统组件也需要在Jetson Orin Nano中一步步安装。这些内容都是可选的,即使不做,仍然不妨碍后续的开发使用。
一、系统的个性化设置
1. 系统设置向导
这是Ubuntu系统的通用配置,特别是要连接好Wi-Fi,按照习惯配置好这部分内容,这里不过多赘述了。

2. 安装语言包
如果是新手需要使用桌面环境边学习边开发,那么中文界面还是相对比较重要的。打开系统设置并找到"Region & Languae"选项,点击"Manage Installed Languages"按钮,弹出"Language Support"窗口。会同时弹出语言信息的升级提示框:

点击"Update"按钮升级。在网络环境畅通的情况下,会弹出补全安装语言组件的提示:

点击"Install"按钮,装好后,看上去好像没有什么反应:

在语言列表中,找到"Chinese(China)",拖拽到最上边,并点击"Apply System-Wide"按钮应用到系统:

点击"Regional Formats"选项卡,将数字和日期格式也改为"Chinese(China)",并点击"Apply System-Wide"按钮应用到系统:

重启系统使设置生效。
3. 配置输入法
与《Ubunu 22.04安装之后》那篇文章中的配置方式相同,这里也不再赘述。配置完同样需要重启电脑使之生效:

4. 能耗和隐私
开发Jetson Orin Nano的时候可能采用USB网卡等方式远程开发,最好不要让系统息屏或锁屏,在系统设置中找到"隐私"选项,在"屏幕"选项中,将"息屏延时"设置为"从不",将"自动锁屏"关闭,"挂起时锁定屏幕"也关闭。

5. 卸载雷鸟
这个软件出现在Jetson Orin Nano中毫无必要,按照《Ubunu 22.04安装之后》那篇文章中的操作卸载即可。
6. 更新系统组件
打开软件更新器,按照提示更新系统组件:

7. 安装Chromium浏览器
在开发过程中,免不了直接在Jetson Orin Nano桌面下搜索一些资料或者开个AI对话,有个浏览器就很必要了。打开软件商店,搜索"Chromium":

点击正确的浏览器选项,然后在默认版本下点击"安装"按钮即可,注意需要等待的安装时间会比较长。

8. 使用apt命令更新系统组件
打开终端,输入命令更新系统组件:
bash
sudo apt update
sudo apt upgrade
二、增加一块硬盘并自动挂载
Jetson Orin Nano的官方载板含有两个NVME硬盘位,一个2280 PCI-E 3.0 x4硬盘位常用于系统盘,另一个2230 PCI-E 3.0 x2硬盘位可作为扩展盘位,用于存储日志等信息,防止重装系统造成的数据丢失。
1. 安装并格式化硬盘
本文使用一块128G的2230 NVME硬盘作为扩展硬盘演示。确认Jetson Orin Nano已关机断电,将此扩展硬盘安装到盘位中。

开机后看到此硬盘已位于系统任务栏中:

打开"终端",运行lsblk命令来查看所有已连接的存储设备:
bash
lsblk
这个命令会列出所有磁盘。可以看到,这个128G的硬盘被识别为nvme1n1了:

确认硬盘名无误后,在任务栏右键点击该硬盘,并在弹出的菜单中选择"卸载",以便对其进行格式化操作:

输入指令将硬盘格式化为一个ext4分区:
bash
sudo mkfs.ext4 /dev/nvme1n1
弹出确认,输入"y"并等待结束即可:

2. 创建/data目录挂载点
在"终端"中输入命令创建/data目录并作为挂载点:
bash
sudo mkdir -p /data
将扩展硬盘挂载到这个目录上:
bash
sudo mount /dev/nvme1n1 /data
这样,硬盘就已经临时挂载好了。可以向此目录中创建一个文件试试好不好用:
bash
sudo touch /data/test.txt && ls /data/
通过"终端"显示的内容和"文件"窗口都能看到文件被成功创建了:

3. 设置开机自动挂载
通过修改fstab文件实现可实现硬盘的开机自动挂载,首先需要做的是获取硬盘的UUID。这是因为用UUID挂载比直接用/dev/nvme1n1更稳定,能够避免设备名变化导致的挂载失败,在"终端"中输入下面的指令:
bash
sudo blkid /dev/nvme1n1
输出结果类似这样:
bash
/dev/nvme1n1: UUID="c7573baa-5d63-4902-a0b2-671f2724d1f9" TYPE="ext4"
复制输出结果双引号""里的UUID字符串,保存好备用。
由于Jetson Orin Nano的系统Linux for Tegra默认只带了vim编辑器,所以这里使用vim编辑fstab:
bash
sudo vim /etc/fstab
此时,文件虽然已在终端中打开,但处于vim的"命令模式",按下键盘上的"i"键进入"插入模式",此时终端窗口下方会出现"--插入--"的字样,表示现在可以输入/编辑文本了。用方向键将光标移动到文件末尾,新起一行,添加类似下面的内容(记得替换 UUID 为你的实际值):
bash
UUID=c7573baa-5d63-4902-a0b2-671f2724d1f9 /data ext4 defaults 0 2
效果如图:

先按"Esc"键退出"插入模式",回到"命令模式",然后先后按":wq"三个按键,再按"Enter"键退出。这里的"w"表示"write","q"表示"quite"。
接下来很重要,运行下面的命令,让系统重新加载所有fstab中的配置。如果没有任何错误信息,说明配置是正确的:
bash
sudo mount -a
如果有任何报错,立即重新用vim编辑fstab的指令重新检查刚才添加的那一行内容。常见错误是UUID复制错了。
最后重启系统,来验证是否生效。重启后,重新打开"终端",运行以下命令看nvme1n1是否已经成功挂载到/data目录下:
bash
df -h
从输出结果或磁盘工具中都可以看到已经成功挂载了:

但是现在/data目录的所有者仍是root,修改权限让普通用户也能自由读写:
bash
sudo chown -R $USER:$USER /data
到这里,数据盘就完美挂在到Jetson Orin Nano的系统上了。
4. 一个巧合的麻烦
这里创建的/data目录是很多老练的程序员最习惯创建的数据目录名称,当然也包含了一些开发系统组件的程序员。Jetson Orin Nano系统的一个组件OP-TEE正好把/data/tee当作工作目录,所以当这块扩展硬盘以/data目录的身份正常工作时,OP-TEE将向这块硬盘中持续写入一些数据。这回导致这块硬盘的温度明显偏高,关机时也可能会慢个几秒钟。

OP-TEE (Open Portable Trusted Execution Environment,开放便携式可信执行环境) 是NVIDIA Jetson平台上一个核心底层安全组件,是芯片内部一个独立的"安全世界",专门用来处理密钥、加密等敏感操作。OP-TEE在执行后台任务时,会持续读写/data分区。这种频繁的操作让固态硬盘始终处于工作状态,热量不断累积,导致发热现象,使用合格的硬盘不会对开发工作造成影响,可以安全使用。
总结
对Jetson Orin Nano的系统做出合适的配置有助于提升开发工作的效率,可以根据实际项目情况对系统做个性化的配置。