在另一篇兰若空灵的博文中已经提及了定制一张Ubuntu安装光盘的方法,但是其中并没有提及具体的定制操作,这里开始记录下自己做的一些具体的定制。首先是镜像系统的内核的替换。

官网上提到了内核的替换,他们的方法就是把/casper目录下的vmlinuz和initrd.lz替换即可,我将信将疑的试了一下,华丽丽地失败了,光盘引导过程中果断报错,连最基本的内核都没引导起来,于是只好动手自己试了。

根据在其他博文中已经提到的文件系统的展开,我在这里就不在赘述了,目录下对应的内容在我的其他文章中都可以找到的,这里直接说要做什么事。

一、准备工作

在这里只需要做一件事情——编译好你想替换的内核并且在主机上使用。

二、替换工作

替换工作主要是把主机上的几个文件拷贝到在编辑的光盘镜像目录下。有如下几个工作

1、              主机/boot目录下的内核文件对应的复制到edit/boot/目录下。

主机目录下的文件是:abi-3.5、config-3.5、initrd.img-3.5、System.map-3.5、vmlinuz-3.5(这里假设所有的版本都是3.5,当然这要根据你自己的需要来决定,但一定要保证这几个文件不能遗漏)

Edit是指展开的squashfs所在的位置(参考另一篇文章中的位置)。

2、              把所需的vmlinuz文件复制到casper文件夹中。

这里的vmlinuz文件是指在主机/usr/src/linux/目录下所对应的文件命名方式基本为vmlinuz-(Kernel_Version),但是复制过去后一定要命名为vmlinuz,没有后缀名。

3、              生成新的initrd.lz文件并且复制

先将根目录重挂载,chroot edit;然后,将重新生成initrd.lz文件:mkinitramfs -o /initrd.lz 3.5 。这里还必须说明一件事情,在Ubuntu9.04及之前都是initrd.gz的压缩方式,之后均是initrd.lz,但是原则是一样的——/casper目录下的名字是什么我们就命名成什么。生成了新的initrd文件之后,拷贝到extract-cd/casper/目录下即可。

4、              后续工作

这里所说的后续工作也就是重新生成squashfs文件系统,重新生成md5校验码,重新压缩为iso文件的工作,在我的另一篇文件中已经阐述过了,不再赘述。

以上就是在定制Live CD时的更换内核的方法,有不正之处,万望赐教!

 

By  Air_Fighter

2012.07.27