手动建立可登陆的迷你精简linux
首先,你要了解linux的启动过程:大致如下:BIOS(CMOS)加电——引导启动设备选择启动顺序——找到MBR——由GRUB引导加载内核kernel(与initrd文件配合)——加载父进程init(配合inittab,rc.sysinit)——启动login界面。
所以在建立小linux时,我们只需要添加这些基本文件即可。
假设这里我们;已经对安装小linux的硬盘格式化。
1 模拟建立BOOT和根分区 将/dev/sdb1,2分别挂在至 /mnt/boot , ./mnt/sysroot下,并在sysroot 下建立根目录:mkdir root boot usr lib bin sbin proc sys home
2 安装GRUB;
grub-install --root-directory=/mnt /dev/sdb ,之后再拷贝所需的内核文件(这里使用原有系统的vmlinuz-2.6.18.el5), cp /boot/vmlinuz-2.6.18.el5 /mnt/boot/
配置initrd文件,这里不能同内核一样简单拷贝,需要修改之。
因为initrd-2.6.18.img是个gzip压缩文件,先 gzip -d initrd-2.6.18.img ,发现是CPIO归档文件,在用CPIO展开:cpio -id < initrd-2.6.18.img,发现这其实就是一个模拟的根文件系统。(其中包含init二进制文件),编辑这个init并保存,之后用CPIO归档:
find . | cpio -H newc -o | gzip -9 -n > /t