* * * * *

  1. mk-boot-usb 製作可開機隨身碟
  2. 把以下內容貼到第四分割的 /boot/grub/menu.lst 其中請注意: 因為我把光碟內容放到第五分割, 所以用 (hd0,4); 請視您的狀況略作修改。
        title  OSSACC ezgo 6
        kernel (hd0,4)/casper/vmlinuz boot=casper quiet splash noprompt persistent
        initrd (hd0,4)/casper/initrd.gz
    
  3. 把 OSSACC 製作的 ezgo 6 光碟內容拷貝到隨身碟 (我放在第五分割)
  4. 下載 我修改過的 initrd.gz, 取代原來的 casper/initrd.gz
  5. 在第一分割上, 建一個名為 casper-rw 映象檔 (此例大小為 256MB), 作為日後可寫入的空間: (詳見 ubuntu 關於 persistence 的文件)
    dd bs=1024 count=262144  /path/to/1st/part/casper-rw
    mkfs -t ext2 /path/to/1st/part/casper-rw # (回答 "y")
    

今天起, 演講場合改替聽眾安裝這個版本的 百毒不侵救命碟

至於 initrd.gz, 修改了那些地方呢? 以下是我自己的筆記, 一般讀者可省略。

  1. 在 scripts/casper 當中, 搜尋 ",mode=755", 把這一整段去掉, 變成: mount ${cowdevice} -t ${cow_fstype} -o rw,noatime /cow || mount -o loop ${cowdevice} /cow || panic "Can not mount $cowdevice on /cow"
  2. 在 scripts/casper-helpers 當中, 搜尋 ",shortname=mixed,utf8,user,usefree" 把這一整段去掉, 變成: try_mount "${devname}" "${snap_backing}" "ro"

這是如何找出來的呢? 在掉進 busy-box 之後, 會看到一個 casper.log 檔, 循著裡面提供的線索就會找到問題所在。