简单搭建内核调试环境--5 initramfs.img

跳转到目录 点这里 

编译内核加上选项,支持RAM disks

            2.1.1)Device Drivers  --->[*] Block devices  ---><*>   RAM block device support
               (16)    Default number of RAM disks
               (65536) Default RAM disk size (kbytes)
               [附]65536是 64M这个数字是设置内核启动时文件系统大小,在制作内存文件系统时要与这个数字保持一致
            2.1.2)General setup  --->[*] Initial RAM filesystem and RAM disk (initramfs/initrd) support
               [附]开启 RAM disks支持

fsroot 里的内容打包成 initramfs.img

#dd 新建一个模拟块设备的文件,65536是设置大小(要与内核设置Ramdisk一致)
dd if=/dev/zero of=/kernel-debug/iso/boot/looop_l0086.img bs=1k count=65536
#losetup 把这个设备的文件变成一个本地的回环设备
losetup /dev/loop10086 /kernel-debug/iso/boot/looop_l0086.img
#格式化成 ext2文件系统
mke2fs -c /dev/loop10086 65536
#新建挂载目录
mkdir /kernel-debug/mnt/looop_l0086
#挂载回环设备
mount -t ext2 /dev/loop10086 /kernel-debug/mnt/looop_l0086
#复制根文件系统到looop设备
cp -a /kernel-debug/fsroot/* /kernel-debug/mnt/looop_l0086
#卸载回环设备
umount /dev/loop10086
#断开回环设备
losetup -d /dev/loop10086
#压缩一下
gzip -9 /kernel-debug/iso/boot/looop_l0086.img
#名字改成 initramfs.img
mv /kernel-debug/iso/boot/looop_l0086.img.gz /kernel-debug/iso/boot/initramfs.img
原文地址:https://www.cnblogs.com/heling/p/14160141.html