各位Linux先進好:
我之前原本是MS Windows底下的Programmer,雖然以前也有使用Linux的經驗,但最近幾個月因為一個Project的需要才算真正開始深入Linux的世界。
我先對我這個Project的目標做一個大略描述:
1. 體積 < 32MB,若<16MB 更好,因為打算把它放入Disk On Module.
2. VCD/DVD,mp3, 及divx的播放功能
3. 多國語言的支援
4. 支援USB Disk, USB Card Reader
5. 支援FAT32/NTFS 硬碟存取
6. 美觀、簡易的介面
描述到這邊,可能有些人已經覺得"咦,這不就是GeeXbox (http://www.geexbox.org/en/index.html) 的功能嗎?沒錯,以功能而言,以MPlayer為基礎的GeeXboX是差不多可以滿足,它也可以安裝到Disk On Module之中使用,而且體積只有5~6MB!
但問題是在於第6點"介面"。GeeXboX使用OSD 文字的選單介面是蠻實用的,但以商業產品的觀點來看卻是不夠Friendly!但研究過它的Source Code 發現要改它的介面而不動到其它的功能似乎不是一件容易的事,而且所有的東西都綁在一起,要改也不容易。
由於最大有32MB的空間所以沒有必要像GeeXboX那麼小而且我在標準的平台上已有成功Build MPlayer for console的經驗,也有一些開發App經驗,所以產生了想從無到有建構出一個簡易linux環境+MPlayer+DirectFB UI平台的想法。我試了兩種作法:
1. 從標準Linux(如Debian)往下刪減,這我有嚐試一陣子了,感謝Debian的dpkg套件管理的威力,到目前為止已縮至100MB了,是還有些東西可以手動刪除,比如說/usr/share 底下的man, doc等,還有一個Busybox可以利用,所以有可能再進一步縮小,但要縮小到32MB以下,似乎還有一段距離,更別說MPlayer還有一些codec lib可能還要加裝,這方法實在不太有把握~
2. 我在 share 區看到一篇文章"[轉錄] DIY:自己動手做一個迷你 Linux 系統" (http://moto.debian.org.tw/viewtopic.php?t=475&highlight=uclibc) 我照著做之後,目前已經可以從Kernel boot到 Busybox shell,體積也只有3MB (目前什麼App都還沒裝),但我覺得這小東西看起來會不會太簡化了一點? 甚至一些boot disk的製作都比這要複雜多了,這東西真的可以用嗎? MPlayer可以裝在這上面嗎?
當然我會繼續試,但因為project 的schedule問題,我可能沒太多時間試了,所以想請有經驗的先進指點一下迷津,也許我可以少走一些冤枉路,感謝~再感謝~