下载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