制作img文件

安装软件包

bash 复制代码
sudo apt-get install dosfstools dump parted kpartx

创建空白img文件

bash 复制代码
sudo dd if=/dev/zero of=raspberrypi.img bs=1M count=4000

给img文件分区

bash 复制代码
sudo parted raspberrypi.img --script -- mklabel msdos
sudo parted raspberrypi.img --script -- mkpart primary fat32 2048s 526335s
sudo parted raspberrypi.img --script -- mkpart primary ext4 526336s -1

检测分区

bash 复制代码
$ fdisk raspberrypi.img 

欢迎使用 fdisk (util-linux 2.31.1)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助): p
Disk raspberrypi.img:4 GiB,4294967296 字节,8388608 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x3b51dc09

设备             启动   起点    末尾    扇区  大小 Id 类型
raspberrypi.img1        2048  526335  524288  256M  c W95 FAT32 (LBA)
raspberrypi.img2      526336 8189951 7663616  3.7G 83 Linux

命令(输入 m 获取帮助): q

使用 losetup将磁盘镜像文件虚拟成块设备

bash 复制代码
sudo losetup -f --show raspberrypi.img
/dev/loop22

/dev/loop22为设备文件路径,下面的命令中相应输入/dev/loop22,如果不是 loop22 请做相应调整(以及以后的各个步骤里的loop22都要改变)

挂载虚拟文件系统

bash 复制代码
sudo kpartx -va /dev/loop22

查看分区文件是否存在

bash 复制代码
ls /dev/mapper/loop22p*

格式化

bash 复制代码
sudo mkfs.vfat -n boot /dev/mapper/loop22p1
sudo mkfs.ext4 -L rootfs /dev/mapper/loop22p2

挂载

bash 复制代码
mkdir boot rootfs
sudo mount -t vfat -o uid=topeet,gid=lat,umask=0000 /dev/mapper/loop22p1 ./boot/
sudo mount -t ext4 /dev/mapper/loop22p2 ./rootfs/

卸载删除

bash 复制代码
sudo umount boot rootfs
sudo kpartx -d /dev/loop22
sudo losetup -d /dev/loop22
rmdir boot rootfs
相关推荐
鹏大师运维14 小时前
为什么信创电脑装软件总提示“软件包架构不匹配”?
linux·运维·架构·国产化·麒麟·deb·统信uos
鹤落晴春15 小时前
【Linux复习】管理SELinux安全性
linux·运维·服务器
yz_aiks16 小时前
Linux Jar包配置Systemd自启动实战:从排查到配置全流程
linux·python·jar·自启动·systemd
bjzhang7517 小时前
CentOS下安装MySQL详解
linux·mysql·centos
Jason_chen19 小时前
Linux 6.2 音频机制深度解析:AI驱动的低延迟音频与零信任音频安全架构
linux
下午写HelloWorld19 小时前
Linux系统及Ubuntu常用指令
linux·ubuntu·操作系统
weixin_5231853220 小时前
Collections.unmodifiableMap详解:真的不可修改吗?
java·linux·前端
凡人叶枫21 小时前
Effective C++ 条款04:确定对象被使用前已先被初始化
java·linux·开发语言·c++·嵌入式开发
云栖梦泽21 小时前
玩转RK3506SDK
linux·嵌入式硬件
Java面试题总结1 天前
Linux-Ubantu-贴士-apt的地盘
linux·运维·服务器