制作SD卡启动盘步骤

1.创建镜像文件

dd if=/dev/zero of=sdcard.img bs=512M count=1

2.把镜像文件映射到loop设备上,执行后会打印出映射的loop设备

losetup --show -f sdcard_1536M.img

/dev/loop0

3.分区

设备 启动 起点 终点 块数 Id 系统

/dev/loop4p1 528384 1048575 260096 b W95 FAT32

/dev/loop4p2 4096 528383 262144 83 Linux

/dev/loop4p3 2048 4095 1024 a2 未知

分区后按w保存

4.让内核加载新的分区

partprobe /dev/loop0

5.load u-boot到第3个分区

dd if=preloader.bin of=/dev/loop0p3 bs=64k seek=0

dd if=u-boot.bin of=/dev/loop0p3 bs=64k seek=4

6.格式化第2分区和第1分区

mkfs –t vfat -n "boot" /dev/loop0p1(mkfs.vfat -n "boot" -I /dev/loop0p1)

mkfs.ext4 -L "rootfs" /dev/loop0p2(mkfs.ext4 -L "rootfs" -O ^huge_file /dev/loop0p2)

7.挂载第2分区和第1分区,拷贝文件

mount /dev/loop0p1 ./mnt1

mount /dev/loop0p2 ./mnt2

 

cp ......(uboot,kernel等)

cp ......(文件系统等)

 

sync

 

umount ./mnt1

umount ./mnt2

8.解除分区映射,卸载loop设备

kpartx -d /dev/loop0

losetup -d /dev/loop0

 

这是ext4文件系统的一个可选特性,如果不用或者内核不支持在mkfs时指定-O ^huge_file选项就可以。已经建好的fs用tune2fs -O ^huge_file去掉这个特性后可以正常挂接,不一定重编内核。

 

  1. CONFIG_LBDAF=y

你可能感兴趣的:(linux内核)