第二步 :搞定内核的相关配置.
好的,我们的硬盘已经准备好了,那么内核怎么办呢?这里我们使用Redhat自带的内核
它在/boot目录下,名字叫“vmlinuz-2.6.18-164.el5”.
我们用cp复制命令直接将其复制到我们的主分区下,并命名为一个简单的不带版本号得名字vmlinuz:
- [root@station86 grub]# cp /boot/vmlinuz-2.6.18-164.el5 /mnt/boot/vmlinuz
之后,我们的内核有了,但是拿什么来调用它呢?这就需要Redhat中的一个能在内存上加载的驱动根目录文件系统的一个文件了:
它就是:lintrd.
它在/root/下静静的放着.每当系统需要启动的时候就会悄悄的执行一下.
用file命令查看它发现他是个gzip文件.
- [root@station86 linuxmini]# file initrd-2.6.18-164.el5.img
- initrd-2.6.18-164.el5.img: gzip compressed data, from Unix, last modified: Wed Jul 20 15:23:58 2011, max compression
好吧,虽然它的确是img格式结尾的,但那不影响我们发现他的伪装,于是我们改名后用gunzip将其解压:
- [root@station86 linuxmini]# mv initrd-2.6.18-164.el5.img initrd-2.6.18-164.el5.img.gz
- [root@station86 linuxmini]# gunzip initrd-2.6.18-164.el5.img.gz
解压后的我们再用file命令查看它,发现它又变成了一个cpio文件
- [root@station86 linuxmini]# file initrd-2.6.18-164.el5.img
- initrd-2.6.18-164.el5.img: ASCII cpio archive (SVR4 with no CRC)
cpio文件是一种古老的归档工具,它可以原封不动的将多个文件归档,在制作光盘镜像的时候尤其有用.
那么我们使用cpio的命令将它展开:
- [root@station86 linuxmini]# cpio -id < initrd-2.6.18-164.el5.img
终于,我们看到了它的真正明面,ll一下:
- [root@station86 linuxmini]# ll
- total 68
- drwx------ 2 root root 4096 Aug 3 07:58 bin
- drwx------ 3 root root 4096 Aug 3 07:58 dev
- drwx------ 3 root root 4096 Aug 3 07:58 etc
- -rwx------ 1 root root 2861 Aug 3 07:59 init
- drwx------ 3 root root 4096 Aug 3 07:58 lib
- drwx------ 2 root root 4096 Aug 3 07:58 proc
- lrwxrwxrwx 1 root root 3 Aug 3 07:58 sbin -> bin
- drwx------ 2 root root 4096 Aug 3 07:58 sys
- drwx------ 2 root root 4096 Aug 3 07:58 sysroot
看到了么,这就是一个这样精简的加载在内存里的用来临时充当系统的文件.
我们需要修改一些参数以被我们使用:
用vim打开init这个文件.在最下面找到一行:
好的,点击完成.
接下来,就可以启动我们的小linux了!
经过一系列的内部运行,终于:我们看到了我们自己制作的linux~!
到这里,我们的所有工作都已经做完了,你已经创建出了一个属于自己的,大小不足10M的linux操作系统!!
这个系统里还有ls这个外部命令!
ok,今天的讲述就到这里~
欢迎大家讨论指正~共同提高~
谢谢大家~
weiyan
2011.8.2
本文出自 “For The Dream” 博客,谢绝转载!
|