一、准备工作:

1、一块10G大小的IDE硬盘

2、分成100M512Metx3分区挂载至/mnt/boot/mnt/sysroot目录下

3、准备内核vmlinuz

4、准备initrd文件

二、制作系统启动所需文件

1、制作initrd文件

展开zcat /boot/initrd-2.6.18-308.el5.img | cpio -id到当前目录,编辑init文件

init文件中加载了很多我们裁剪系统所用不到的模块,在这里我们给予剔除,并将lib下的模块文件删除。

接下来就可以重新将文件打包制作成我们所需要的initrd文件

find . | cpio -H newc --quiet -o | gzip -9 > /mnt/boot/initrd.gz

2、制作和安装grub

使用grub-install --root-directory=/mnt /dev/hda命令添加grub文件。

并给grub配置grub.conf的配置文件。

3、创建真正的根文件系统

cd /mnt/sysroot 创建mkdir etc/{rc.d,rc.d/init.d} bin sbin proc sys dev lib root mnt media var/{log,run,lock/subsys,tmp} usr/{bin,sbin,local} tmp home boot -pv

4、创建inittab文件

5、创建rc.sysinit脚本文件给及执行权限

6、使用脚本将系统所依赖的库文件和命令复制到系统中去

init ls bash ping ifconfig cp mv reboot   不要忘记使用sync命令同步一下!

7、使用chroot /mnt/sysroot命令切换到小系统中测试

三、测试真正的小linux系统

我们使用另外的虚拟机将硬盘挂载上去,启动虚拟机:

如此一个简单的能够运行的小linux就已经完成了,虽然说这个小系统什么工作还都不能处理,不过万丈高楼平地起,一切都是从一点一滴开始的,最后:“雄关漫道真如铁,而今迈步从头越!”送与诸君共勉,前路的一切拦路皆是虚妄,我们无所畏忌!

PS:未完待续...