一、背景
二、系统克隆
1、硬盘挂载
查看块设备,执行命令lsblk,结果如下
其中,nvme0n1是我们要挂载的设备。
2、将块设备nvme0n1分成1个分区,执行命令sudo fdisk /dev/nvme0n1,出现分区界
面如下
输入m可以查看分区工具fdisk的帮助页面。这里我们输入F,直接查看块设备nvme0n1的未分区空间大小,如图,这里可见块设备nvme0n1未分过区,空间大小为465.8G。
输入p可以查看当前有几个分区(新卡应该没有分过区),如图
3、接下来创建分区表,采用gpt格式,输入g即可,如下
然后进行分区,输入n即可,由于我们仅考虑一个分区,因此直接回车即可,如下(一直回车)
现在可以查看到分区/dev/nvme0n1p1,这是块设备/dev/nvme0n1的唯一分区,占据所有空间,如下
4、确认无误后,输入w,即可保存所有修改,如下
此时,我们再次lsblk,可以看到nvme0n1的sd卡上有一个nvme0n1p1的分区,如下
5、格式化该分,分区依旧是块设备,需要制作文件系统后,才能被操作系统挂载,此处,我们选择制作ext4文件系统。
sudo mkfs.ext4 /dev/nvme0n1p1
7、挂载目录
sudo mkdir /home/home58
sudo chmod -R 777 /home/home58
sudo mount /dev/nvme0n1p1 /home/home58 (将sd卡挂载到/home/home58目录下,卸载用sudo umount /dev/nvme0n1p1)
sudo vim /etc/fstab
/dev/nvme0n1p1 /home/home58 ext4 defaults 0 1
(为开机自动挂载,需要在/etc/fstab文件末尾追加一行该配置)
sudo mount -a (重新挂载所有目录即可)
df -h
看后面,采用官方软件制作克隆和烧录有效,下面两种方法没成功。
2、制作镜像
参考:将当前Jetson NANO的系统刻录成镜像 - 古月居
#查看盘符
$ sudo fdisk -u -l (lsblk)
$ sudo dd bs=4M if=/dev/mmcblk0 of=/home/home58/nano_ros.img
压缩
$ sudo dd if=/dev/mmcblk0 conv=sync,noerror bs=4M | gzip -c > /home/home58/backup_image.img.gz
查看进度 (上述速度很快,还没来及的查询)
新开一个终端,查看进度,等待运行完毕。
$ sudo watch -n 1 pkill -USR1 -x dd
3、系统恢复
将装好系统的sd卡取下,将空白sd卡连接到主机上,找到SD卡的位置,执行恢复命令:
sudo gunzip -c /home/home58/backup_image.img.gz | sudo dd of=/home/home58/ bs=4M
# 挂载
sudo gunzip -c /home/home58/backup_image.img.gz | sudo dd of=/dev/nvme0n1p1 conv=sync,noerror bs=4M
# 系统
sudo gunzip -c /home/home58/backup_image.img.gz | sudo dd of=/dev/mmcblk0p1 conv=sync,noerror bs=4M
- 输入以下命令来恢复数据:
sudo dd if=/path/to/backup.img of=/dev/sda bs=4M
4、采用官方软件克隆和烧录
==============================================================
烧录后
环境更改:
1、修改IP:
2、修改MAC地址:
临时:
sudo ifconfig eth1 hw ether 54:75:db:fc:3a:b8
永久:
sudo apt install netplan.io
sudo vim /etc/netplan/01-netcfg.yaml
#---------------------#
network:
version: 2
renderer: networkd
ethernets:
eth1:
dhcp4: no
macaddress: 74:72:36:00:16:2faddresses: [192.168.2.200/24]
gateway: 192.168.2.254
#--------------------#
sudo netplan apply
重启。ssh连接会中断。
3、重装openssh
sudo apt-get remove openssh-server openssh-client --purge -y
sudo apt-get install openssh-server openssh-client
systemctl restart ssh
ssh连接会中断,问题没解决
三、系统设置
打包硬盘数据
cd /home/home58/
sudo tar -cvf suo58.tar ../
解压
sudo tar -xvf suo58.tar -C new_folder