2007/03/20

LiveCD comparison: knoppix v.s. geexbox

先前貼了兩篇文章比較 Knoppix, GeeXboX LiveCD 的建立,現在稍微整理一下其異同:

第一階段壓縮系統時,Knoppix 用 mkisofs + create_compressed_fs, 因此要解開它必須配合 cloop 或者採用 extrace_compressed_fs 來將 KNOPPIX 解開成 iso 檔。而 GeeXboX 則採用 mkzftree 先把系統內所有檔案壓縮過。單一這一點來說,最後產生的壓縮效率明顯地 KNOPPIX 會優於 GeeXboX。我以最後結果來說,有一個 GeeXboX 壓縮完的可開機 LiveCD 檔案大小為 8945664, 而改採 Knoppix 的方式壓製完的結果為 8722432. 改善 2.5% (註:其實也不高啦)

GeeXboX 將常用的系統命令整理成一個 bin.tar.lzma, 採用 lzma 壓縮,效率比 gzip -9 要好得多,比較如下:
原大小約 13486080, 經 lzma 壓縮後為 4272857, 而 gzip -9 為 5615782, 就算是採用 bzip2 壓縮(註: 這樣無法給 kernel 用)也只得到 5438745. 壓縮率 lzma 約 68.3%, gzip 約 58.4%

類似於 GeeXboX 整理成 bin.tar.lzma, Knoppix 則整理出一個 KNOPPIX,這是採 cloop 的方式掛載,請見 create_compressed_fs 與 extract_compressed_fs. 若拿 GeeXboX 來實驗,採用此方式壓縮出來的大小為 5742650, 單純就效果來看還不如 GeeXboX, 壓縮率為 57.4%

GeeXboX 的 initrd 已經是個小型嵌入式系統了,雖然擺的東西並不多,但是並不會被取代。Knoppix 卻不然,initrd 算是掛載 CDROM 用的,最後會整個被揚棄。另外,GeeXboX 採用 genext2fs 來產生 initrd,而 KNOPPIX 則事先製作好的 minirt.gz, 兩者要掛載時都需先 gunzip 解壓再 mount 即可。

Knoppix 的 script 寫的比較有彈性,例如會在啟動時看看硬碟中是否已經安裝了 KNOPPIX, 若是則由它啟動。而 GeeXboX 則以 LiveCD 為導向,會把整個系統載入記憶體後退出 cdrom.

前面說過,若是大系統,或許 Knoppix 的方式較簡便,但是以小型系統來說,GeeXboX 卻更值得學習。

0 意見: