從昨天到現在廢了好大的勁兒才找出來了能夠定制Ubuntu Live系統的方法,可是費了不少勁,花了不少的精力和時間,成功的那一瞬間連自己都感動了……(各位大神不要鄙視,俺只是菜鳥,能做到這一步正的不容易了)。
做出來的最終效果就是能夠在Live CD中使用定制的“皮”,不再是Ubuntu官方的皮膚,同時軟件包神馬的也都能改變。十分渴望有高手能夠指導一下有木有什么簡單的方法來定制Live CD(如果里面的鏡像系統不能修改就不要說了)!本文的方法來自:
https://help.ubuntu.com/community/LiveCDCustomization
我簡單總結了一下自己的步驟。
一、准備工作
1、 Ubuntu原版鏡像,這個是為了展開squashfs文件系統而准備的,我們需要它作為最基本的原型。
2、 兩個工具,squashfs-tools和genisoimage,用apt-get命令即可
3、 加載squashfs模塊。命令:$ sudo modprobe squashfs
二、展開光盤內容
將事前准備好的原版鏡像進行展開,從而編輯/casper目錄下的filesystem.squash文件。
具體步驟如下:
在你的目錄下建立一個文件夾(我的是mylive),將光盤鏡像拷貝到這個目錄下,並且進入這個目錄。然后建立一個mnt目錄,把光盤鏡像掛載到mnt中,命令為
$sudo mount –o loop Ubuntu-12.04.iso mnt
接下來,展開其中的其中的filesystem.squashfs鏡像文件系統。
$mkdir extract-cd
$rsync --exclude=/mnt/casper/filesystem.squashfs -a mnt/ extract-cd
然后再掛載squashfs文件系統。
$mkdir squashfs
$sudo mount -t squashfs -o loop mnt/casper/filesystem.squashfs squashfs
進行到這一步文件系統就算展開完畢了,但是對它是沒有權限進行編輯的,還需要把其中的內容拷貝到別的目錄下才能編輯,接下來做的就是這件事:
$mkdir edit
$sudo cp squashfs/* edit/
三、進行個性化定制
這里的個性化定制就決定了你最后生成的Live CD中的鏡像系統是什么樣子的,但是可修改的東西有很多,具體可做的修改可以參考我在上文中提到的Ubuntu官網來做,這里就不再贅述了。
四、重生成文件
1、 重生成需要安裝的文件列表,命令如下:
$chmod +w extract-cd/casper/filesystem.manifest
$sudo chroot edit dpkg-query -W --showformat='${Package} ${Version}/n' > extract-cd/casper/filesystem.manifest
$sudo cp extract-cd/casper/filesystem.manifest extract-cd/casper/filesystem.manifest-desktop
$sudo sed -i '/ubiquity/d' extract-cd/casper/filesystem.manifest-desktop
$sudo sed -i '/casper/d' extract-cd/casper/filesystem.manifest-desktop
2、 重生成squashfs文件系統
$sudo rm extract-cd/casper/filesystem.squashfs
$sudo mksquashfs edit extract-cd/casper/filesystem.squashfs
3、 重生成MD5校驗碼
$rm extract-cd/md5sum.txt
$cat extract-cd/md5sum.draft | grep -v md5sum.draft | grep -v isolinux/boot.cat > extract-cd/md5sum.txt
五、制作iso鏡像文件
現在,在extract-cd的目錄下已經得到了我們要用的Livd CD鏡像系統了,最后一步只需要將其打包成iso即可了。不過,打包過程挺惡心的,我花了好長時間才找到了合適的參數配置,如下:
$cd extract-cd/
$sudo rm -f md5sum.txt
$sudo genisoimage -D -joliet-long -L -no-emul-boot -boot-load-size 4 -boot-info-table -b isolinux/isolinux.bin -c isolinux/boot.cat -o ../test.iso ~/mylive/extract-cd
對了,最后還要把掛載上得文件系統都卸載啊,不然系統的運行會亂掉的。好了,下載在mylive下就得到了一個名為test.iso的文件了,這就是我們做好的Live CD,剩下的就是測試並且刻錄了。
最后再提一次,希望哪位大神有能夠更加方便、可靠地定制Live CD的方法能夠不吝賜教!
By Air_Fighter
2012.07.26
