【JetPack5.0.1特供版】Jetson NX刷机记录(详细)

背景

JetPack4.6.2里面的TensorRT不支持16G版本的NX,就很烦,看nvidia官网有人员回复说可以试试JetPack5.0.1,那我就试试呗,试试就逝世。行吧,问题稍微有点小多,这次详细点记录下。如果没有特殊需求建议不要用这个版本

过程
  1. 下载VMware,我用的16, 下载ubuntu镜像,我使用的是18.04,创建虚拟机,注意下存储空间建议80G以上,要存东西的。修改镜像源为国内源 (个人是用界面方式修改镜像源,懒得复制粘贴还可以有很多选择)
  2. 下载sdkmanager安装包, 需要有nvidia账号,下载完之后随便放个地方然后打开终端,输入sudo apt install ./xxx.deb进行安装。
  3. 终端输入sdkmanager,然后需要登录nvidia账号,有可能还要更新
  4. 准备NX开发板,手头屏幕键鼠还在用,暂时不插试试命令行。NX开发板断电,用跳线或者杜邦线连接开发板的recovery引脚和地,不同开发板的引脚位置不同,这里看到两种开发板,一种是这个,一种是这个,在这边记录下。随后上电,既进入recovery模式,这时可以把跳线去掉。连接mirco口插usb到电脑。记得设置USB口一直连接虚拟机,不然刷机中途偶尔会断一下每次都要手点连上虚拟机。最近经常碰到虚拟机不跳外设的提示,可以按照如图方式断开或连接:在这里插入图片描述
  5. 登录完后,usb连上之后应该就可以识别到开发板了,如图所示在这里插入图片描述
    我根据我需求选择JetPack5.0.1,再加上deepstream,然后点击continue进入下一步
  6. 由于我这块NX自身只有16G的EMMC,在外部扩展了块128G的SSD,基本上不能把所有软件全部安装在EMMC上(试过,最后只剩几百兆存储,啥都干不了)。因此接下来到step02之后只选择安装OS,勾选什么的如图,然后点击continue:
    在这里插入图片描述
  7. 然后提示输入虚拟机的密码,输入完成后点OK在这里插入图片描述7. 然后弹出一些系统基本设置,这里选择手动setup,然后再在下面输入你给自己开发板设置的用户名和密码,我这边随便输了个,然后点击Flash。在这里插入图片描述
  8. 然后软件就开始刷了,刷的有点小慢,中途软件自己都提示我等太久了,还要不要继续,害。大概半个小时。然后还要等待开发板自己更新下配置,这个时候风扇起飞,更新完自动重启风扇就正常了。在这里插入图片描述
  9. 接下来就要把系统搬到ssd上。想了想还是得插上屏幕键鼠,行吧,暂时拿来搞一下。命令行应该也可以,不过看上去稍微麻烦一点。插上屏幕键鼠之后给开发板连上wifi,然后先格式化硬盘:
    在应用里搜索disks并打开在这里插入图片描述
    选中自己的固态硬盘,进行格式化
    在这里插入图片描述
    然后点击格式化在这里插入图片描述输入自己的密码在这里插入图片描述
    这就格式化完了,然后点击盘下面的加号,分配16G的free space,点击next在这里插入图片描述
    最后安排个名字,这就把盘安排好了。
    在这里插入图片描述
  10. 之前连接过wifi了,接下来可以接着不用屏幕键鼠了,暂停虚拟机,用电脑上的mobaxterm打开串口,登录进去,当然直接用键鼠也是一样的,只是跳过这一步:在这里插入图片描述
  11. 照着别的教程,敲以下命令,git可能不太好连,多试几次:
cd ~/Documents
git clone https://github.com/jetsonhacks/rootOnNVMe.git
cd rootOnNVMe
./copy-rootfs-ssd.sh
./setup-service.sh

一连串下来应该是一气呵成的,中途要输入两次密码。然后sudo reboot重启应该就可以ssd当系统盘了。

  1. 提前修改软件源,后面刷机还需要开发板自己下载一些东西:
sudo vim /etc/apt/sources.list

我这边挑了个用的相对少的源试试。注意JetPack5.0.1是ubuntu20了,后缀是focal,开发板还要带上ports:

deb https://mirrors.ustc.edu.cn/ubuntu-ports/ focal main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu-ports/ focal-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu-ports/ focal-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu-ports/ focal-security main restricted universe multiverse

vim之类的不会敲的话,连着屏幕也可以gedit。像我一样没屏幕的话其实也可以和后面的方法结合,用winscp复制一个自己的sources.list到开发板,然后在终端里面复制过去,我就这么干了。修改完之后update就完事儿了。

sudo apt-get update
  1. 重启reboot敲进去之后就可以继续虚拟机了,可能需要参考第三步的图把串口挂到虚拟机上,然后回到第一步,refresh选择nx开发板,continue进去:在这里插入图片描述
  2. 在第二步注意不要勾选操作系统,只勾选components,我这边顺带勾了develop tools,然后continue:在这里插入图片描述
  3. 输入之前设置的开发板的用户名和密码,ip一般默认的不用改,然后继续在这里插入图片描述
  4. 这就开始装软件了,我这边16:50开始装, 还没结束,盲猜六点半 过六点公司网不好了,行吧溜了 第二天来装一会儿好了,网络真坑。在这里插入图片描述
  5. 屏幕还被占着,行吧,中断虚拟机,用不到了,接着串口操作。接下来还需要稍微修改一些配置,安装一些软件。烦心事儿就来了,刷完软件风扇就拉满了,搜半天找到个解决方法,记录在这边了,在这边也写一下:
sudo systemctl stop nvfancontrol.service
sudo rm /var/lib/nvfancontrol/status
sudo systemctl start nvfancontrol

之后发现这个只能解决一次,搜一会儿找到个解决方案,写在这边:
随便找个地方新建个脚本文件,我就命名它叫fan_init.sh了:
gedit fan_init.sh,或者vim,输入以下内容:

#!/bin/sh -e
sudo systemctl stop nvfancontrol
sudo rm /var/lib/nvfancontrol/status
sudo systemctl start nvfancontrol 
exit 0

然后保存,移动到/etc/init.d,并进行一系列操作:

sudo mv fan_init.sh /etc/init.d               # 文件move到 /etc/init.d/
sudo chmod 777 /etc/init.d/fan_init.sh              # 修改文件权限
sudo update-rc.d fan_init.sh defaults 99            # 脚本添加到启动脚本 , 99代表的优先级,越高执行的越晚

重启完还是不行,话说这边的修改文件权限有必要嘛。 后来一顿尝试,发现在/etc新建一个空的rc.local再重启就可以了,不明白

  1. 安装pip,修改镜像源,并顺带改一下默认python为python3:
sudo apt-get install python3-pip
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150
python -m pip install --upgrade pip
  1. 接下来是自己的需求,安装onnxruntime-gpu,由于官方zoo还没对应包,我是用之前自己编译的whl文件安装。串口里敲下ifconfig看下wlan0的ip,然后用winscp填ip登进去,把whl文件放到随便目录,然后串口里面cd进去,输入:
pip install ./onnxruntime_gpu-1.12.0-cp38-cp38-linux_aarch64.whl
  1. 接下来winscp搬下自己的代码,跑下自己的测试代码,完事儿,开溜~
  • 6
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值