在使用cobbler或PXE安装系统的时候,在安装系统前关于raid卡的配置,ipmi的配置等都需要登入主机先手动配置,那有什么可以使用脚本来做这些东西呢?大家一定会想到winpe,那linux有什么呢?Linux有一个LiveCD,但是公共的LiveCD很多没有像MegaRAID,ipmitools等工具,那我们只有自己来定制LiveCD
1.  安装制作环境
添加yum源:

[livecd]
name = CentOS $releasever - LiveCD
baseurl = http://www.nanotechnologies.qc.ca/propos/linux/centos-live/$basearch/live
enabled=1
protect=0
gpgkey = http://www.nanotechnologies.qc.ca/propos/linux/RPM-GPG-KEY-PGuay2010
yum install livecd-tools syslinux anaconda-runtime



2. 编写kickstart脚本      

lang en_US.UTF-8
keyboard us
timezone US/Eastern
auth --useshadow --enablemd5
selinux --enforcing
firewall --disabled
repo --name=a-base    --baseurl=http://mirror.centos.org/centos/5/os/$basearch
repo --name=a-updates --baseurl=http://mirror.centos.org/centos/5/updates/$basearch
repo --name=a-extras  --baseurl=http://mirror.centos.org/centos/5/extras/$basearch
repo --name=a-live    --baseurl=http://www.nanotechnologies.qc.ca/propos/linux/centos-live/$basearch/live
%packages
bash
kernel
syslinux
passwd
policycoreutils
chkconfig
authconfig
rootfiles
comps-extras
xkeyboard-config



3. 开始制作Livecd

     LANG=C livecd-creator --config=centos-livecd-minimal.ks --cache=/home/livecd/cache --tmpdir=/home/livecd/tmp \\
--fslabel=CentOS-LiveCD


  这一步完成后会在当前目录生成一个CentOS-LiveCD.iso文件,centos-livecd-minimal.ks是编写好的kickstart脚本,至此Livecd已经生成,接下来开始修改。

4. 定制Livecd

4.1 安装工具
     yum install squashfs-tools
或者使用squashfs4版本,通过源码安装

4.2 挂载ISO镜像

   mkdir -p /home/livecd
   mount -o loop -t iso9660 CentOS-LiveCD.iso /home/livecd



4.3 copy镜像

   mkdir -p /home/img
   cp -R /home/livecd/* /home/img



4.4 解压squashfs.img
进入/home/img/LiveOS 目录,会看见squashfs.img文件

unsquashfs squashfs.img



会产生squashfs-root目录,进入其子目录LiveOS中,会有一个ext3fs.img文件,挂载该文件

mount -o loop,rw ext3fs.img /tmp/iso



在做完各种修改后,卸载该文件

umount /tmp/iso



重新回到/home/img/LiveOS目录,生成新的squashfs.img文件 
修改rc.local文件,加入一系列划分分区、格式化、挂载、解压命令后,

开始打包img文件

mksquashfs squashfs-root squashfs.img



删除squashfs-root目录

回到上级目录,打包新的ISO

genisop_w_picpath -o /iso/LiveCD.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -V "LiveCD" -T ./
或
mkisofs -R -b isolinux/isolinux.bin -c isolinux/boot.cat -o /tmp/LiveCD.iso -V "LiveCD" \\ -no-emul-boot -boot-load-size 4 -boot-info-table .



这样经过修改的镜像文件就会生成,刻入CD中,就可以自动装机了。 
如果要使用PXE

livecd-iso-to-pxeboot LiveCD.iso



#生成vmlinuz和initrd0.img文件
将vmlinuz和initrd0.img文件拷贝到PXE的tftpboot目录