wiki:jazz/ClassCloud_LiveCD

Version 19 (modified by jazz, 14 years ago) (diff)

--

Building ClassCloud Live CD

緣起

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 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 很慢,所以嘗試從 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 的版本還不能適用)
    • 也難怪以前老是弄不出來了 :(
  • 開始動作 - [參考] 2009-08-03 的紀錄 跟 進階課程的說明 『從無到有製作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
    
    • 根據 編譯時的錯誤訊息 可以知道最好還是跑過 drblsrv -i 跟 drblpush -i 之後再來產生 DRBL Live CD 才會正確。

2010-05-18

2010-05-19

  • 修正作法, 再試一次:
    ~$ 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 stable" > drbl.list
    ~$ sudo mv drbl.list /etc/apt/sources.list.d/
    ~$ 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
    ~$ sudo /opt/drbl/sbin/drblsrv -i -c n -n n -m n -g n -k 2 -o 1
    ~$ echo "deb http://free.nchc.org.tw/drbl-core drbl live-unstable" > drbl-live.list
    ~$ sudo mv drbl-live.list /etc/apt/sources.list.d/
    ~$ sudo apt-get update
    ~$ sudo apt-get -y install live-helper cdebootstrap zip
    ~$ 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
    
  • Yeah!! 成功了!!
    jazz@lenny:~$ ls
    drbl-live-xfce-20100519.iso  drbl-live-xfce-stage1-20100519.iso
    drbl-live-xfce-20100519.zip  GPG-KEY-DRBL
    

2010-05-21

  • 基於 create-drbl-live-by-pkg 開始嘗試加入 jdk, hadoop, xen hypervisor 套件....[失敗]
  • [原因] sun-java6-jdk 等套件必須選擇同意授權才能繼續安裝。(2010-05-30 解決)

2010-05-23

2010-05-30

  • 解決 2010-05-21 的問題 - Debian / Ubuntu 如何在 shell script 裡面安裝 sun-java6-jdk 又不用選 yes 呢?!
    • [參考] Installing java non-interactively
    • 這裡提到用 debconf-set-selections 來設定一些參數,讓 sun-java*-* 不問授權的 yes,方法包括有寫檔跟沒寫檔的做法,個人覺得留言裡面的那個做法最帥了!!
      cat << EOF | /usr/bin/debconf-set-selections
      sun-java6-bin   shared/accepted-sun-dlj-v1-1    select true
      sun-java6-jdk   shared/accepted-sun-dlj-v1-1    select true
      sun-java6-jre   shared/accepted-sun-dlj-v1-1    select true
      EOF
      
    • 那麼如果以後遇到別的套件也有類似的問題該怎麼找參數呢?? 答案是用 debconf-get-selections 這個指令,首先必須安裝 debconf-utils 套件,然後執行 debconf-get-selections 再用 grep 用套件名稱找出可以改的參數。
      ~$ sudo debconf-get-selections | grep sun-java6
      sun-java6-jre	sun-java6-jre/stopthread	boolean	true
      sun-java6-bin	shared/accepted-sun-dlj-v1-1	boolean	true
      sun-java6-jre	shared/accepted-sun-dlj-v1-1	boolean	true
      sun-java6-jre	sun-java6-jre/jcepolicy	note	
      sun-java6-bin	shared/error-sun-dlj-v1-1	error	
      sun-java6-jre	shared/error-sun-dlj-v1-1	error	
      sun-java6-bin	shared/present-sun-dlj-v1-1	note	
      sun-java6-jre	shared/present-sun-dlj-v1-1	note	
      
    • 須注意的是原本參數是 boolean 格式,若要下給 debconf-set-selections 必須置換成 select 關鍵字喔!!
      ~$ sudo debconf-get-selections | grep sun-java6 | grep boolean | sed 's#boolean#select#g'
      sun-java6-bin   shared/accepted-sun-dlj-v1-1    select  true
      sun-java6-jdk   shared/accepted-sun-dlj-v1-1    select  true
      sun-java6-jre   shared/accepted-sun-dlj-v1-1    select  true
      sun-java6-jre   sun-java6-jre/stopthread        select  true
      

Attachments (10)