红帽安装程序anaconda的文件组织及其获取方法

发表于:2007-06-08来源:作者:点击数: 标签:
本文描述了红帽的安装程序anaconda的文件组织,希望对红帽的安装程序有兴趣的朋友有所帮助。 涉及的文件(以Fedora为例): 第一张光盘中: Fedora/base/stage2.img -- anaconda所在的文件,cramfs文件格式的image。 image/initrd.img -- 安装时用到的initrd
本文描述了红帽的安装程序anaconda的文件组织,希望对红帽的安装程序有兴趣的朋友有所帮助。
涉及的文件(以Fedora为例):
第一张光盘中:

Fedora/base/stage2.img -- anaconda所在的文件,cramfs文件格式的image。
image/initrd.img -- 安装时用到的initrd文件,为gz格式的压缩image文件。
.buildstamp -- 时间戳文件,用于检验stage2.img文件是否与initrd.img文件是配套的一对。位于initrd.img和stage2.img中。

获取stage2.img的内容:
直接使用mount -oloop 命令将stage2.img mount到一个目录 foo, 再将其内容拷贝到你想修改的工作目录即可。底下的子目录有 etc lib modules usr var。 anaconda即位于 usr/lib/anaconda 下。

将修改后的内容重新做成stage2.img文件:
使用mkcramfs命令, 加入工作目录为bar, 则可为 mkcramfs bar stage2.img,执行此一步骤的同时,需要注意一点,就是要将initrd.img文件中的 .buildstamp 文件拷贝到工作目录下再执行mkcramfs. 否则使用此新建的stage2.img文件进行安装的话,将会得到 installation tree不匹配的警告。安装过程将不能继续。

initrd.img文件内容的获取:

首先,将initrd.img文件名更改为 *.gz, 再使用 gunzip 进行解压。再使用cpio -div 将image的内容解压到某个目录,假如为foobar. 则如下:

cd foobar;
cpio -div

修改后的stage2.img文件拷回 Fedora/base/(如需要可以再做成光盘), 则达到修改anaconda安装过程的目的。

原文转自:http://www.ltesting.net