目录
一. flash.sh 脚本烧录
二. 直接烧录NVME
2.1 SDKManger烧录
三. 系统从固态硬盘启动
3.1 设置硬盘格式
3.2 设置文件系统从固态硬盘加载
四. 文件传输设置
五. 远程桌面
六. 系统拷贝克隆
6.1 网络配置
6.2 系统克隆
6.3 系统克隆(打包根文件系统)
本篇主要介绍几种方式给Xavier NX开发套件烧录系统,以及配置固态硬盘启动,克隆配置好的系统以便下次使用。
一. flash.sh 脚本烧录
参考品立科技官网《Jetson烧录环境搭建》:http://www.plink-ai.com/cn/list-0-17.html
其中进入recovery模式为,短接风扇下面的FC REC引脚和GND引脚
sudo ./flash.sh -r jetson-xavier-nx-devkit-emmc nvme0n1p1/mmcblk0p1
正常一个小时完成烧录到EMMC
注:1.目前无法克隆固态硬盘的根文件镜像,无法直接通过USB线直接烧录系统,根文件到固态硬盘,只能直接使用dd命令将固态硬盘分区直接拷贝出来
2.若批量生产,则(1)烧录系统到emmc;(2)初始化,分区固态硬盘;(3)将备份的固态硬盘分区文件拷贝解压缩到对应固态硬盘分区;(4)设置固态硬盘启动,重启设备即可
二. 直接烧录NVME(有问题,不成功)
若直接烧录到固态硬盘,需要先格式化固态硬盘,进行一定的分区,并设置为NVME启动
这一方式,我目前尝试未成功,还需研究下
2.1 SDKManger烧录
1.下载SDKManager:SDK Manager | NVIDIA Developer
2.安装运行SDKManager:Download and Run SDK Manager :: NVIDIA SDK Manager Documentation
3.使用SDKmanager安装系统和软件:Install Jetson Software with SDK Manager :: NVIDIA SDK Manager Documentation
使用SDKManager 烧录系统和安装软件,均需要开发板连接外网,会检查apt update ,若不成功,会安装失败,使用公司网络会有问题
三. 系统从固态硬盘启动
3.1 设置硬盘格式
插入固态硬盘后,设备节点为/dev/nvme0n1
1.进入parted
2.将磁盘设置为GPT格式,并查看分区结果
#将磁盘设置为gpt格式
mklabel gpt
3.创建分区
4. 格式化分区:sudo mke2fs -t ext4 /dev/nvme0n1p1
3.2 设置文件系统从固态硬盘加载
- 下载rootOnNVMe
Git下载地址:
GitHub - jetsonhacks/rootOnNVMe: Switch the rootfs to a NVMe SSD on the Jetson Xavier NX and Jetson AGX Xavier
执行拷贝文件系统:./copy-rootfs-ssd.sh
设置SSD为启动盘:./setup-service.sh
重启生效: reboot
- 查看是否成功挂载到 根目录 / 下
四. 文件传输设置
PC下载FileZilla,开发板系统已集成SSH,可直接连接
端口使用22
五. 远程桌面
1. 安装
sudo apt-get install xrdp vnc4server xbase-clients
2. 修改配置文件
sudo vim /usr/share/glib-2.0/schemas/org.gnome.Vino.gschema.xml
3. 编译无报错
4. /usr/lib/vino/vino-server
5. sudo apt-get install xfce4
echo xfce4-session >~/.xsession
6. 解除加密
sudo apt-get install dconf-editor
dconf-editor
7. 开启vnc server
/usr/lib/vino/vino-server
8. 设置密码
gsettings set org.gnome.Vino vnc-password $(echo -n 'thepassword'|base64)
thpassword即为密码
9. Windows安装vnc,确保在同一局域网,输入ip连接
输入密码
六. 系统拷贝克隆
6.1 网络配置
- 使用网线将开发板和PC机器连接
- 将Jetson开发板,PC,PC上的Ubuntu虚拟机配置到统一网段中
开发板ip:
6.2 系统克隆
1. 将开发板系统设置为只读
sudo echo "u" | sudo dd of=/proc/sysrq-trigger
2. 将固态硬盘中系统,克隆到PC的Ubuntu中,
sudo dd if=/dev/nvme0n1p1 | ssh youjia@192.168.137.31 dd of=/home/youjia/Development/Project/Jetson/Ubuntu_Image/xavier-image.raw
或者sudo dd if=/dev/nvme0n1p1 | ssh linux@192.168.137.31 dd of=/home/linux/Development/Project/Jetson/Ubuntu_Image/xavier-image.raw
其中youjia 为Ubuntu虚拟机的用户名,@加上虚拟机的IP地址,of后面为 虚拟机上的路径,将克隆的系统,保存在虚拟机中:xavier-image.raw
在Linux_for_Tegra 下,使用flash.sh 克隆系统
sudo ./flash.sh -r -k APP -G original.img jetson-xavier-nx-devkit-emmc nvme0n1p1
3. 将xavier-image.raw 链接为
ln -s /mnt/hgfs/D/Code/Project/Jetson/files/xavier-image.raw system.img
或者直接覆盖掉bootloader下的system.img文件
4. 烧录
此步骤会覆盖system.img , 请不要放置或链接正确镜像,下一步骤烧录时才放置
设置nvme(SSD)等 sudo BOARDID=3668 FAB=300 BOARDSKU=0000 ./tools/kernel_flash/l4t_initrd_flash.sh -c -r tools/kernel_flash/flash_l4t_external.xml --external-device nvme0n1p1 --direct nvme1n1p1 jetson-xavier-nx-devkit-emmc external
将需要烧录的system.img 放到bootloader下
烧录:sudo ./flash.sh -r jetson-xavier-nx-devkit-emmc nvme0n1p1
仅烧录根文件系统system.img: sudo ./flash.sh -r -k APP jetson-xavier-nx-devkit-emmc nvme0n1p1
官方克隆方式,从EMMC:
sudo ./flash.sh -r -k APP -G ubuntu20_alorithm.img jetson-xavier-nx-devkit-emmc mmcblk0p1
6.3 系统克隆(打包根文件系统)
1.插入U盘/移动硬盘到开发板
拷贝根文件系统到U盘
sudo dd if=/dev/nvme0n1p1 | gzip > /media/nvidia/EAGET忆捷/JsDoing/maccura/image.gz
2.格式化好固态硬盘
拷贝根文件系统到NVME SSD中
sudo gzip -dc /media/nvidia/EAGET忆捷/JsDoing/maccura/image.gz | sudo dd of=/dev/nvme0n1p1文章来源:https://www.toymoban.com/news/detail-816525.html
3.在EMMC根文件系统中,创建sudo touch /etc/setssdroot.conf文件,则重启后,根文件系统使用nvme ssd的,删除后,则重新使用emmc根文件系统。文章来源地址https://www.toymoban.com/news/detail-816525.html
到了这里,关于【AI】AI入门之Nvidia Jetson平台(二)- Xavier NX系统烧录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!