免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12345下一页
最近访问板块 发新帖
查看: 15486 | 回复: 42
打印 上一主题 下一主题

【基于centos4.3的linux发行版制作过程】 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-08-24 16:59 |只看该作者 |倒序浏览
以前研究的东西了,最近看到网上有很多人为了制作自己的发行版,苦苦挣扎而不得其道,所以把自己的笔记拿出来与大家一起分享!

注:其中路径/data/disk是我的制作光盘路径,各位可以根据自己的环境进行修改。

=======================================================

基本过程:

定制RPM包
修改 comps.xml
重编comps.rpm
重新生成hdlist
建立pkglist
利用buildinstall处理安装程序
利用mkisofs制作安装映象

------------------------------------------------
母系统是centos4.3,为了软件最新,先升级自己的系统相关软件
rpm --import http://mirror.be10.com/centos/4.3/os/i386/RPM-GPG-KEY-centos4
rpm --import /usr/share/doc/centos-release-4/RPM-GPG-KEY >> /dev/null
yum -y update

以下为制作安装光盘必须的包
yum install pump-devel gtk2-devel booty bogl-devel bogl-bterm elfutils-devel beecrypt-devel dietlibc
yum install anaconda anaconda-runtime busybox-anaconda

=============================================================================
Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
anaconda                i386       10.1.1.37-1.centos4.2  base              4.3 M
anaconda-runtime        i386       10.1.1.37-1.centos4.2  base              526 k
busybox-anaconda        i386       1.00.rc1-5       base              177 k
Installing for dependencies:
anaconda-help           noarch     10.1.0-1.centos4  base              800 k
bogl                    i386       0.1.18-4         base               93 k
booty                   i386       0.44.3-1         base               85 k
pyparted                i386       1.6.8-2          base               22 k



检查RPM包依赖关系
cd /data/disk/EServer/RPMS
mkdir /tmp/testdb
rpm --initdb --dbpath /tmp/testdb
rpm --test --dbpath /tmp/testdb -Uvh *.rpm

以下是具体步骤:
1.设置python的系统环境变量
export PYTHONPATH=/usr/lib/anaconda
export PATH="$PATH:/usr/lib/anaconda-runtime"

2.更新光盘的文件树
genhdlist --productpath=EServer /data/disk


3.生成下一步需要的pkgfile文件
pkgorder --product EServer /data/disk/ EServer > /data/pkgfile

4.编译生成光盘引导文件和图形安装界面镜像
buildinstall --pkgorder /data/pkgfile \
--version "1.2" \
--product "EServer" \
--release "Beta" \
--prodpath EServer /data/disk

5.制作 ISO

mkisofs -r -T -J -V "EServer 1.2" -b isolinux/isolinux.bin \
-c isolinux/boot.cat -no-emul-boot -boot-load-size 4 \
-boot-info-table -x "lost+found" \
-o /data/EServer.iso /data/disk


文件isolinux/boot.cat 会由mkisofs 程序随后产生
----------------------------------------------------

为光盘生成md5验证值
implantisomd5 /data/EServer.iso
Inserting md5sum into iso image...
md5 = b49c693f83c23d7e746dfe0f81a56016
Setting supported flag to 0



如果想将图形界面修改成个性化的界面,需要修改stage2.img(光盘引导镜像,如果硬盘安装,需要修改其他img文件……)

附注:
anaconda资源修改:

mkdir /data/anaconda
mount -o loop /data/disk/EServer/base/stage2.img /data/anaconda
cd /data/anaconda
tar -cvf /data/stage2.tar .
mkdir /data/stage2
cd /data/stage2
tar -xvf /data/stage2.tar
chmod +w -R ../stage2
#-----------修改资源-----------------#
.....
....
#重新打包img镜像
cd /data
mkcramfs stage2/ stage2.img.new
cp /data/stage2.img.new /data/disk/EServer/base/stage2.img




光盘启动画面修改:

yum -y install syslinux

The graphic is in a somewhat odd format, called LSS16. As the name indicates, it is limited to 16 colors. To edit the graphic, first convert it to a PPM:

