如何创建Linux SD卡镜像?

如何创建Linux SD卡镜像?

我想创建一个包含两个分区的映像文件:

  1. 100MB FAT 启动分区,包含我的内核 zImage 和 dtb(设备树 blob)文件。
  2. 900MB EXT4 Rootfs 分区,包含我的根文件系统。

然后我希望能够将该映像文件刷新到任何 SD 卡以启动 Linux 板。

我该如何做到这一点以及我需要什么工具? (我更喜欢基于 cli 的工具而不是 GUI)

笔记:我已经有了内核 zImage、DTB 和 rootfs,我需要制作所有这些的 sdcard 可启动映像,以便轻松地将其刻录到任何 sdcard 上。但目前我没有SD卡。稍后我会买我的sd卡。首先,我想准备好图像,当我购买它们时,我会迅速在所有它们上闪现图像。

答案1

这是一个简单的任务!只需遵循以下 15 个步骤即可。

脚步:

  1. 分配文件空间fallocate -l 500M sd.img
  2. 使用磁盘驱动器(dos 分区表)或g磁盘(gpt(引导分区表)) 创建分区表sudo fdisk sd.img
  3. 打开 fdisk 后,按 创建分区n,然后p按 创建主分区,然后按 Enter 保留所有默认设置,除了“最后一个扇区”选项。输入+100M创建一个 100MB 的分区。
  4. 重做第三步创建第二个分区。
  5. 输入w保存并退出。
  6. 使用创建图像的循环设备sudo kpartx -av sd.img
  7. 格式化分区sudo mkfs.fat /dev/mapper/loop0p1sudo mkfs.ext4 /dev/mapper/loop0p2.
  8. 创建安装点sudo mkdir /mnt/temp_part1/& sudo mkdir /mnt/temp_part2/
  9. 安装分区sudo mount /dev/mapper/loop0p1 /mnt/temp_part1/sudo mount /dev/mapper/loop0p2 /mnt/temp_part2/
  10. 将您的内容复制到安装点。
  11. 同步sudo sync
  12. 卸载它们sudo umount /dev/mapper/loop0p1 /mnt/temp_part1/sudo umount /dev/mapper/loop0p2 /mnt/temp_part2/
  13. 删除循环设备sudo kpartx -d sd.img
  14. 在任何操作系统上使用任何闪存软件将图像闪存到 SD 卡上。我用巴莱纳蚀刻机
  15. 尽情享受您的 SD 卡吧!

相关内容