因为一些系统上的需求,所以想定制一套系统。

系统是CentOS4.6的,想把一些内核什么的升级一下。
CentOS4.6里面还有hdlist,可是我的目系统是CentOS5.1的
没有genhdlist,一般它在anaconda-runtime里面。

最后还是用CentOS4.6作为母系统,装上anaconda-runtime才搞定

主要步骤:
原版iso 在 /db/iso/centos4.6.iso
挂载点 /db/cd
制作目录设置为 /db/c4

mount -o loop /db/iso/centos4.6.iso /db/cd
cd /db/cd
tar -cf – . | ( cd /db/c4 ; tar -xvpf – )
cd c4 && umount /db/cd

cp updated***.rpm /db/c4/CentOS/RPMS/
cd /db/c4/

cp CentOS/base/comps.xml repodata/
createrepo -g repodata/comps.xml .

重新生成 hdlist
/usr/lib/anaconda-runtime/genhdlist

重新制作ISO
cd /db/c4
mkisofs -R -J -T -r -l -d -allow-multidot -allow-leading-dots -no-bak -o ../pmail-0.4-i386.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table .

PS: 1. genhdlist 需要加一些参数,生成hdlist最好检查一下

  1. 制作好的ISO,用virtualbox/vmware安装测试后,再刻录成盘,减少失败的几率。

这件事陷入一个自己挖的坑,虽然学到了点东西,但是从实用和性价比上来说,是失败的。
本来这个系统不需要花费一天的时间来做这一套。犯了”重复发明轮子”的错误。以后需要注意做之前的定位。

Original post by http://cuplinux.blogspot.com/2008/11/centos.html