在Linux下制作img文件

2019-11-10  本文已影响0人  Alvin00

在Linux下制作img文件

1.   执行以下命令安装一些制作img时需要用到的工具

sudo apt-get install util-linux kpartx dosfstools e2fsprogsgddrescue qemu-utils

2.    执行以下指令创建一个新的img文件,大小请根据需求,但请注意img越大,之后烧写的时间会越久,假设img为500MB

Sudo qemu-img create bbb.img 500M

3.    执行以下指令为空的img文件创建两个分区,第一个分区为“W95 FAT16,大小为48MB,第二分区为Linux

sudo sfdisk --in-order --Linux --unit M a.img << EOF

1,48,0xE,*

,,,-

EOF

4.   执行以下指令

sudo kpartx -av bbb.img

系统将输出以下提示信息

add map loop0p1 (252:0): 0 98304 linear /dev/loop0 2048

add map loop0p2 (252:1): 0 923648 linear /dev/loop0100352

可以发现设备被命名为loop0

5.   执行以下指令对a.img的两个分区进行格式化

sudo mkfs.vfat -F 16 /dev/mapper/loop0p1 -n boot

sudo mkfs.ext4 /dev/mapper/loop0p2 -L rootfs

6.   执行以下指将uboot写入img

sudo dd if=u-boot.imx of=/dev/mapper/loop0 bs=512 seek=2 conv=fsync

7.   执行以下指令挂载a.img的两个分区

mkdir -p tmpmnt/boot

mkdir -ptmpmnt/rootfs

sudo mount /dev/mapper/loop0p1 tmpmnt/boot/

sudo mount /dev/mapper/loop0p2 tmpmnt/rootfs/

8.    将zImage、dtb和uEnv.txt文件拷贝至第一个分区

9.    将rootfs放到第二分区

10.  执行以下命令完成a.img的制作

sudo umount tmpmnt/boot/

sudo umounttmpmnt/rootfs/

sudo kpartx -dvbbb.img

上一篇 下一篇

猜你喜欢

热点阅读