1. VMware虚拟机安装与Ubuntu 18.04配置
如果你正准备开始Jetson Nano的开发工作,那么配置一个合适的开发环境是第一步。我推荐使用VMware虚拟机来安装Ubuntu 18.04系统,这是最稳定可靠的方案。为什么选择虚拟机?因为它能让你在不影响主机系统的情况下,创建一个完全隔离的开发环境,特别适合需要频繁测试不同配置的场景。
首先需要下载VMware Workstation Pro 16(或更新版本),这个版本对Ubuntu 18.04的支持最好。安装过程很简单,一路点击"下一步"即可。重点在于创建虚拟机时的参数设置:
- 内存建议分配4GB以上(Jetson Nano开发需要较多内存资源)
- 处理器核心数建议分配2-4个
- 硬盘空间至少60GB(系统镜像和SDK工具会占用大量空间)
- 网络适配器选择"桥接模式"(方便后续设备连接)
安装Ubuntu 18.04时有个常见问题需要注意:很多人在安装完成后发现无法上网。这是因为NetworkManager服务可能出现问题。解决方法很简单,在终端执行以下命令:
sudo service NetworkManager stop sudo rm /var/lib/NetworkManager/NetworkManager.state sudo service NetworkManager start这个问题的根源在于网络管理服务的状态文件可能损坏,删除后重启服务就能恢复正常。我在多个项目中都遇到过这个问题,这个小技巧能节省不少调试时间。
2. VMware Tools安装与优化配置
装好Ubuntu系统后,第一件事就是安装VMware Tools。这个工具包太重要了 - 它能实现主机和虚拟机之间的文件拖拽、剪贴板共享、屏幕自适应等功能。我刚开始用虚拟机时没装这个工具,结果开发效率大打折扣。
安装方法有两种,我推荐使用命令行方式,更稳定可靠:
sudo apt-get autoremove open-vm-tools sudo apt-get install open-vm-tools-desktop sudo reboot这三条命令会先清理旧版本(如果有),然后安装桌面版工具,最后重启生效。相比图形界面安装方式,命令行方法出错率更低,我在不同机器上测试过十几次,从未失败过。
安装完成后,建议立即做以下优化设置:
- 调整屏幕分辨率到适合的大小
- 启用共享文件夹功能(方便主机和虚拟机交换文件)
- 配置定期快照(防止系统崩溃时丢失工作进度)
特别提醒:VMware Tools安装后,虚拟机的性能会有显著提升,特别是图形界面操作会流畅很多。这对后续使用SDK Manager这样的图形化工具非常重要。
3. 网络配置与调试技巧
网络问题是虚拟机环境下最常见的坑。我遇到过无数次因为网络配置不当导致SDK Manager无法正常工作的状况。经过多次实践,总结出几个关键点:
首先是网络模式选择:
- 桥接模式:虚拟机获得独立IP,和主机在同一局域网
- NAT模式:虚拟机共享主机IP
- 仅主机模式:仅与主机通信
对于Jetson Nano开发,强烈建议使用桥接模式。这样既能让虚拟机上网下载软件包,又方便后续通过USB连接开发板。
如果遇到网络不稳定,可以尝试以下命令检查:
ping www.baidu.com -c 4 # 测试外网连通性 ifconfig # 查看IP配置 route -n # 检查路由表有时DNS解析会出问题,这时需要修改resolv.conf文件:
sudo nano /etc/resolv.conf添加可靠的DNS服务器,比如:
nameserver 8.8.8.8 nameserver 114.114.114.114保存后执行sudo systemctl restart networking使配置生效。这些网络调试技巧在后续使用SDK Manager下载组件时会非常有用。
4. 关键依赖项安装与环境准备
在开始烧录系统前,需要确保Ubuntu环境安装了所有必要的依赖项。根据我的经验,缺少任何一个都可能导致烧录失败。以下是必须安装的软件包:
sudo apt-get update sudo apt-get install -y \ python3 \ python3-pip \ python-is-python3 \ libxml2-dev \ libxslt1-dev \ zlib1g-dev \ libffi-dev \ libssl-dev \ make \ build-essential这些基础依赖装好后,还需要配置Python环境。Jetson Nano的很多工具都依赖特定版本的Python库:
pip3 install --upgrade pip pip3 install setuptools==45.2.0 pip3 install wheel特别注意:不要随意升级setuptools到最新版,某些版本与SDK Manager存在兼容性问题。我在三个不同项目中都遇到了因setuptools版本过高导致的问题,最后锁定在45.2.0版本最稳定。
另一个常见问题是USB设备识别。要确保虚拟机能够识别连接的Jetson Nano开发板,需要在VMware设置中将USB控制器设置为USB3.0模式,并勾选"显示所有USB输入设备"。这样当开发板进入刷机模式时,虚拟机才能正确捕获到设备。
5. SDK Manager安装与配置
SDK Manager是NVIDIA官方提供的系统烧录工具,但它的安装过程可能会遇到各种问题。我总结出两种最可靠的安装方法:
方法一:命令行安装(推荐)
cd ~/Downloads sudo dpkg -i sdkmanager_1.5.0-7774_amd64.deb sudo apt --fix-broken install方法二:图形界面安装直接双击.deb文件,使用软件中心安装
无论哪种方法,安装完成后都需要登录NVIDIA账号。这里有个小技巧:先在浏览器中登录好NVIDIA开发者网站,再启动SDK Manager,这样能避免一些认证问题。
配置SDK Manager时要注意几个关键选项:
- Target Hardware选择"Jetson Nano"
- JetPack版本选择与你的开发需求匹配的版本(新手建议选最新稳定版)
- 安装路径不要包含中文或特殊字符
- 如果使用EMMC版本,记得只勾选OS Image(16GB空间不够安装完整SDK)
烧录过程中最常见的错误是设备连接问题。确保:
- 开发板已进入REC模式(FC_REC脚接GND)
- 在VMware菜单中选择"可移动设备"→"连接Jetson Nano到虚拟机"
- 如果设备未识别,尝试更换USB线或USB端口
6. 系统烧录实战与问题排查
开始烧录前,建议先做好以下准备:
- 确保电源稳定(最好使用官方电源适配器)
- 准备HDMI显示器、键盘鼠标(首次启动需要配置)
- 网络连接稳定(下载组件可能需要较长时间)
烧录过程分为几个阶段:
- SDK Manager下载所需组件(耗时最长,取决于网速)
- 将系统镜像写入开发板存储
- 自动重启并完成初始设置
我遇到过的典型问题及解决方法:
问题一:下载中途失败
- 原因:网络不稳定或服务器连接超时
- 解决:配置好代理或更换网络环境,重新开始
问题二:设备连接丢失
- 现象:烧录到20%左右突然断开
- 解决:检查USB线是否松动,确保使用优质数据线
问题三:空间不足
- 现象:EMMC版本提示存储空间不够
- 解决:只刷入OS Image,SDK后续通过USB存储扩展安装
烧录完成后,记得立即移除FC_REC和GND之间的跳线帽,否则每次启动都会进入刷机模式。首次启动时会进行系统初始化,这里要特别注意:
- 用户名和密码务必牢记(后续SSH连接需要)
- 时区选择要正确(影响日志时间戳)
- 建议开启SSH服务方便远程访问
7. 开发环境后续优化建议
系统烧录完成后,还有几个优化步骤能让后续开发更顺畅:
1. 配置SSH免密登录
ssh-keygen -t rsa ssh-copy-id username@jetson-nano-ip2. 安装常用开发工具
sudo apt-get install -y \ git \ cmake \ terminator \ htop \ vim3. 配置VSCode远程开发
- 安装Remote-SSH扩展
- 连接到Jetson Nano
- 安装Python/C++等必要插件
4. 性能监控设置
sudo apt-get install -y jetson-stats sudo systemctl enable jetson_stats.service这些优化能让你的开发效率提升数倍。特别是jetson-stats工具,可以实时监控CPU/GPU使用率、温度和功耗,对性能调优特别有用。
最后提醒一点:定期为虚拟机创建快照。在进行重大系统变更前,创建一个还原点,这样如果出现问题可以快速回退。我在开发过程中养成了每完成一个重要阶段就做快照的习惯,这个好习惯至少帮我节省了上百小时的故障排查时间。