拿到一台预装环境的Jetson AGX Xavier,却发现无法联网,这种感觉就像得到一辆跑车却加不了油。我的这台设备更绝——某天突然报出RAMDISK write error,直接变成了“砖头”。屏幕上的错误提示清晰写着:RAMDISK: incomplete write (28583 =29663) write error,紧接着系统进入紧急模式,所有命令修复尝试都宣告失败。
查遍NVIDIA官方论坛才发现,这是JetPack 4.5.1(L4T 32.5.1)版本的已知缺陷。解决方案很明确:必须升级到JetPack 4.6/L4T 32.6.1。但问题来了——设备无法联网意味着无法通过常规的sudo apt update完成升级,唯一的出路就是重新刷机。这里有个重要提醒:刷机会清空设备所有数据,如果你也遇到类似情况,务必先通过U盘或外接硬盘备份重要文件。
在Windows主机上通过VMware搭建Ubuntu虚拟机是刷机的第一步,但这里藏着几个关键细节:
从NVIDIA官网下载SDK Manager需要开发者账号注册,这里有个血泪教训:不要用QQ邮箱注册!我换了三个邮箱测试,发现只有Gmail能顺利完成后续流程。安装时如果遇到依赖问题,这个命令组合能解决90%的报错:
bash复制sudo apt --fix-broken install
sudo dpkg -i sdkmanager_[version]_amd64.deb
让Xavier进入恢复模式是个技术活:
我第一次操作时因为松键太快失败了三次,直到发现指示灯状态才是关键信号。成功时虚拟机右下角会弹出设备连接提示,一定要选择"连接到虚拟机",否则主机的SDK Manager会检测不到设备。
当进度条走到40%时会遇到第一个分水岭:
我在这里卡了两天,最后发现是IP地址冲突。解决方法出乎意料的简单:
ifconfig查看IP刷机完成后,最简单的联网方式是通过网线直连路由器。但如果你想通过笔记本共享网络,这个配置比想象中复杂:
bash复制sudo dhclient eth0
如果遇到RTNETLINK answers: File exists错误,先用sudo ip addr flush dev eth0清空配置再重试。
想让Xavier连接WiFi?内置无线网卡驱动可能有问题,我推荐两种方案:
bash复制sudo apt install git dkms
git clone https://github.com/cilynx/rtl88x2bu
cd rtl88x2bu
make && sudo make install
刷机后需要重新配置Python环境,这里分享我的快速恢复方案:
bash复制wget https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-aarch64.sh
bash Miniforge3-Linux-aarch64.sh
bash复制pip install --cache-dir ~/.cache/pip torch==1.12.0 torchvision==0.13.0
bash复制echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc
折腾完这一整套流程,最大的感悟是:Jetson设备的很多问题其实都有迹可循。关键是要理解每个操作背后的逻辑——比如恢复模式本质是通过强制加载bootloader来绕过系统错误,而网络配置的核心在于正确路由数据包。下次再遇到类似问题,至少知道从哪开始排障了。