Chinaunix首页 | 论坛 | 博客
  • 博客访问: 711208
  • 博文数量: 140
  • 博客积分: 5097
  • 博客等级: 大校
  • 技术积分: 991
  • 用 户 组: 普通用户
  • 注册时间: 2006-01-05 19:13
文章分类

全部博文(140)

文章存档

2018年(1)

2015年(5)

2014年(5)

2013年(2)

2011年(16)

2010年(6)

2009年(9)

2008年(45)

2007年(26)

2006年(25)

分类:

2007-07-28 18:14:15

本文描述了红帽的安装程序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安装过程的目的。

阅读(1674) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~