將現有Ubuntu系統作成LiveCD

 製做LiveCD包的工具備很多,其中比較出名的就是UCK和Reconstructor。可是這兩個工具都不能把當前的操做系統製成LiveCD,備份當前操做系統,並製成LiveCD的工具也有,好比國人編寫的工具UClone,它的使用說明在http://www.linuxidc.com/Linux/2011-04/34098.htm。這裏我要介紹另一種方法,能夠將當前的操做系統打包,並製成LiveCD。node

    製做LiveCD包,須要與當前Ubuntu版本相同的desktopd ISO安裝包,我這裏用到的是ubuntu-10.10-desktop-i386.iso,這個ISO文件實際上就是一個現成的LiveCD,咱們只要利用它的結構,就能夠方便快捷的生成本身的最小系統LiveCD了。這裏主要作的事情是首先,將已安裝操做系統上的文件備份成一個squashfs歸檔文件,而後將ubuntu-10.10-desktop-i386.iso裏的內容拷貝出來,用新的 squashfs文件替換掉裏面已有的文件,再調整一些配置,而後將其生成新的ISO文件,再將其刻錄成CD或者製成USB引導盤,這個過程就算大功告成了。linux

    可是若是當前的操做系統比較大,好比八、9個G會出什麼結果,我並沒測試,因此也不能保證這樣的LiveCD就必定可以很好的運行。shell

1.將當前操做系統備份成squashfs歸檔文件,有不少工具,其中最簡便的就數Live Ubuntu Backup V2.2了,尤爲是它還支持中文提示,在http://www.linuxidc.com/Linux/2011-04/34096.htm  能夠下載,而且還有使用說明。這是一個shell腳本寫成的Ubuntu備份工具,直接運行便可。ubuntu

將lub拷貝到/home下,$sudo chmod 777 /home/lub 而後執行$sudo /home/lub -b,而後按e或c來選擇是英文提示,仍是中文提示。第一次執行時,可能會提示須要安裝lupin-casper和squashfs-tools,其中 lupin-casper能夠忽略,而squashfs-tools必須安裝,運行$sudo apt-get install squashfs-tools便可。工具

以後再次運行$sudo /home/lub -b,依提示運行,就能在用戶文件夾下生成一個backup-2011.01.05的目錄了,其中有的backup-2011.01.05.squashfs文件就是咱們想要的。oop

2.再將ubuntu-10.10-desktop-i386.iso拷貝到用戶目錄下,好比/home/jxg/下,測試

  執行$sudo mkdir /home/jxg/mnt 建立一個目錄,ui

  而後執行$sudo mount -o loop /home/jxg/ubuntu-10.10-desktop-i386.iso /home/jxg/mnt,將ISO掛載到/home/jxg/mnt下,而後用執行$sudo mkdri /home/jxg/livecd 建立一個livecd的工做目錄操作系統

  再用 $sudo rsync --exclude=/home/jxg/mnt/casper/filesystem.squashfs -a /home/jxg/mnt/ /home/jxg/livecd  將/home/jxg/mnt下的內容除了casper/filesystem.squashfs,同步到了/home/jxg/livecd目錄下htm

下面,咱們要對/home/jxg/livecd/casper/目錄下的filesystem.squashfs、 filesystem.manifest、filesystem.manifest-desktop這三個文件進行操做,因爲它們只有讀權限,因此先執行$sudo chmod o+w /home/jxg/livecd/casper/filesystem.*

將剛纔lub生成的那個backup-2011.01.05.squashfs文件,拷貝成/home/jxg/livecd/casper/filesystem.squashfs

執行: $sudo cp /home/jxg/backup-2011.01.05/backup2011.01.05.squashfs /home/jxg/livecd/casper/filesystem.squashfs

此外,還要更新/home/jxg/livecd/casper/目錄下的filesystem.manifest和filesystem.manifest-desktop,這兩個文件其實是系統所裝包的列表,經過如下方式更新

$sudo dpkg -l | grep ii | awk '{print $2,$3}' > /home/jxg/livecd/casper/filesystem.manifest

$sudo dpkg -l | grep ii | awk '{print $2,$3}' > /home/jxg/livecd/casper/filesystem.manifest-desktop

實際上filesystem.manifest-desktop和filesystem.manifest是有所不一樣的,主要是少了 ubiquity casper live-initramfs user-setup discover1 xresprobe os-prober libdebian-installer4 這幾個包,咱們這裏忽略了這些影響。

3.退回的LiveCD的工做目錄 /home/jxg/livecd 下,

執行$sudo rm md5sum.txt

再執行$find -type f -print0 | sudo xargs -0 md5sum | grep -v ./isolinux/ | grep -v ./md5sum.txt | sudo tee md5sum.txt

更新原來的md5sum

4.將工做目錄下的內容打包成ISO

先運行$sudo apt-get install mkisofs 安裝ISO打包工具,

執行$sudo mkisofs -D -r -V "$IMAGE_NAME" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../ubuntu-jxg-test.iso .

這個必定要在工做目錄的跟下執行,而且命令最後的 . 必定不要忘記。命令完成後,就能夠在上一級的目錄下發現ubuntu-jxg-test.iso文件了。

相關文章
相關標籤/搜索