制作自己的Linux OS(4)

五.制作自己的root fs

1.目录结构

mkdir /mnt/myOS/rootfs

cd /mnt/myOS/rootfs

mkdir etc usr var tmp proc home root dev

其中etc,proc和dev是一定要建的,bin和sbin不用建,因为busybox中已经有了.

其他的可以象征性的建几个就可以了.

拷贝busybox

#cp -R /tmp/ada/busybox-1.00/_install/* /mnt/myOS/rootfs/

2.设备文件

我是直接在RedHat系统/dev目录里cp的,方法如下:

#cp -R /dev/console ./

#cp -R /dev/null ./

#cp -R /dev/zero ./

你认为需要的都cp过来

3,建立etc目录下的配置文件

这个请参考我的/etc

4.制作ramdisk映象文件

cd /mnt/myOS/

dd if=/dev/zero of=/dev/ram0 bs=1M count=4 ------初始化4M内存空间

mkfs.ext2 -m0 /dev/ram0 ------格式化为ext2

mkdir /mnt/ram

mount /dev/ram0 /mnt/ram ------挂载到/mnt/ram

cp -R rootfs/* /mnt/ram ------把rootfs写入内存

umount /mnt/ram

dd if=/dev/ram0 of=/mnt/myOS/ramdisk.img ------把内存中的内容以映象方式取出

ok,这个ramdisk.img就是我们的rootfs

六.整合

1.kernel

cp /usr/src/Linux/arch/i386/bzImage /mnt/myOS/

2.rootfs

已经在这个目录了,就是ramdisk.img

3.isoLinux

cp isoLinux.bin isoLinux.cfg /mnt/myOS/isoLinux

编辑isoLinux.cfg.写法和grub的差不多

七.制作iso

cd /mnt/myOS

目录里的东西如下:

│ bzImage

│ ramdisk.img

└─isoLinux

isoLinux.bin

isoLinux.cfg

boot.cat ----|

-> 这两个文件你可以自己随便写

boot.msg ----|

mkisofs - myiso.iso -b isoLinux/isoLinux.bin -c isoLinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table /mnt/Myiso

呵呵,完成了,赶快测试你自己的OS吧

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wzwyxz.html