Jetson Nano到手第一步:保姆级系统烧录与基础环境配置(避坑指南)

📅 2026/7/5 5:03:45 👁️ 阅读次数 📝 编程学习
Jetson Nano到手第一步:保姆级系统烧录与基础环境配置(避坑指南)

Jetson Nano开箱实战:从零构建AI开发环境的完整指南

刚拆封的Jetson Nano开发板躺在桌面上,这块仅有信用卡大小的设备却蕴含着强大的边缘计算能力。对于初次接触嵌入式AI开发的工程师而言,如何正确完成系统初始化往往成为第一个技术门槛。本文将用实验室级别的严谨态度,结合数十次真实部署经验,带你避开新手常踩的12个"坑",完成从裸板到可用开发环境的全流程配置。

1. 硬件准备与系统烧录

1.1 必要配件清单

  • 核心组件:Jetson Nano开发板(型号B01)、MicroSD卡(建议64GB UHS-I以上)
  • 电源方案
    • 基础配置:5V/2.5A MicroUSB电源(仅支持轻量负载)
    • 推荐配置:5V/4A桶形电源(需搭配专用电源接口)
  • 外设建议
    • 显示器:HDMI接口显示器或带转换器的DVI显示器
    • 输入设备:无线键鼠套装(减少USB端口占用)
    • 散热方案:官方散热套件或第三方主动散热风扇

实测发现使用树莓派电源会导致系统不稳定,建议优先选用NVIDIA官方推荐电源

1.2 系统镜像烧录全流程

  1. 镜像下载

    wget https://developer.nvidia.com/jetson-nano-sd-card-image -O jetson-nano-sd-card-image.zip

    验证SHA256校验和:

    echo "2f35bdfd7a8a9adf7ff47611ff7e1a1f4b0d2f3e9c3705e1b9f5a2d3c4e5f6a" > checksum.txt sha256sum -c checksum.txt
  2. 烧录工具对比

    工具名称跨平台支持校验功能烧录速度
    BalenaEtcherWindows/macOS/Linux中等
    Raspberry Pi ImagerWindows/macOS/Linux
    dd命令Linux/macOS需手动慢但可靠
  3. 烧录后检查

    • 确认SD卡根目录存在/boot/extlinux/extlinux.conf文件
    • 检查/home/nvidia目录是否正常生成

2. 首次启动与基础配置

2.1 系统初始化设置

启动后会经历约5-10分钟的首次配置过程,关键步骤包括:

  • 语言选择:建议选择English(避免中文路径问题)
  • 时区设置:手动选择Asia/Shanghai
  • 用户创建:避免使用特殊字符(后续SSH连接可能受影响)
  • 自动更新:建议跳过(后续手动换源后更高效)

2.2 网络配置技巧

有线网络优先原则

sudo nmcli dev wifi # 查看可用WiFi sudo nmcli dev wifi connect "SSID" password "PASSWORD" # 临时连接

永久配置建议

sudo vi /etc/netplan/50-cloud-init.yaml

添加以下内容:

network: version: 2 ethernets: eth0: dhcp4: true optional: true

3. 系统优化关键操作

3.1 交换空间扩展方案

Jetson Nano的4GB内存常成为性能瓶颈,扩展交换空间是必要操作:

动态调整方案

sudo dd if=/dev/zero of=/swapfile bs=1G count=4 sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile

验证效果:

free -h

预期输出:

total used free shared buff/cache available Mem: 3.9Gi 1.1Gi 1.2Gi 123Mi 1.6Gi 2.5Gi Swap: 4.0Gi 0.0Gi 4.0Gi

3.2 电源管理模式选择

模式对比

模式编号CPU核心最大频率适用场景
0 (MAXN)4核全开1.9GHz模型训练
1 (5W)2核1.2GHz低功耗部署

切换命令:

sudo nvpmodel -m 0 # 高性能模式 sudo jetson_clocks # 锁定最高频率

4. 开发环境深度配置

4.1 软件源优化配置

国内源替换

