五.制作自己的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吧