[[PageOutline]] = Building ClassCloud Live CD = == 緣起 == * [緣起] 昨晚(2010-05-16)想了很久,或許開始動手寫 code 比規劃半天有用。本想用 Chromium OS 來改,因為它也是基於 Ubuntu/Debian 系列,不過看了 penk 的 [http://penkia.blogspot.com/2010/02/xpud-chromium-os.html xPUD 火力展示:全世界最小的 Chromium OS (58MB)],並考量可能會需要一些 base system 跟 firefox 中鑲嵌 terminal 的需求,決定還是用 [http://www.xpud.org xPUD] 的 [http://github.com/penk/mkxpud mkxpud] 來作好了。 * [參考] 先前研究 xPUD 的紀錄 - [wiki:jazz/09-04-16#xPUD 2009-04-16] * 使用 Xvesa 當 X server - 看起來不是套件 [http://packages.debian.org/lenny/xserver-xorg-video-vesa xserver-xorg-video-vesa] 裡的 - 待追蹤 * 採用輕量級的視窗管理(Window Manager) - [http://packages.debian.org/lenny/openbox OpenBox] * 把程式鑲在 Mozilla 裡面的工具叫做 [http://packages.debian.org/lenny/mozplugger mozplugger] -- 這個是目前主要的考量。 * [參考] 精簡執行 x-windows 所需的套件環境 - 參考 [wiki:jazz/09-02-09 2009-02-09 Atom + AIR 的實驗] * [參考] 快速開機(Fast Booting)相關參考連結 - 參考 [wiki:jazz/09-05-08#FastBoot 2009-05-08 Fast Booting 筆記] == 2010-05-17 == === xPUD === * 測試環境:Debian GNU/Linux 5.0.4 (lenny) {{{ jazz@Wdebian:~$ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 5.0.4 (lenny) Release: 5.0.4 Codename: lenny }}} * 取得 xPUD [http://github.com/penk/mkxpud mkxpud] 原始碼 - (1) 先安裝 git (注意套件名稱是 git-core 不是 git 喔!!) (2) 從 github 下載原始碼 {{{ jazz@Wdebian:~$ sudo apt-get install git-core jazz@Wdebian:~$ git clone git://github.com/penk/mkxpud.git }}} * 由於會使用到 mksqushfs 跟 mkiofs 指令,因此就必須安裝 squashfs-tools 與 mkisofs 兩個套件。另外,因為會用到 ttf-droid 套件,只有 Ubuntu 有包,Debian 沒有,所以就只好從 Ubuntu 借了。 {{{ jazz@Wdebian:~$ http://mirrors.kernel.org/ubuntu/pool/universe/t/ttf-droid/ttf-droid_1.00~b112+dfsg+1-0ubuntu1_all.deb jazz@Wdebian:~$ dpkg -i ttf-droid_1.00~b112+dfsg+1-0ubuntu1_all.deb jazz@Wdebian:~$ sudo apt-get install squashfs-tools mkisofs jazz@Wdebian:~$ cd mkxpud/ jazz@Wdebian:~/mkxpud$ sudo ./tools/mkxpud all }}} * [結果] 失敗!!! 看樣子 xPUD 的 mkxpud 一定得在 Ubuntu 系列執行才可以 :( - 沒仔細看文件的下場 .... {{{ To generate a xPUD image, you will need: 1. a working Ubuntu 9.10 installation <---------------- ㄜ!!!! 2.6.28.cookbook jaunty.cookbook xpud089.cookbook default.cookbook lucid.cookbook 都是 ubuntu 系列 2. sudo permission to install packages on the host and testing 3. Internet access to download packages (if required) 4. at least 500MB of hard disk free space }}} * 改到 Ubuntu 9.04 試試看~因為從 xpud.org 下載 xpud-2.6.31.2-mod.tgz 很慢,所以嘗試從 [http://mesrss.free.fr/xpud/ mirror site]下載,並解開至 /lib/modules/2.6.31.2 這樣 mkxpud 的 script 才不會又下載一次。安裝 squshfs-tools 跟 genisoimage (mkisofs) 供產生 Live CD ROOTFS 與 ISO 檔用,安裝 qemu 供 mkxpud test 用,安裝 nsis 好像是為了產生 windows exe 安裝執行檔。 {{{ jazz@jazzbook:~/mkxpud$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 9.04 Release: 9.04 Codename: jaunty jazz@jazzbook:~/mkxpud$ sudo apt-get install qemu squashfs-tools genisoimage nsis jazz@jazzbook:~/mkxpud$ sudo wget http://mesrss.free.fr/xpud/archive/xpud-2.6.31.2-mod.tgz -P skeleton/archive/ jazz@jazzbook:~/mkxpud$ sudo tar xzf skeleton/archive/xpud-2.6.31.2-mod.tgz -C / jazz@jazzbook:~/mkxpud$ sudo ./tools/mkxpud all }}} === DRBL-Live === * 好吧,那改試一下先前搞不定的 create-drbl-live 好了,今天總算看清楚文件,有幾個小細節要注意: * 要先裝 live helper 與 cdebootstrap ('''這兩個都要使用 DRBL patch 過的版本''')才能使用 * 下載 clonezilla live 1.2.2-31 (用 '''1.2.3-x''' 的版本還不能適用) * 也難怪以前老是弄不出來了 :( * 開始動作 - [參考] [wiki:jazz/09-08-03#DRBL-HadoopLive 2009-08-03 的紀錄] 跟 進階課程的說明 『[http://drbl.nchc.org.tw/advanced/fine-print.php?path=./01_DRBL/09-drbl-live.faq#09-drbl-live.faq 從無到有製作DRBL live]』 {{{ ~$ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 5.0.4 (lenny) Release: 5.0.4 Codename: lenny ~$ echo "deb http://free.nchc.org.tw/drbl-core drbl live-unstable live-testing live-experimental live-stable stable testing unstable" > drbl.list ~$ sudo mv drbl.list /etc/apt/sources.list.d/ ~$ sudo apt-get update ~$ wget http://drbl.nchc.org.tw/GPG-KEY-DRBL ~$ sudo apt-key add GPG-KEY-DRBL ~$ sudo apt-get update ~$ sudo apt-get -y install drbl clonezilla live-helper cdebootstrap zip ~$ sudo /opt/drbl/sbin/drblsrv -i ~$ sudo /opt/drbl/sbin/drblpush -i ~$ sudo /opt/drbl/sbin/create-drbl-live-by-pkg -m http://free.nchc.org.tw/debian -s http://free.nchc.org.tw/debian-security -e unstable }}} * 根據 [attachment:10-05-17_err.log 編譯時的錯誤訊息] 可以知道最好還是跑過 drblsrv -i 跟 drblpush -i 之後再來產生 DRBL Live CD 才會正確。