
1. 从开箱到点亮Jetson Nano 2GB的初次见面如果你刚拿到这块NVIDIA Jetson Nano 2GB开发板看着它小巧的绿色身板和一堆接口可能会有点无从下手。别担心这几乎是每个嵌入式开发者的必经之路。Jetson Nano 2GB作为NVIDIA边缘计算生态的入门级产品以其相对亲民的价格和完整的CUDA支持成为了学习AI、计算机视觉和机器人项目的绝佳平台。但和所有嵌入式设备一样第一步“安装系统”就是一道门槛它不像在PC上装个Windows那么简单涉及到镜像选择、烧录、硬件配置和初次启动调试等一系列步骤。这篇文章我就以一个过来人的身份带你手把手走一遍这个流程把那些官方文档里一笔带过、但实际操作中又容易卡壳的细节都掰开揉碎了讲清楚。我们的目标很简单让你手里的这块板子从一块“砖头”变成一个可以运行Ubuntu、能调用GPU的智能边缘设备。2. 准备工作不只是下载一个镜像那么简单在动手烧录系统之前充分的准备工作能避免你后续80%的麻烦。很多人觉得不就是去官网下个镜像用工具写到SD卡里吗但魔鬼往往藏在细节里。2.1 核心硬件与配件清点首先确保你手头有所有必需的硬件。对于Jetson Nano 2GB你需要Jetson Nano 2GB开发板本体检查一下版本确保是2GB版本它与4GB版本在电源和部分接口上略有不同。MicroSD卡这是系统的“硬盘”。容量至少32GB强烈建议选择64GB或以上。速度等级至少为Class 10或UHS-I读写速度越快系统运行和后续安装软件包的体验就越好。我吃过亏用了一张低速卡编译OpenCV时那个等待时间简直让人崩溃。5V 2.5A DC电源适配器这是为2GB版本供电的唯一推荐方式。2GB版取消了4GB版上的Micro-USB供电接口只保留了桶形电源接口。务必使用规格匹配的电源供电不足会导致系统不稳定、随机重启这是新手最容易踩的坑之一。显示器与线缆Jetson Nano自带一个Micro HDMI接口你需要一根Micro HDMI转标准HDMI的线缆来连接显示器。初次安装有个显示器会直观很多。USB键盘和鼠标用于初始设置和操作。有线网络连接可选但推荐虽然板载Wi-Fi但在初始安装和后续大量下载更新时有线网络更稳定快速。准备一根网线。注意很多教程会提到可以用跳线帽J48选择供电模式这在4GB版本上常见。但对于2GB版本官方文档明确指出了仅支持DC电源适配器供电请勿尝试其他供电方式以免损坏设备。2.2 系统镜像的选择与下载这是关键一步。NVIDIA为Jetson系列提供的是定制化的Ubuntu系统称为JetPack SDK。它包含了适配好的Linux内核、驱动程序、CUDA、cuDNN、TensorRT等一整套软件栈。访问下载页面前往NVIDIA开发者网站的Jetson Nano下载页面。你需要注册一个NVIDIA开发者账号免费这是下载的必要条件。选择正确的版本你会看到多个JetPack版本如4.6, 5.0/5.0.2等。对于新手我建议选择长期支持且社区资料丰富的版本例如JetPack 4.6.1。它基于Ubuntu 18.04非常稳定几乎所有主流AI框架TensorFlow, PyTorch都有完善的适配教程。较新的JetPack 5.x/6.x基于Ubuntu 20.04/22.04带来了更新的内核和软件包但可能在早期遇到一些第三方库的兼容性问题。本文将以JetPack 4.6.1为例进行演示其原理和步骤对新版本同样适用。下载镜像找到对应Jetson Nano 2GB的SD卡镜像文件通常是一个.img或.xz压缩文件。文件大小在6GB到8GB左右确保你的网络环境良好。2.3 烧录工具的选择与使用有了镜像文件我们需要把它“刻录”到SD卡上。在Windows、macOS和Linux上都有可靠的工具。Windows/macOS首选BalenaEtcher。这款工具开源、免费、界面极其简单几乎不会出错。你只需要“选择镜像”、“选择SD卡驱动器”、“点击烧录”三步。它会自动处理解压.xz文件等过程。Linux命令行dd命令。这是最经典强大的工具但需要谨慎操作因为一旦选错目标磁盘可能会清空你的电脑硬盘。基本命令如下# 首先用 lsblk 或 sudo fdisk -l 确认你的SD卡设备名比如是 /dev/sdb # 确保该设备未被挂载umount /dev/sdb* # 使用dd命令烧录假设镜像解压后为 jetson-nano-2gb.img sudo dd if./jetson-nano-2gb.img of/dev/sdb bs1M statusprogress警告of参数后的设备名如/dev/sdb千万不能写错必须是SD卡对应的整块设备而不是某个分区如/dev/sdb1。执行前请再三确认。烧录过程视SD卡速度而定可能需要10-30分钟。完成后安全弹出SD卡。3. 首次启动与系统初始化配置将烧录好的SD卡插入Jetson Nano底部的卡槽连接好显示器、键盘、鼠标、网线最后接上电源。你会看到绿色的电源指示灯亮起板载的散热风扇开始转动如果有的话屏幕上出现NVIDIA和Ubuntu的启动Logo。3.1 完成Ubuntu首次设置向导启动过程结束后会进入一个图形化的设置界面和你在PC上安装Ubuntu桌面版的过程非常相似。你需要依次完成选择语言和键盘布局通常选择英语或中文。连接Wi-Fi网络可选如果你使用网线可以跳过。连接Wi-Fi需要点时间因为要加载驱动。下载更新这里建议选择“跳过”或“不更新”。原因在于首次启动时通过图形界面更新可能会因为网络或软件源问题导致卡死或耗时极长。我们更推荐在系统完全启动后在终端里用命令行更新这样更可控。创建用户账户设置你的用户名、计算机名和密码。请记住这个密码后续的sudo操作都需要它。等待配置完成系统会进行一些最后的配置然后自动登录到Ubuntu桌面环境。3.2 至关重要的首次系统更新与配置登录桌面后先别急着欢呼。为了让系统处于最佳状态我们需要进行一些关键的后续操作。打开终端按CtrlAltT打开终端。更换软件源默认的Ubuntu软件源服务器可能在国外速度很慢。我们需要将其替换为国内的镜像源如阿里云、清华、中科大源。备份原有源列表sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup编辑源列表sudo nano /etc/apt/sources.listnano是一个简单的命令行文本编辑器也可以用vim。将文件里所有ports.ubuntu.com替换为mirrors.aliyun.com以阿里云为例。如果你不熟悉命令行编辑也可以直接下载对应Ubuntu版本18.04代号bionic的源文件覆盖。执行系统更新sudo apt update # 更新软件包列表 sudo apt full-upgrade # 升级所有已安装的软件包比 upgrade 更彻底这个过程会下载几百MB的更新取决于网络速度可能需要一段时间。期间可能会询问是否重启服务按回车确认默认选项即可。安装中文语言包可选如果你在安装时选了中文但界面还是英文可以运行sudo apt install language-pack-zh-hans然后在“系统设置”-“语言支持”里添加并设置中文。验证NVIDIA驱动与CUDA更新完成后重启系统。再次进入系统后打开终端输入以下命令进行验证nvidia-smi如果安装正确你会看到一个表格显示Jetson Nano的GPU状态、驱动版本和CUDA版本。对于JetPack 4.6.1CUDA版本通常是10.2。再输入cat /etc/nv_tegra_release这会显示完整的JetPack版本信息如# R32 (release), REVISION: 7.1, GCID: 29888, BOARD: t210ref, ...。4. 深度配置与性能调优系统装好了能跑起来了但这只是开始。要让Jetson Nano 2GB这块小板子真正发挥出边缘AI的潜力还需要进行一些“精装修”。这些配置很多不会在标准教程里提到但却是提升开发体验和系统稳定性的关键。4.1 交换空间Swap扩容Jetson Nano 2GB只有2GB的LPDDR4内存这在运行一些稍大的模型或同时开启多个应用时非常吃紧。系统默认配置的交换空间可能不够。我们可以通过增加交换文件来缓解内存压力本质上是在SD卡上划出一部分空间作为虚拟内存。禁用默认交换空间sudo swapoff /swapfile创建新的交换文件这里我们创建一个8GB的交换文件大小可根据你的SD卡容量调整建议4GB-8GB。sudo fallocate -l 8G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile启用并设置为永久sudo swapon /swapfile # 编辑 /etc/fstab 文件在末尾添加一行使其开机自动挂载 echo /swapfile swap swap defaults 0 0 | sudo tee -a /etc/fstab验证使用free -h命令查看Swap一行确认总大小已变为约8GB。实操心得交换空间是在SD卡上频繁读写会影响SD卡寿命和系统响应速度。这只是个“救急”方案。最佳实践是在开发时尽量优化你的代码和模型减少内存占用。对于生产环境如果条件允许考虑使用带eMMC存储的版本或Jetson Orin Nano等内存更大的设备。4.2 电源模式与时钟频率设置Jetson Nano有几种不同的运行模式对应不同的功耗和性能。5W模式这是默认模式CPU和GPU频率被限制功耗低发热小。10W模式需要跳线帽在4GB版本上或通过软件命令在2GB版本上开启解锁更高的CPU/GPU频率性能更强但需要保证散热。对于2GB版本我们可以通过nvpmodel工具来切换模式。查看当前模式sudo nvpmodel -q切换到10W模式MAX-Nsudo nvpmodel -m 0切换到5W模式5Wsudo nvpmodel -m 1重要提示在10W模式下务必确保你的散热方案足够官方的小散热片加风扇是基本要求。长时间高负载运行建议使用带有主动风扇的散热外壳。你可以使用jetson_clocks工具来临时最大化所有时钟频率用于性能测试但日常不建议常开sudo jetson_clocks4.3 安装必备的系统工具一些工具能极大提升开发效率。JTop这是一个类似于PC上htop或nvidia-smi的监控工具但专为Jetson设计。它能实时显示CPU/GPU利用率、频率、温度、内存、功耗、JetPack组件版本等所有关键信息是调试和性能分析的利器。sudo -H pip install -U jetson-stats # 安装后重启然后在终端输入 jtop 运行文件传输工具在开发机和Jetson之间传文件。如果两者在同一网络scp命令是最简单的。你也可以安装vsftpd搭建FTP服务器或使用samba共享文件夹使其在Windows网络邻居中可见。远程桌面如果你不想一直连着显示器和键鼠可以启用VNC或使用XRDP。我个人推荐XRDP它使用Windows自带的远程桌面协议连接方便。sudo apt install xrdp sudo systemctl enable xrdp sudo systemctl start xrdp安装后在Windows的“远程桌面连接”里输入Jetson的IP地址用你创建的系统用户名密码登录即可。5. 常见问题排查与避坑指南即使按照步骤操作你也可能会遇到一些“坑”。这里我总结几个最常见的问题及其解决方案。5.1 系统无法启动卡在Logo或黑屏这是最让人头疼的问题。请按以下顺序排查电源问题概率最高确保你使用的是5V 2.5A的电源适配器并且接口接触良好。电源功率不足是导致启动失败、随机重启的首要元凶。尝试更换一个质量更好的电源。SD卡问题劣质或低速SD卡会导致系统无法正常读写。重新使用BalenaEtcher烧录一遍镜像确保烧录过程无报错。如果可能换一张品牌好、速度快的SD卡如SanDisk Extreme, Samsung EVO Plus系列再试。镜像问题确认下载的镜像文件完整无误。可以对比官网提供的MD5或SHA256校验和。显示器问题尝试更换一根HDMI线或者换一个显示器。有些显示器与Jetson Nano的HDMI输出存在兼容性问题。5.2 网络连接不稳定或无法连接Wi-Fi有线网络如果网线连接后没有自动获取IP尝试手动设置静态IP或重启网络服务sudo systemctl restart network-manager。无线网络Jetson Nano 2GB的Wi-Fi模块有时驱动加载会有问题。首先检查Wi-Fi是否被禁用在终端输入rfkill list如果看到Wi-Fi被soft blocked或hard blocked使用rfkill unblock wifi解锁。更新网络管理器配置sudo nmcli radio wifi on。如果依然不行尝试重新安装驱动包sudo apt install --reinstall bcmwl-kernel-source然后重启。5.3nvidia-smi命令报错或显示异常如果运行nvidia-smi提示 “NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver”说明GPU驱动没有正常加载。检查内核模块运行lsmod | grep nvidia如果没有任何输出说明驱动模块未加载。尝试手动加载sudo modprobe nvidia然后再次运行nvidia-smi。查看驱动安装状态dpkg -l | grep nvidia-*查看是否有相关的驱动包。如果缺失你可能需要重新刷写系统镜像或者在能联网的情况下尝试sudo apt install nvidia-jetpack来修复安装但这通常不如重刷镜像干净。内核头文件问题在某些自定义内核或更新后可能会出现内核头文件不匹配。对于JetPack系统最稳妥的修复方式还是重刷官方镜像。5.4 系统运行缓慢响应迟钝除了前面提到的内存和交换空间问题还有以下可能SD卡性能瓶颈这是嵌入式设备的通病。确保你使用的是高速SD卡A2, V30标准。所有系统读写都在SD卡上进行低速卡会严重拖慢整体体验。后台更新或索引首次启动后系统可能在后台进行文件索引updatedb或检查更新。可以等待一段时间或使用htop命令查看是哪个进程占用了高CPU/IO。过热降频运行jtop查看温度。如果温度持续超过70-80度CPU/GPU会主动降频以保护硬件。改善散热是唯一解决办法。6. 下一步搭建你的AI开发环境系统安装和基础配置完成后你的Jetson Nano 2GB就已经是一个功能完整的边缘AI计算平台了。接下来你可以根据项目需求安装Python、TensorFlow、PyTorch、OpenCV等深度学习框架和计算机视觉库。NVIDIA的JetPack已经预装了CUDA和cuDNN这为你省去了最复杂的配置环节。我个人建议的下一步是安装Miniforge或Conda用于创建独立的Python环境避免系统Python环境被污染。安装PyTorch for Jetson前往PyTorch官网选择对应JetPackCUDA 10.2和Python版本的预编译包进行安装这是目前对Jetson支持最好的框架之一。编译安装OpenCV with CUDA虽然系统有OpenCV但通常未开启CUDA加速。自己编译一个支持CUDA的OpenCV能极大提升视觉处理速度。这个过程比较耗时在Nano上可能需要数小时但值得。记住在Jetson这样的资源受限设备上开发与在服务器上完全不同。你需要时刻关注内存占用、功耗和散热。从这个小板子开始你会更深刻地理解模型优化、量化、剪枝这些技术的重要性。每一次成功的环境配置和模型部署都是向边缘AI开发迈出的坚实一步。