下载ISO

下载安装CentOS-6.3-x86_64-minimal.iso,当然也可以定制安装DVD版,选择常用的组件

安装软件包

安装制作发行版所需的基本软件包

1
yum -y install createrepo mkisofs

生成安装系统所需的rpm文件列表

生成安装系统所需的rpm文件列表,如果是 minimal 可以跳过此步,直接把Packages拷贝到/data/OS/

1
2
3
4
5
6
cd /root
#英文版:
cat install.log | grep Installing | sed 's/Installing //g' > /root/packages.list

#中文版:
cat install.log | grep 安装 | sed 's/安装 //g' > /root/packages.list

创建定制工作目录

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
mkdir -p /mnt/cdrom
mkdir -p /data/OS
#mount /dev/cdrom /mnt/cdrom
mount -o loop ~/CentOS-6.3-x86_64-minimal.iso  /mnt/cdrom
#rsync -a --exclude=Packages /mnt/cdrom /data/OS
#mkdir /data/OS/Packages
cp -rf /mnt/cdrom/* /data/OS/
cp -rf /mnt/cdrom/.discinfo  /data/OS/
cp -rf /mnt/cdrom/.treeinfo  /data/OS/
#如果你使用的定制好的桌面版,需要复制定制安装好的rpm包,脚本cprmps.sh在附件下载,执行前 清空 /data/OS/Packages/ 下的所有rpm包,
#执行cprmps.sh过程中出现报错不用理会,只要最后/data/OS/Packags/ 下有定制的rpm包就可以了

配置kickstart脚本

/data/OS/isolinux/ks.cfg,我的文件比较简单.复杂需求可以自行定义.

生成comps.xml

1
2
3
4
5
cd /data/OS
#重命名xml文件,或者是以comps.xml结尾的文件
mv repodata/*-x86_64.xml repodata/comps.xml
declare -x discinfo=`head -1 .discinfo`
createrepo -g repodata/comps.xml /data/OS/

让系统从kickstart配置启动安装

1
2
3
vi /data/OS/isolinux/isolinux.cfg #修改isolinux.cfg中第一个label
#initrd=initrd.img 修改成下面的
append ks=cdrom:/isolinux/ks.cfg initrd=initrd.img

生成ISO文件

1
2
3
4
mkisofs -o CentForOS6.3.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T /data/OS/

#生成MD5检验码
/usr/bin/implantisomd5 /data/OS/CentForOS6.3.iso

刻录注意

刻录成光盘可以直接进行安装,或者用VM虚拟机安装ISO文件.不要刻录成U盘安装,这样会有出问题

ks脚本访问cd文件

1
2
3
4
5
6
%post --nochroot
mkdir -p /mnt/source
mount -o ro /tmp/cdrom /mnt/source
cp -a /mnt/source/itest /mnt/sysimage/root/
umount /mnt/source
%end%

其他

可以在图形界面系统上,使用 system-config-kickstart 这个界面软件,生成ks的主要配置文件

可以使用 yum-downloadonly 这个插件下载rpm的依赖包非常方便

在ks.cfg中启动mysql 需要 sleep一下,例如 sleep 10 这个也是试好几次才知道的!

u盘挂载通常是 sda4