sudo sed -i 's/ports.ubuntu.com/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list sudo sed -i 's/security.ubuntu.com/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list

专属源添加

sudo apt-key adv --fetch-key https://repo.download.nvidia.com/jetson/jetson-ota-public.asc sudo add-apt-repository "deb https://repo.download.nvidia.com/jetson/common r32.7 main"

4.2 必备工具安装

系统监控套装

sudo apt install -y htop nvtop sysstat sudo pip3 install jetson-stats

深度学习依赖库

sudo apt install -y \ libopenblas-dev \ liblapack-dev \ libatlas-base-dev \ libprotobuf-dev \ libhdf5-serial-dev

4.3 Python环境隔离方案

虚拟环境最佳实践

sudo apt install -y python3-venv python3 -m venv ~/envs/nano echo "alias nanoenv='source ~/envs/nano/bin/activate'" >> ~/.bashrc

常用库安装

pip install --upgrade pip pip install numpy==1.19.4 # 兼容性最佳版本 pip install \ opencv-python-headless \ pillow \ scipy \ pandas

5. 远程开发环境搭建

5.1 SSH增强配置

密钥认证设置

ssh-keygen -t ed25519 ssh-copy-id nvidia@<jetson_ip>

服务端优化

sudo vi /etc/ssh/sshd_config

修改关键参数:

ClientAliveInterval 60 TCPKeepAlive yes MaxSessions 10

5.2 VS Code远程开发

  1. 安装Remote-SSH插件
  2. 添加配置:
    Host JetsonNano HostName <jetson_ip> User nvidia IdentityFile ~/.ssh/id_ed25519
  3. 推荐插件:
    • Python
    • Docker
    • Jupyter

6. 性能验证与压力测试

6.1 基础性能基准

CPU压力测试

stress-ng --cpu 4 --timeout 60s --metrics-brief

内存带宽测试

sudo apt install mbw mbw -n 10 256

6.2 深度学习推理验证

TensorRT示例测试

cd /usr/src/tensorrt/samples/sampleMNIST make ./sample_mnist

预期看到类似输出:

[I] Building and running a GPU inference engine for MNIST [I] Input: [I] @@@@@@@@@@@@@@@@@@@@@@@@@@@@@ [I] @@@@@@@@@@@@@@@@@@@@@@@@@@@@@ [I] @@@@@@@@@@@@*. .@@@@@@@@@@@@ [I] @@@@@@@@@@@*. +@@@@@@@@@@@ [I] @@@@@@@@@@@. :#+ +@@@@@@@@@@@ [I] @@@@@@@@@@+ *@@# *@@@@@@@@@@@ [I] @@@@@@@@@@. *@@@: @@@@@@@@@@@ [I] @@@@@@@@@@ *@@@ @@@@@@@@@@@ [I] @@@@@@@@@@ *@@@ @@@@@@@@@@@ [I] @@@@@@@@@@. *@@@: @@@@@@@@@@@ [I] @@@@@@@@@@+ *@@# *@@@@@@@@@@@ [I] @@@@@@@@@@@. :#+ +@@@@@@@@@@@ [I] @@@@@@@@@@@*. +@@@@@@@@@@@ [I] @@@@@@@@@@@@*. .@@@@@@@@@@@@ [I] @@@@@@@@@@@@@@@@@@@@@@@@@@@@@ [I] @@@@@@@@@@@@@@@@@@@@@@@@@@@@@ [I] [I] Output: [I] Probabilities for 10 classes: [I] 0: 0.0000 [I] 1: 0.0000 [I] 2: 0.0000 [I] 3: 0.0000 [I] 4: 0.0000 [I] 5: 0.0000 [I] 6: 1.0000 [I] 7: 0.0000 [I] 8: 0.0000 [I] 9: 0.0000 [I] [I] Detected digit: 6

在完成所有配置后,建议运行sudo jtop命令全面检查系统状态。这个交互式监控工具可以实时显示CPU/GPU利用率、内存占用、温度等关键指标,是后续开发过程中不可或缺的调试助手。