[轉]ubuntu LiveCD製作

     1.首先要下載ubuntu-10.10-alternate-i386.iso和ubuntu-10.10-desktop-i386.iso鏡像,之所以要用2個鏡像是因爲需要通過ubuntu-10.10-alternate-i386.iso來安裝命令行系統,再在命令行的基礎上安裝X11環境和GNOME環境,而ubuntu-10.10-desktop-i386.iso則是用來製作LiveCD。alternate版和desktop版的區別在http://www.linuxdiyf.com/bbs/thread-64198-1-1.html有詳細的介紹,主要就是安裝原理的不同desktop版相當於一個LiveCD,安裝時就是從光盤將Ubuntu系統“恢復”到硬盤,而alternate版纔是真正意義上的安裝程序,並且可以只安裝命令行系統。
     2.用ubuntu-10.10-alternate-i386.iso引導開機,選擇好語言後,按F4選擇安裝模式爲“安裝命令行系統”,再按“安裝Ubuntu”,就可以開始了。
     3.安裝完,重啓後執行 $sudo apt-get update 更新源下載文件,再執行 $sudo apt-get install openssh-server 安裝ssh server
     4.下載並安裝X-window環境,執行 $sudo apt-get install x-window-system-core
     5.再就要安裝顯卡驅動了,由於我用的VMWare虛擬機的顯卡驅動已經被Ubuntu集成了,所以這一步可以跳過
     6.安裝GNOME桌面環境 $sudo apt-get install gnome-core 安裝gnome-core需要的包較多,可能會下載比較長的時間
     7.安裝Compiz窗口管理器 $sudo apt-get install compiz 按道理這個不需要裝的,但是不安裝的話,ubuntu新開窗口不能移動,縮放。
     8.安裝輸入法管理器與小企鵝輸入法 $sudo apt-get install im-switch $sudo apt-get install fcitx 某些情況下可能,在安裝了fcitx輸入法以後可能會出現和SCIM並存的問題,只要用im-switch把默認輸入法改成fcitx就可以了:    $sudo im-switch -a fcitx    $im-switch -a fcitx
     9.設置英語界面中文輸入環境,如果不需要輸入漢字的話,8、9兩步可以省略 $sudo vim.tiny /etc/environmont 添加LC_CTYPE=zh_CN.UTF-8
     10.安裝中文字體(如果執行了第8步,這一步可以省略) $sudo apt-get install ttf-arphic-uming
     11.現在運行$sudo startx就可以進入Ubuntu的圖形界面了。第一次進入界面,會看到"OAFILD:Gnome_FastUserSwitch Applet"的出錯窗口,這實際上是一個快速切換用戶的功能包,要解決的話,要執行 $sudo apt-get install indicator-applet-session
     12.再安裝gdm這樣下次重啓就能直接進入GNOME界面了, $sudo apt-get install gdm 也可以把startx寫到/etc/rc.d/local下
     13.執行$sudo apt-get clean,再執行df -h可以看到裝完整個系統用了大約1.2G的空間。 安裝系統到此可以告一段落了,下面就可以開始製作LiveCD了。前文已經說過,ubuntu-10.10-desktop-i386.iso實際上就是一個現成的LiveCD,我們只要利用它的結構,就可以方便快捷的生成自己的最小系統LiveCD了。這裏主要做的事情是首先將已安裝操作系統上的文件備份成一個squashfs歸檔文件,然後將ubuntu-10.10-desktop-i386.iso裏的內容拷貝出來,用新的squashfs文件替換掉裏面已有的文件,再調整一些配置,然後將其生成新的ISO文件,再將其刻錄成CD或者製成USB引導盤,這個過程就算大功告成了。
 
     1.將當前操作系統備份成squashfs歸檔文件,有很多工具,其中最簡便的就數國內某大牛寫的Live Ubuntu Backup V2.2了,尤其是它還支持中文提示,在http://forum.ubuntu.org.cn/viewtopic.php?f=21&t=206287   可以看到使用說明。這是一個shell腳本寫成的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文件就是我們想要的。
     2.再將ubuntu-10.10-desktop-i386.iso拷貝到用戶目錄下,比如/home/jxg/下, 創建一個目錄,用來掛載ubuntu-10.10-desktop-i386.iso $sudo mkdir /home/jxg/mnt , 將ISO掛載到/home/jxg/mnt下 $sudo mount -o loop /home/jxg/ubuntu-10.10-desktop-i386.iso /home/jxg/mnt 創建一個livecd的工作目錄 $sudo mkdri /home/jxg/livecd 將mnt目錄下casper/filesystem.squashfs以外的內容,同步的livecd工作目錄上 $sudo rsync --exclude=/home/jxg/mnt/casper/filesystem.squashfs -a /home/jxg/mnt/ /home/jxg/livecd 下面,我們要對/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,這兩個文件實際上是LiveCD系統內所裝包的列表,通過以下方式更新 $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 下, 執行 $cd /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 安裝ISO打包工具 $sudo apt-get install mkisofs 將livecd內的內容打成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文件了,大小爲407MB 總結,實際上我的製作過程中,對包的選擇比較粗放,很多包比如 indicator-applet-session 、 gdm 、fcitx包都可以不裝,並且對linux的內核也沒有裁剪,限於時間所限,目前只能做到這一步了,其實還有Ubuntu精簡還有很大的潛力。我使用LXDE替代GNOME製作了一個LiveCD包,只有350多M,過程參見   基於LXDE的Ubuntu桌面最小系統LiveCDhttp://forum.ubuntu.org.cn/viewtopic.php?f=48&t=222116

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章