JETSON XAVIER NX系统迁移

编程知识 更新时间:2023-05-02 02:29:29

目录

  • 前言
  • 一、安装系统到板载EMMC
  • 二、SD卡挂载
  • 三、系统迁移
  • 总结
  • 参考阅读:


前言

最近新入手一块EMMC版本的JETSON XAVIER NX,奈何淘宝上官方的载板太贵了,经货比三家选择了WeAct Studio工作室设计的载板,这款载板虽小但是“五脏俱全”,支持SD卡、NVME固态硬盘等。载板到手后,便着手于安装系统,正好手边有一张128g的TF卡,便想把系统安装到TF卡上,但是使用这块载板并不能像xavier nx套件一样将镜像烧录到sd卡,插上就能开机,也不能使用nvidia sdkmanager将系统直接烧录到sd卡上,且工作室的文档也没介绍如何将镜像烧录到sd卡上,然后自己捣鼓了两天,最终通过系统迁移的方法成功把系统安装到了tf卡上,该方法虽然未测试过其他JETSON系列的产品,但是原理是一样的,应该都能适用。


一、安装系统到板载EMMC

工作室的安装系统的教程链接如下:WeAct Studio底板使用教程
通过阅读使用教程可以知道,他们是通过修改官方镜像的设备树文件,使得系统能读取SD卡的。

首先,需要安装nvidia官方的sdkmanager,下载的链接如下:SDKmanager
下载后,安装到自己电脑上的Linux系统上,这里我的Linux系统版本是18.04。打开sdkmanager,界面如下:
选择相应的Target Hardware(我这里选择的是xavier nx)以及Jetpack版本(选择的最新的4.6版本),不要勾选Host Machine,然后点击continue:

勾选Jetson OS下载镜像,先不要勾选Jetson SDK Components,勾选I accep the… ,点击continue,开始下载镜像。下载完成后,可以看到Jetson OS image会显示OS image ready,同时,会在~/nvidia/nvidia_sdk/文件夹下有相应版本烧写所需要的文件,如下图所示:

接着,在WeAct Studio的github上下载相应的设备树文件:设备树
不同设备对应不同的设备树:
我这里所需要的是XavierNX的设备树,因此,进入~/nvidia/nvidia_sdk/JetPack_4.6_Linux_JETSON_XAVIER_NX_TARGETS/Linux_for_Tegra/kernel/dtb,将下载好的设备树tegra194-p3668-all-p3509-0000复制到该目录下。

复制后,将板子按照步骤进入recover模式,并使用USB线将板子连接到电脑,若成功进入recover模式,在电脑终端中输入lsusb命令,会发现Nvidia Corp。

通过命令进入到~/nvidia/nvidia_sdk/JetPack_4.6_Linux_JETSON_XAVIER_NX_TARGETS/Linux_for_Tegra文件夹下,在该文件夹打开终端,输入如下命令进行刷机:

sudo ./flash.sh jetson-xavier-nx-devkit-emmc mmcblk0p1 

烧录成功:
对系统像安装Ubuntu系统时一样进行简单设置后,等待五分钟左右,系统就成功安装到了EMMC中了,并且成功进入了系统界面:

二、SD卡挂载

系统迁移的前提是将SD卡挂载到系统下。
先需要使用如下命令将SD卡格式化为EXT4格式:

sudo mke2fs -t ext4 /dev/mmcblk1p1

然后将SD卡挂载到/mnt下:

sudo mount /dev/mmcblk1p1 /mnt

使用df -h命令检查可以看到SD卡成功挂载到/mnt文件夹下:

三、系统迁移

这里参考了github上jetson系统迁移到固态硬盘的方法:rootOnNVMe
先通过终端命令:

git clone https://github/jetsonhacks/rootOnNVMe

下载脚本
进入下载的文件夹,用文本编辑工具打开脚本copy-rootfs-ssd.sh:

cd ~/rootOnNVMe-master
sudo gedit copy-rootfs-ssd.sh

将sudo mount /dev/nvme0n1p1 /mnt修改为刚挂载好的SD卡所在目录,我这里SD卡目录为/dev/mmcblk1p1,如下图所示:
在rootOnNVMe文件夹下打开终端,运行脚本copy-rootfs-ssd.sh复制系统到SD卡:

./copy-rootfs-ssd.sh

复制完成后,运行脚本setup-service.sh配置启动项:

./setup-service.sh

关机,让主板进入recover模式,并将数据线连接到烧录的电脑上

在烧录的电脑上通过命令进入到~/nvidia/nvidia_sdk/JetPack_4.6_Linux_JETSON_XAVIER_NX_TARGETS/Linux_for_Tegra文件夹下,在该文件夹打开终端,输入如下命令更新emmc内部引导(注意这里命令的最后目标是SD卡):

sudo ./flash.sh jetson-xavier-nx-devkit-emmc mmcblk1p1 

更新完成后,如下图所示:
重启系统,使用df -h查看磁盘情况如下:
可以看到系统已经成功迁移到SD卡中。

总结

这里的方法是我查阅很多资料重装了许多次系统并且结合了NVME迁移教程所测试出来的,虽未在其他jetson设备上测试过,但应该都能适用,大家迁移系统到U盘、NVME、SSD中只要将文中命令里我SD卡的文件夹位置替换为各自的硬盘位置即可。

参考阅读:

挂载教程
迁移教程
载板用户手册

更多推荐

JETSON XAVIER NX系统迁移

本文发布于:2023-04-25 07:03:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/9352c381eca455d3aa5b7c71e19aeae6.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:系统   JETSON   XAVIER   NX

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 102340文章数
  • 26159阅读数
  • 0评论数