天天看點

定制化LiveCD

在使用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      
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 .      
livecd-iso-to-pxeboot LiveCD.iso      

繼續閱讀