硬件:
图 Jetson 核心板和Jetson基础板
组装如图:
系统烧写:
参考文章:
(20条消息) [NVIDIA]-1 入手Jetson Xavier NX 刷机+开机配置+系统烧录+Bring up_darnell888的博客-CSDN博客_jetson nx 刷机
1、官方固件下载
英伟达官网L4T 下载页面 给出了系列的开发下载资源,对于 Jetson Xavier NX 系统烧录,我们暂时关注两个:
(1)Sample Root Filesystem: 点击跳转至官方下载链接
对应文件:“Tegra_Linux_Sample-Root-Filesystem_R32.4.2_aarch64.tbz2”
(2)L4T Driver Package (BSP):点击跳转至官方下载链接
对应文件:“Tegra186_Linux_R32.4.2_aarch64.tbz2”
**************************踩坑提示******************
在这一步的时候是用虚拟机联网直接下载,出现得到问题是Tegra_Linux_Sample-Root-Filesystem在提取时无法完整提取,考虑可能时创建虚拟机时的磁盘分配原因或者时其他原因,导致目录var没有提取出来,而且用的虚拟机下载完文件之后如果没有及时提取(解压)会导致文件丢失,在后续到操作中也有会问题,建议是在主机端下载后用WinCP传给虚拟机
******************************************************
2、虚拟机环境准备
(1)Virtual Box :Ubuntu 20.04 ************红色批注是踩过的坑
后来在一篇博客上面得知使用Ubuntu16.04烧写比较稳定,还有就是软件,推荐用VMware
(2)内存:3.8GiB
(3)磁盘:20 GB ************红色批注是踩过的坑,建议用40G
3、在Ubuntu中创一个目录已用于储存第一步下载的文件
对应命令:
mkdir nx
4、make sure “qemu-user-static” package 在你安装的虚拟机系统中已经安装,如果没有apt安装下(交叉编译相关):
对应命令:
sudo apt-get install qemu-user-static
5、把第一步下载好的文件移到创建的目录nx之下
在这一步执行时,因为前面是直接在虚拟机内下载的文件,所以移过来的时候已经是解压好的
6、解压文件
因为前面所以我们跳过此步,但是需要把Tegra_Linux_Sample-Root-Filesystem这个文件解压到Linux_for_Tegra/rootfs/里,我这里就将已解压的直接复制过去(没有var这个目录,无法提取不知道什么原因)
7、执行 apply_binaries.sh
在Linux_for_Tegra目录下运行下面命令
对应命令:
sudo ./apply_binaries.sh
此步报错!!!可能是缺少var目录
********************************************************************
后来重新创建了一个虚拟机,这次用40GiB的硬盘内存,继续执行
sudo ./apply_binaries.sh
之后显示
来到烧写操作
8、使用usb连接线连接 虚拟机 和 Jetson basebord
执行命令:
sudo ./flash.sh p3449-0000+p3668-0001-qspi-emmc mmcblk0p1
报错:
找不到设备
检查了usb设备也没问题(对应命令:lsusb)
后来在查看文档才知道是usb接错了口了
调整usb接口后执行命令
sudo ./flash.sh p3449-0000+p3668-0001-qspi-emmc mmcblk0p1
系统开始烧写
烧写执行到20左右开始报usb设备错误和cpu错误
经网上搜索后得知Virtual Box的usb接口与Jetson板子的接口不是很匹配
***************************************************************************
于是
重新开始
这次我们用的是VMware,Ubuntu镜像为16.04,磁盘内存40G(建议不要用高版本Ubuntu)
这一次也不是在虚拟机下载第一步的文件
- 在自己的windos电脑里面下载官方提供的文件
1)Sample Root Filesystem:
对应文件:“Tegra_Linux_Sample-Root-Filesystem_R32.4.2_aarch64.tbz2”
(2)L4T Driver Package (BSP):
对应文件:“Tegra186_Linux_R32.4.2_aarch64.tbz2”
- 在虚拟机中创建一个目录nx,用WinSCP软件把前面下载的压缩包传到虚拟机的nx目录里
遇到的问题,用VMware创建的虚拟机不能直接远程登陆
解决用putty连接VMware虚拟机问题:
●采用NAT模式连接网络,解决没有网络问题
●开启ssh:
参考: 大佬
- 检测是否已安装ssh服务,输入以下命令
ssh localhost
出现以下提示则为未安装:
ssh: connect to host localhost port 22: Connection refused
(ssh:连接到主机本地主机端口22:连接被拒绝)
- 安装ssh-server
sudo apt-get install openssh-server
- 启动服务
sudo /etc/init.d/ssh start
启动成功会提示:
[ ok ] Starting ssh (via systemctl): ssh.service.
- 检查服务是否启动成功
ps -e|grep ssh
若有下面提示则启动成功
6455 ? 00:00:00 sshd
●输入ifconfig查看一下ip地址
●打开cmd 测试一下是否ping通虚拟机
●用putty远程连接(方便输入命令)
继续操作
打开winSCP把需要的两个文件传到虚拟机的nx目录下
3、解压固件并构建文件系统
(1)解压bsp(在nx目录下)
$ tar xf Tegra186_Linux_R32.4.2_aarch64.tbz2
4、切到Linux_for_Tegra/rootfs/目录下,解压并构建文件系统
$ cd Linux_for_Tegra/rootfs/
$ sudo tar xpf ../../Tegra_Linux_Sample-Root-Filesystem_R32.4.2_aarch64.tbz2
5、执行 apply_binaries.sh
切回Linux_for_Tegra目录 cd ..
执行:sudo ./apply_binaries.sh
等待结果
6、开始烧写
(1)用usb连接jetson到虚拟机(注意要用lsusb命令查看)
(2)给开发板上电
(3)执行烧录命令:
sudo ./flash.sh p3449-0000+p3668-0001-qspi-emmc mmcblk0p1
一切顺利,大概20-30分钟,最后打出
至此系统烧写成功
开机测试,烧写成功后我迫不及待的上电,接上显示器
果然事情没有那么简单,虽然系统烧写成功却没有画面
*********************************************************
此前一直使用一个type-c做转接,后得知有的板子虽然备有很多接口但只以HDMI-mini作为默认输出口,于是在网上购置HDMI-mini线。
*********************************************************
线到了之后接上开机,显示开机画面
执行到此卡死,不清楚是什么原因,于是重新上电,系统已经可以用了
至此开机完成可正常使用
新手上路,多多关照。第一次写排版没有前辈们写得那么好请多多包涵
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/114970.html