製做&&修改CentOS Livecd

      在centos中能夠用kickstart進行裝機自動化,也能夠定製一些軟件包,公司的須要的基礎系統裏面不少軟件參數、選項、內核都通過優化,因此用kickstart裝起來雖然方便可是後期調整很麻煩,因此打算換種方法,思路以下: linux

    把通過優化的系統總體打包,作成一個原始的tar包,因爲linux是文件系統,因此只要在新硬盤上劃好分區好之後,解壓打好的tar系統包就能夠了,而後安裝grub,這樣一個系統就完成了,可是本人有點懶,分區,grub都不想本身動手,因此能夠寫個腳本自動執行。 shell

    1 打包系統 centos

tar czvfp Centos5_x86_64.tgz bin/ boot/ dev/ etc/ home/ lib/ lib64/ lost+found/ media/ mnt/ opt/ \
--exclude=proc/* proc/ root/ sbin/ selinux/ srv/ --exclude=tmp/* tmp/ usr/ var/ --exclude=sys/* sys/

   2 製做centos livecd bash

     2.1 安裝製做環境 工具

yum install livecd-tools syslinux anaconda-runtime

     2.2 編寫kickstart腳本       oop

lang en_US.UTF-8
keyboard us
timezone US/Eastern
auth --useshadow --enablemd5
selinux --disabled
firewall --disabled

repo --name=a-base  --baseurl=http://mirrors.163.com/centos/5/os/$basearch/
repo --name=a-addons   --baseurl=http://mirrors.163.com/centos/5/addons/$basearch/
repo --name=a-extras   --baseurl=http://mirrors.163.com/centos/5/extras/$basearch/
repo --name=a-centosplus --baseurl=http://mirrors.163.com/centos/5/centosplus/$basearch/
repo --name=a-contrib  --baseurl=http://mirrors.163.com/centos/5/contrib/$basearch/
repo --name=a-live    --baseurl=http://www.nanotechnologies.qc.ca/propos/linux/centos-live/$basearch/live

%packages
bash
kernel
syslinux
passwd
policycoreutils
perl
chkconfig
authconfig
rootfiles
comps-extras
xkeyboard-config
grub
coreutils
parted

     2.3 開始製做Livecd 優化

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

  這一步完成後會在當前目錄生成一個CentOS-minimal.iso文件,centos-livecd-minimal.ks是編寫好的kickstart腳本,至此Livecd已經生成,接下來開始修改。 google

   3 定製Livecd url

     3.1 安裝工具 spa

yum install squashfs-tools

    或者使用squashfs4版本,下載源碼包後,進入squashfs-tools目錄,make&&make install 便可安裝完成,

默認命令安裝在/usr/local/bin,能夠copy到/bin中。

3.2 掛載ISO鏡像

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

        3.3  copy鏡像

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

       3.4  解壓squashfs.img 

              進入/home/img/LiveOS 目錄,會看見squashfs.img文件,

unsquashfs squashfs.img

             會產生squashfs-root目錄,進入其子目錄LiveOS中,會有一個ext3fs.img文件,掛載該文件

mount -o loop,rw ext3fs.img /tmp

            在作完各類修改後,卸載該文件,從新回到/home/img/LiveOS目錄,生成新的squashfs.img文件

           個人需求是:修改rc.local文件,加入一系列劃分分區、格式化、掛載、解壓命令後,並把前面打的tar包傳入/tmp的制定目錄下,這樣用livecd啓動時會執行rc.local中的命令,這樣等livecd徹底啓動後,宿主機的硬盤上就會有一個咱們剛纔打包好的系統了。

mksquashfs squashfs-root squashfs.img

           刪除squashfs-root目錄,回到上級目錄,生成新的ISO

mkisofs -R -b isolinux/isolinux.bin -c isolinux/boot.cat -o /tmp/test.iso -V "CentOS-minima" \
-no-emul-boot -boot-load-size 4 -boot-info-table .

     這樣通過修改的鏡像文件就會生成,刻入CD中,就能夠自動裝機了。

     注:這只是適應咱們部分小的需求,也沒什麼創新,google了幾遍文檔,糅雜在一塊兒的。

     相關參照:

     https://projects.centos.org/trac/livecd/

相關文章
相關標籤/搜索