制作树莓派img镜像

文章目录

一、挂载TF卡

1.先把树莓派上的TF卡插到虚拟机上
2.查看TF挂载情况
制作树莓派img镜像
sdb1为/boot sdb2为/(根)
由此TF卡已经挂载到Ubuntu。

二、准备工作

1.安装工具软件

安装工具软件

sudo apt-get install dosfstools dump parted kpartx

制作树莓派img镜像

2.新建文件夹

mkdir backuping

进入文件夹
制作树莓派img镜像

3.创建空白的img文件

原TF卡已使用空间大概5.5G,就创建一个6G大小的img文件
原TF卡的使用情况,可以从挂载信息处查看

sudo dd if=/dev/zero of=raspberrypi.img bs=1M count=6000

制作树莓派img镜像

三、分区

1.查看分区表

sudo fdisk -l

制作树莓派img镜像

2.给img文件分区

按照原来的起始位置设置分区
原来的起始位置上一步查看

sudo parted raspberrypi.img --script -- mklabel msdos
sudo parted raspberrypi.img --script -- mkpart primary fat32 8192s 532480s
sudo parted raspberrypi.img --script -- mkpart primary ext4 540672s -1

执行这三条什么也不显示
制作树莓派img镜像

3.检查分区是否成功

sudo parted raspberrypi.img

在parted后面输入 print free ,最后输入quit退出
制作树莓派img镜像

四、格式化img文件分区并挂载

1.查看img文件对应的Loop device的设置

sudo losetup -f --show raspberrypi.img

制作树莓派img镜像
下面的命令中输入/dev/loop0,如果不是loop0请做相应调整。

2.查看设备

sudo kpartx -va /dev/loop0

制作树莓派img镜像
可以可无

ls /dev/mapper/loop0p*

有下面这两个设备制作树莓派img镜像

3.格式化

sudo mkfs.vfat -n boot /dev/mapper/loop0p1
sudo mkfs.ext4 -L rootfs /dev/mapper/loop0p2

制作树莓派img镜像

4.挂载

在backuping文件夹下新建两个文件夹,将两个分区挂载在下面

 mkdir tgt_boot tgt_Root

id 查看uid和gid制作树莓派img镜像
下面的uid和gid请根据上面的查看进行修改

sudo mount -t vfat -o uid=topeet,gid=lat,umask=0000 /dev/mapper/loop0p1 ./tgt_boot/
sudo mount -t ext4 /dev/mapper/loop0p2 ./tgt_Root/

什么都不返回

五、备份/boot

sudo cp -rfp /media/boot/* ./tgt_boot/

制作树莓派img镜像

六、备份/

sudo chmod 777 ./tgt_Root
sudo chown topeet.lat tgt_Root
sudo rm -rf ./tgt_Root/*
cd tgt_Root/

制作树莓派img镜像
开始备份

sudo dump -0uaf - /media/rootfs/ | sudo restore -rf -

制作树莓派img镜像
耗时几分钟,请等待
返回上层目录

cd ..

七、修改PARTUUID

1.查看PARTUUID

sudo blkid

制作树莓派img镜像

2.修改cmdline.txt文件

将其中root=PARTUUID的值改为loop0p2的PARTUUID

nano tgt_boot/cmdline.txt

制作树莓派img镜像

3.修改fstab文件

nano tgt_Root/etc/fstab 

制作树莓派img镜像

八、收尾

卸载各个挂载的分区,删除loop device,删除挂载点目录

sudo umount tgt_boot tgt_Root
sudo kpartx -d /dev/loop0
sudo losetup -d /dev/loop0
rmdir tgt_boot tgt_Root

制作树莓派img镜像
参考文档:详细文档

上一篇:transformer 全总结


下一篇:linux内核-中断向量表IDT的初始化