lss16toppm < splash.lss > splash.ppm

Next, edit the file using The Gimp. Save the resulting file as an indexed gif with no more than 14 colors (plus black and white, for a total of 16). Then, convert the file to a pnm/ppm:

giftopnm < splash.gif | ppmtolss16 > splash.lss
cp splash.lss /data/disk/isolinux/splash.lss


yum install gcc xorg-x11-devel
编译gif2lss-0.4.tar.gz


保证光盘里面rpm目录下有以下包,这些包是图形化界面制作所必须的,没有他们,buildinstall将会报错。

anaconda
anaconda-runtime
anaconda-help
anaconda-product
busybox
busybox-anaconda
memtest86+
fonts-xorg-base
xorg-x11
joe
kernel*

附注:
rpm -qpi #显示rpm包的信息
rpm -Uvh #安装rpm包
rpm -qpl #列rpm包内的文件


上面这些步骤,是经过实践之后的笔记,所以一般都能够成功,还有一些细节部分,如comps.xml的修改,语法,就不多介绍了。

如果发现有什么问题,欢迎跟帖。

[ 本帖最后由 thatday 于 2006-8-24 17:20 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2006-08-24 17:03 |只看该作者
另外,发布一个基于centos4.3的邮件系统光盘
ftp://mailstudy:mailstudy@202.105.139.140/postfix_extsuite_CD/
光盘大小为350M,修改了部分rpm包,加入vim彩色字体支持,还有gcc编译环境等,主要功能是集成了postfix、extmail的webmail,具备邮件垃圾过滤、病毒过滤、黑白名单等功能。。
如有问题,也请跟帖。

论坛徽章:
0
3 [报告]
发表于 2006-08-24 17:44 |只看该作者
thanks, pretty good.

论坛徽章:
0
4 [报告]
发表于 2006-08-24 20:28 |只看该作者
别夸,看了一些版主的帖子,尤其是那篇Oracle 10gR2 RAC+ RHEL4 + VMWare GSX。最欣赏里面的一句话:


linux就是动手积累的学科,你越是不愿意自己去搞,水平就越是臭,千万不要以为看了n个别人的帖子,你就会了......


论坛徽章:
0
5 [报告]
发表于 2006-08-24 21:14 |只看该作者

不错不错,最近正在看,真是想什么有什么,谢谢。

回头有问题还要向你请教
要不吝赐教啊

二楼发布的那个光盘iso不错,非常感谢。

[ 本帖最后由 deargentle 于 2006-8-25 10:24 编辑 ]

论坛徽章:
0
6 [报告]
发表于 2006-08-24 23:34 |只看该作者
原帖由 thatday 于 2006-8-24 20:28 发表
别夸,看了一些版主的帖子,尤其是那篇Oracle 10gR2 RAC+ RHEL4 + VMWare GSX。最欣赏里面的一句话:







有没有兴趣切磋一下opensuse based distro.?  :em11:

论坛徽章:
0
7 [报告]
发表于 2006-08-25 08:56 |只看该作者
opensuse我还没用过,因为以前用过suse9.3和10,只觉得比较臃肿,而且那时用X,不知为何,SUSE的X容易挂掉,所以对suse的好感不如debian和redhat,以后准备用oracle,所以我会试试suse的,到时候再向版主请教。

论坛徽章:
0
8 [报告]
发表于 2006-08-25 08:57 |只看该作者
原帖由 deargentle 于 2006-8-24 21:14 发表
回头有问题还要向你请教
要不吝赐教啊


请不必客气,大家一起探讨。。

论坛徽章:
0
9 [报告]
发表于 2006-08-28 00:02 |只看该作者
请教:以下这两步如何完成?

修改 comps.xml
重编comps.rpm

论坛徽章:
0
10 [报告]
发表于 2006-08-28 17:01 |只看该作者
一般来说,只需要修改comps.xml,重新加入或者删除某些包,或者组,至于comps.xml文件里面的具体语法,网上有介绍的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP