在使用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
genisoimage -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目录