正在加载...

定制自己CentOS 5安装光盘

[ 2008/11/12 18:04 | by selboo ]

      目前CentOS 5.2的安装CD有1至6张,但是在安装系统过程中,并不是所有的程序都是你想安装的,而且需要准备1-6张CD来安装一个Linux系统,实在是太麻烦了,其实安装一个实用的Linux 系统,不需要那么臃肿的,我们可以度身定制一个合适你自己的CentOS Linux系统.

我的目标是打算将1-6CD中的软件包集合到一张CD中,只需要一张CD就可以自动安装一个实用的Linux.

准备:
1. 在VM上安装一个最少化的Linux系统之后,再根据实际情况安装需要的软件包:
# yum install -y pump-devel gtk2-devel booty bogl-devel bogl-bterm elfutils-devel beecrypt-devel dietlibc anaconda anaconda-runtime busybox-anaconda

2. 下载一个CentOS 5.2的DVD iso.
# mount -o loop /storage/CentOS-5.2-i386-bin-DVD.iso /media

3. 建立相关的目录环境:
# mkdir -p /storage/kickstart_build/isolinux/CentOS
# mkdir -p /storage/kickstart_build/isolinux/ks
# mkdir -p /storage/kickstart_build/isolinux/image
# mkdir -p /storage/kickstart_build/isolinux/repodata
# mkdir /storage/kickstart_build/all_rpms

4. 复制源CD中的文件:
# cp -rp /media/isolinux/* /storage/kickstart_build/isolinux
   包括.discinfo
# cp /media/.discinfo /storage/kickstart_build/isolinux
# cp -rp /media/isolinux/repodata/comps.xml /storage/kickstart_build
# cp -rp /media/CenOS/* /storage/kickstart_build/all_rpms

5.编辑ks.cfg:
#vi /storage/kickstart_build/isolinux/ks/ks.cfg

# Kickstart file automatically generated by anaconda.

install
cdrom
lang en_US.UTF-8
keyboard us
network --device eth0 --bootproto dhcp
network --device eth1 --onboot no --bootproto dhcp
rootpw --iscrypted $1$AEQtgISA$pJKkCI5GeO3MLmLz/Fz.00
firewall --enabled --port=22:tcp
authconfig --enableshadow --enablemd5
selinux --disabled
timezone --utc Asia/Shanghai
bootloader --location=mbr --driveorder=sda
# The following is the partition information you requested
# Note that any partitions you deleted are not expressed
# here so unless you clear all partitions first, this is
# not guaranteed to work
#clearpart --linux --drives=sda
#part /boot --fstype ext3 --size=100 --ondisk=sda
#part pv.2 --size=0 --grow --ondisk=sda
#volgroup VolGroup00 --pesize=32768 pv.2
#logvol / --fstype ext3 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow
#logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=256 --grow --maxsize=512
clearpart --all --initlabel
part /boot --fstype ext3 --size=100
part swap --size=1024
part / --fstype ext3 --size=100 --grow

%packages
@editors
@text-internet
@dialup
@core
@base
device-mapper-multipath


6. 对RPMS进行剪裁,例如你可以将你需要安装的RPM包全部复制到/storage/kickstart_build/isolinux/CentOS目录下,请参考附件list文件,是我需要安装的软件包列表. 你可以编辑comps.xml 文件中的packages列表来决定你需要安装的软件包.

7.收集依赖性软件包
请使用shell1,使用方法: 下载到/storage/kickstart_build目录下,修改为pare.pl,并赋予可执行权限:

# cd /storage/kickstart_build
# chmod +x pare.pl
# cd /storage/kickstart_build/isolinux/CentOS
# /storage/kickstart_build/pare.pl /storage/kickstart_build/all_rpms i386

8.测试软件包的依赖性
# cd /storage/kickstart_build/isolinux/CentOS
# mkdir /tmp/testdb
# rpm --initdb --dbpath /tmp/testdb
# rpm --test --dbpath /tmp/testdb -Uvh *.rpm

按照提示,缺少哪些依赖性软件包,直接从/storage/kickstart_build/all_rpms 下复制过来就行了.

9.创建repository
# cd /storage/kickstart_build/isolinux
# declare -x discinfo=`head -1 .discinfo`
# createrepo -u "media://$discinfo" -g /storage/kickstart_build/comps.xml .

命令运行完毕之后,会自动建立repodata目录.

10.建立ISO文件

# cd /storage/kickstart_build
# mkisofs -o MYOS.iso -b isolinux.bin -c boot.cat -no-emul-boot \
   -boot-load-size 4 -boot-info-table -R -J -v -T isolinux/

生成MD5字符串:
# /usr/lib/anaconda-runtime/implantisomd5 custom.iso
Tags: , ,
,
发表评论
表情
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]