顯示具有 Linux 標籤的文章。 顯示所有文章
顯示具有 Linux 標籤的文章。 顯示所有文章

2009年3月11日 星期三

Cygwin 習作 ---- 編譯 DrawTiming

你應該也有這種經驗, 想找某方面的軟體, 尋尋覓覓尋尋覓覓的結果, 卻發現怎麼就只有 Linux 版本 ..., 這時候你怎麼辦? 會想動手把它『移植』到 Windows 嗎?

例如: 有機會和 Evernote 或 OneNote 互補的 BasKet Note Pads, 讓我差點想把 andLinuxcoLinux 架起來....。而最近找到『畫時序圖的免費工具 DrawTiming, 就讓我安裝了第一次使用的 Cygwin 來編譯執行檔, 最後又換成 MSYS + MinGW ...

. 

Cygwin 與 MinGW 的不同

Cygwin 與 MinGW 有什麼不同? 我的看法是: 比較複雜, 或是使用到較多外部函式庫的程式, 適合使用 Cygwin; 而比較單純, 沒有使用到外部函式庫, 而且又希望很容易分享出去的程式, 則適合使用 MinGW

其他說明可以參考 :

Cygwin ... 透過 ... Cygwin1.dll ... 建立一個系統呼叫轉換層,將原先 unix 世界裡的 system call 呼叫,... 映對到微軟視窗作業系統的系統呼叫,... 在 Windows 底下模擬出一個 unix 平台來

MinGW ... 將 gnu 這個 open source, free 的開發工具移植到微軟視窗平台,他直接產生出來的PC視窗平台機器碼,

MinGW 是取 Minimalist GNU for Windows 計劃之意,其目標為提供一個可在 Win32 平台上開發 Win32 native code 的 GNU GCC tools ,而非提供 Unix 程式移植到 Win32 平台之用,此即為其 Minimalist 之意。... 在 MinGW 中,有提供一套最小化的 unix shell 擬似執行環境,稱為 MSYS (Minimal SYStem)
... 如果是打算將原本在unix 環境下的程式移植到win32 的使用者,也不建議用這套工具, Cygwin 更合適。

簡單的說,cygwin在windows上提供了一個像linux (Linux-like)的環境,可以讓使用者在windows上執行linux的程式。

嚴格地說, cygwin 是模擬了 GNU 的環境, 而不是 linux 的環境,藉著 cygwin 的函式庫(library), 在 Win32 API 環境上提供了像 linux 般的API 環境. 利用 Cygwin, 你可以:

  • 將 linux 上的程式移植到 Windows , 而不必做重大的修改,只需將原始碼拿來作 configure 與 make 就好了。
  • 使用常用的 linux 工具程式,如grep, sed, awk等。
  • 撰寫 Win32 native console 或是 GUI 應用程式。

.

下載與安裝 Cygwin

  1. 連至 www.cygwin.com 下載 setup.exe
  2. 執行 setup.exe , 選取Download from Internet
    1. 選取距離自己最近的下載點
    2. 選取所需套件 // 建議全選devel, lib等分類的所有套件
  3. 執行 setup.exe , 選取Install from Local directory安裝套件 //最好選取 All user
    1. 選取所有套件
  4. 執行桌面上的 Cygwin 的 icon 圖示即可執行此一 Cygwin 環境。// 視窗大小可由icon 圖示右點按 選取調整字型 及佈置

step by step 可參考 http://linux.tnc.edu.tw/techdoc/shell/x52.html

.

例如, DrawTiming 官網的 安裝說明 提到已經在 FreeBSD, Linux, 和 Cygwin 底下測試過, 另外在 編譯成 Cygwin 版本的注意事項 又說到需要這些函式庫: ImageMagick, libMagick-devel, libbz2-devel, gcc-g++, make, xorg-x11-devel, ghostscript-base, 所以我裝 Cygwin 的步驟就是 :

  • 先下載 572K 的 Cygwin setup.exe,
  • 執行 setup.exe, 選『下載但不安裝』 (Download Without Installing)
  • 指定下載檔案到本機的存放位置
  • ... 選下載點, 例如 ftp://ftp.???.???.edu.tw (台灣的幾個大學)
  • ... 選 下載的函式庫
    這是一個樹狀選單, 如果不清楚到哪一個類別節點去找函式庫, 可以在 本機存放位置的 ftp://ftp.???.???.edu.tw 子目錄底下找到 setup.ini 的內容, 例如下面的例子 :
  • 下載完成之後, 再執行一次, 這次選『從本機的存放位置安裝』(Install from Local Directory) ...

setup.ini 的內容

@ libMagick-devel
sdesc: "Image manipulation software suite (development)"
ldesc: "ImageMagick is a software suite to create, edit, and compose bitmap ..."
category: Graphics
requires: cygwin libbz2-devel
libfontconfig-devel libfpx-devel libfreetype2-devel libjasper-devel libjbig-devel libjpeg-devel liblcms-devel libpng12-devel libtiff-devel libwmf-devel libxml2-devel libX11-devel libXext-devel zlib

...

@ xorg-x11-devel
sdesc: "Obsolete package"
ldesc: "Obsolete package"
category: _obsolete
requires: libX11-devel xorg-x11-base

可以得知 libMagick-develGraphics 這個類別節點底下, 而且它同時需要 cygwin libbz2-devel, 這些相依的函式庫 (dependency), 會在點選 libMagick-devel 時被自動納入, 而 xorg-x11-devel 則是不存在 (_obsolete)

下面是我在 Cygwin 內定的部份之外, 配合 DrawTiming 再勾選的函式庫 :

類別節點 函式庫
Devel gcc-core
gcc-g++
make
Graphics ImageMagick
ghostscript
ghostscript-fonts-others
ghostscript-fonts-std
libMagick-devel
Libs libbz2-devel

_obsolete (不存在)

ghostscript-base
xorg-x11-devel

.

製作 Cygwin 版的 DrawTiming

假設 drawtiming-0.7.tar.gz 存放在 e:

  • 點選桌面的 Cygwin 圖示
  • cd cygdrive/e/
    ( cygwin 底下的 e: 會對應成 /cygdrive/e/, c: 會對應成 /cygdrive/c/ )
  • tar -xzf drawtiming-0.7.tar.gz
  • cd drawtiming-0.7
  • ./configure
  • 依照需求 make
    make           (編譯執行檔)
    make install  (編譯並自動安裝到)
    make check  (編譯並測試執行結果)
  • 回到 Windows, 檢查 *.gif 的結果是否正確

如果只需要在一台機上器上執行 DrawTiming, 到這邊就算完成了。

總計 Cygwin 版完整的 DrawTiming, 過程中除了120KB 的 DrawTiming 原始程式碼之外, 還要下載 Cygwin 將近 80MB 的安裝檔 (含 gcc, ImageMagick, ghostscript ... 等), 安裝之後則變成大約 300MB 的 Cygwin 的執行環境 ....。不過, 這一番辛苦之後可以正確輸出 GIF, JPG, PS, EPS。

.

『免安裝 Cygwin』的 DrawTiming

經過一番嘗試, 我發現可以抽取出一些 DLL, 變成『免安裝 Cygwin』在 Windows 命令列執行的 DrawTiming。而這個『免安裝版』因為字型相依性還沒全部解決, 所以只能輸出 PS, EPS 格式。雖然功能上打了折扣, 但是只需要複製大約 10MB 的檔案, 就 可以在另一台『沒有安裝 Cygwin 的電腦』執行 DrawTiming

把下面這些檔案, 連同在 Cygwin 底下編譯的 drawtiming.exe 複製到同一個目錄,
其中, type-ghostscript.xml 裡面的路徑設定 /usr/share/ghostscript/fonts/ 要去掉

例如 :

... metrics="/usr/share/ghostscript/fonts/a010013l.afm" glyphs="/usr/share/ghostscript/fonts/a010013l.pfb"

改成 :

... metrics="a010013l.afm" glyphs="a010013l.pfb"

cygbz2-1.dll
cygexpat-1.dll
cygfontconfig-1.dll
cygfreetype-6.dll
cygiconv-2.dll
cygjpeg-62.dll
cyglcms-1.dll
cygMagick++-1.dll
cygMagickCore-1.dll
cygMagickWand-1.dll
cygtiff-5.dll
cygwin1.dll
cygX11-6.dll
cygXau-6.dll
cygxcb-1.dll
cygxcb-xlib-0.dll
cygXdmcp-6.dll
cygXext-6.dll
cygz.dll

原本在 c:\cygwin\bin

懶得篩選, 也可以 *.dll 全部複製
n019*.* 原本在 c:\cygwin\usr\share\ghostscript\fonts

type.xml
type-ghostscript.xml
type-solaris.xml
type-windows.xml

原本在 c:\cygwin\lib\ImageMagick-6.4.0\config

.


(...繼續閱讀.../...CONTINUE...)

2009年3月10日 星期二

畫時序圖的免費工具 DrawTiming

DrawTiming 是『畫時序圖的免費工具, 可以從命令列產生時序圖, 不僅描述時序的文字檔語法非常直覺, 而且還能畫出時序的相依性
sample

.

Windows 也能使用 DrawTiming

原本 DrawTiming 要自己在 Linux 或 Cygwin 底下編譯成執行檔, 而且要搭配 Magick++ API 等 ..., 不過, 我改造出一版 只能產生 PS, EPS 格式的『免安裝版』, 請從 這裡下載 zip 檔
之後就可以 在 Windows 命令列執行 DrawTiming ...

  • 將 zip 檔解壓縮到任意目錄
  • 開啟命令列 ---- (附屬應用程式-命令提示字元, 或是 開始-執行-cmd),
  • 切換到那個目錄
  • 執行 sample-eps.bat
  • 或是手動執行 drawtiming  -o  sample.eps  sample.txt
    -o *.eps    => 指定輸出檔名
    *.txt         => 輸入檔名
  • 順利的話就可以產生如下幾個 *.eps 檔

.

  • 可以安裝 GhostView 來觀看 EPS 檔,
  • 可以將 EPS 檔插入 (或拖放) 到 Word, Excel, PowerPoint 等 MS-Office 軟體而成為向量圖檔
  • 繪圖軟體 (例如: PhotoShop), 看圖軟體 (例如: XnView) 也可以支援 EPS 檔,
    ---- 歡迎大家補充
  • 原始程式 EPS 檔頭缺了一個驚歎號, 已經一併修正
    => %!PS-Adobe-3.0 EPSF-3.0

 

sample.eps
sample_font.eps (和 sample.eps 一樣, 但文字變大)

guenter 
guenter

statement1

statement1

memory

memory

.

DrawTiming 使用技巧

DrawTiming描述時序的文字檔語法』非常直覺, 並且有『命令列參數』可以調整字體大小, 圖檔格式 ... 等, 這些在 官網上有詳細的說明, 就不再贅述。

如果急著上手, 也可以從 示範的輸出結果『看圖說故事』, 直接從圖形上找到想要的圖樣, 再回頭研究 *.txt 文字檔案的相關內容。

以下補充其他的注意事項 :

  • 善用 # 號開頭的整行註解, 讓檔案更具可讀性
  • 依照要顯示的順序列出所有的變數和它們的初始值, 不確定的值還是應該指定 Z (high Z) 或 X (don't care),
  • 不需要全部擠在同一行, 在句號之前都是表示同一個單位時間
  • 在兩個句號之間 (同一單位時間), 不需要特別注意順序, 但是除了下面這種例子 :

token = "\"=\"".
token = SYMBOL.
token = "\".\"" => clock = "N+1" => deps.length = "0".

token = "\"=\"".
token = SYMBOL.
token => clock = "N+1" => deps.length = "0";
token = "\".\"".

statement2

.

目前有下面的小問題, 不清楚是否有相關語法可以解決

  • 當有多個訊號而希望分成幾個群組時, 無法插入空白行, 暫時的解決方法是插入一個沒有變化的假訊號當作區隔

.

UML 與 TDML

在搜尋『畫時序圖』軟體的過程, 我用 Timing Diagram 當關鍵字, 發現另外兩個名詞

  • UML (Unified Modeling Language, 統一塑模語言)

    image軟體系統發展人員用以建造模型 ... 使得工作團隊能夠:將系統具象化、系統結構化、行為規格化、建構系統、以及記錄發展系統過程中之各項決策。...

    UML所涵蓋的內容是表示法而非程序,UML是與程序無關的,也就是說,無論以任何程序來開發軟體系統,都可以使用UML來建構軟體模型。 (淺談UML 資策會)

2005年, UML 2.0 增加 時間圖 (UML Timing Diagram) 的定義, 不過可惜的是找到幾種免費的 UML 軟體, StarUML, BOUML, umbrello, 看來都只有『循序圖』(Sequence diagram), 而沒有『時序圖』(Timing Diagram)

.

  • TDML (Timing Diagram Markup Language)

http://xml.coverpages.org/tdml.html 有 TDML 的說明, 也列出一些軟體, 不過我並沒有找到合用的軟體來畫『時序圖』。

付費版的可以參考 Timing designer

有一款免費線上使用的 TimingTool Lite, 看來需要 Java 1.5, 而且點下 "Demo" 之後會提示要註冊一個帳號, 所以我還沒使用過。

AndyTiming 是我同事找到的另一款免費的時序圖工具, 它比 DrawTiming 更簡單, 請見下面的說明

.

AndyTiming 另一款免費的時序圖工具

imageimage

AndyTiming (下載點) DrawTiming
在下半視窗直接輸入一串字元來代表波形 命令列工具
用字元『畫出』時序圖 從時序描述檔案轉換成圖形 (邏輯上較為嚴謹)
無法表示『時序的相依性』, 也不能標示『時間間隔』 可以標示『時序的相依性』與『時間間隔』

.


(...繼續閱讀.../...CONTINUE...)

輕鬆學會 MSYS + MinGW ---- 在 Windows 底下重新編譯 GNU 程式

因為 DrawTiming 的關係, 我安裝了第一次使用的 Cygwin 來編譯執行檔, ....

後來, 編譯環境換成 MSYS + MinGW 之後, 就可以擺脫 cygwin1.dll, 而直接在 Windows 底下執行 DrawTiming 了。

MSYS + MinGW 真的是苗條許多, 下載 20MB, 安裝後 70MB, 相形之下, Cygwin 就顯得龐大 (下載 50~80MB, 安裝後 250~300MB),

.

configure --> build --> install 三部曲

MinGW 與 Cygwin 的不同處 (E-Office學園, 2006-02-05)

MinGW ... 將 gnu 這個 open source, free 的開發工具移植到微軟視窗平台,他直接產生出來的PC視窗平台機器碼,

UNIX 世界Open source 的玩法,大約都是 ... 取得 Source code,然後 configure --> build --> install 三部曲

configure 會先蒐集你平台上各個工具元件實際安裝路徑,根據它們來調整軟體 Project檔(通常它是一個Makefile),之後才執行 make 去 Build 出軟體,透過 Install 腳本,最後再把作好的軟體 install (安裝)到適當的資料夾來使用。這 MSYS 就可以讓 MinGW 這編譯工具也具備第一步的 configure 功能。

簡單的說 :

下載原始碼 例如 : DrawTiming
解開原始碼

tar -xzf drawtiming-0.x.tar.gz

執行 configure 自動調整編譯環境

cd drawtiming-0.x
./configure

依照需求 make make           (編譯執行檔)
make install  (編譯並自動安裝到)
make check  (編譯並測試執行結果)

而 MSYS + MinGW 就是讓我們能在 Windows 底下重新編譯 GNU 程式的 Minimum System

.

安裝 MinGW

GCC在windows的開發環境叫MinGW
MinGW代表Minimalist GNU for Windows
官方網站在 http://www.mingw.org/
sourceforge的專案網站 http://sourceforge.net/projects/mingw/

...

安裝過程中會詢問你還需要安裝哪些套件
通常會再選make跟g++

...

其餘詳見 installation of GCC on windows (koukai的Blog, 2007-05-17)

koukai 有提到要設環境變數, 不過我覺得 要搭配 MSYS 使用, 其實可以不必設定環境變數

可以先下載 MinGW-5.1.x.exe 再透過它來下載其餘的檔案, 我選了make跟g++之後, 總共下載了下面這些檔案:

mingwrt-3.15.1-mingw32.tar.gz
w32api-3.12-mingw32-dev.tar.gz
binutils-2.17.50-20060824-1.tar.gz
gcc-core-3.4.5-20060117-3.tar.gz
gcc-g++-3.4.5-20060117-3.tar.gz
mingw32-make-3.81-20080326-2.tar.gz
mingwrt-3.15.1-mingw32.tar.gz

安裝過程 在 koukai 的 installation of GCC on windows 有清楚的說明

.

安裝 MSYS

MSYS是一套類似cygwin在windows建構出unix-like的shell
並擁有一些常見的GNU utilities可以使用,也可以利用mingw的一些程式

 

... 首先安裝好mingw,可參閱http://koukaipan.pixnet.net/blog/post/4716500
... 再來安裝MSYS
... 問你要不要進行post install,鍵入y,
問你有沒有安裝mingw,當然有,鍵入y,
位置填入你mingw安裝位置,記住,這邊路徑目錄的斜線是正斜線
...
其餘詳見 MSYS環境建置 (koukai的Blog, 2008-10-10)

安裝完成之後, 點選桌面的 MSYS 圖示, 進入類似 Linux 的命令列, 操作 tar, configure, make ... 等指令, 就大功告成了。

不過, 這邊有個小問題, 是無法確定磁碟機如何對應, 像 cygwin 底下的 e: 會對應成 /cygdrive/e/, c: 會對應成 /cygdrive/c/ (參見 安裝Cygwin, Forster Wu, 2001-03-09), 但不清楚 MSYS 的作法 ...

所以, 我把下載的檔案用 7-Zip 或 IZArc 直接解壓縮到 x:\msys\1.0\home 底下, 也就是 MSYS 的 /home 底下

.

打造輕巧版的 DrawTiming

原本 DrawTiming 提供的是 120KB 的原始程式碼, 在 Linux 或 Cygwin 底下編譯成執行檔, 再配合 Magick++ API 來產生圖型檔 。

除了第一個純 Linux 的環境我沒試過之外, 越往下的編譯執行環境就是越輕巧的版本

  • 配合 Linux 底下安裝的 Magick++ API, ghostscript 字型,
    自行編譯 Linux 命令列的 DrawTiming 執行檔
  • 配合 Cygwin 底下安裝的 Magick++ API, ghostscript 字型,
    自行編譯 Cygwin 命令列的 DrawTiming 執行檔 (整套 cygwin 約 300MB)
  • Windows 命令列執行 DrawTiming
    ----
    『免安裝 Cygwin』, 但需要 Cygwin 的一堆 DLLs, ghostscript 字型 ... 等 (共10MB)
  • 改造程式碼 (詳見 Google Code),  使其獨立於 Magick++ API, ghostscript ... 
    ---- 使用 Cygwin 編譯, 執行時需要執行檔本身再加上 cygwin1.dll (共 2MB)
  • 真正的輕巧版, 改用 MSYS + MinGW 編譯, 連 cygwin1.dll 都不用了, 產生的執行檔拿到沒有裝 MSYS + MinGW 的別台 Windows 電腦還是一樣可以執行 (只要 1MB, 下載點)

.


(...繼續閱讀.../...CONTINUE...)

2008年11月25日 星期二

20MB ~ 200MB 小型 Linux LiveCD 實測

經過一陣子暴力測試 , 終於去蕪存菁, 挑出幾個 20MB ~ 200MB 小型 Linux LiveCD 介紹給大家 :

distrowatch
半年排行
名稱 LiveCD 大小 硬體 中文 功能
12 Puppy 80~94MB 5 3~4 4
116 CDlinux 50MB 2.5 4 3.5
63 GeeXboX 18M 4 5 2
46 Parted Magic 30~50MB 2.5 2
38 SLAX /
Fanx (簡中)
189~213MB
4 4 4.5
75 PUD 256MB 3 5 3.5

27

tinyme 149~200MB
3.5 3 3

image

點選最左欄『半年排行』數字, 可以連到 distrowatch 的專頁, 介紹各 Linux 版本的特色, 網址, 版本資訊, 內附軟體 ... 等詳細資料。

其他資料 可以參考前一篇『小型 Linux LiveCD 大集合』。

.

.

測試的項目如下 :

  • 硬體支援: 主機板, 顯示, 音效, 網路, USB

測試下來, 就屬 Puppy Linux 的硬體相容性最好, 得到 5 分。

總計超過 15 種 Linux LiveCD 在 6 台 PC 上測試, 也就是反覆開機超過百次, 另外還要考慮『硬體與開機設定』以及『CDRW 燒錄品質』等因素, ....

測試的 6 台 PC (1台虛擬, 5台實體) 分別是 Virtual PC, P2 300MHz, K6-2-3D 300MHz (2台), Athlon 64X2 Dual, Celeron 1.7GHz。有時 開不了機 或是 顯示有問題, 就玩不下去了。有時則是音效或網路無法啟動。有時還需要指定解析度 (vga=XXX), vesa 模式, 或是 noreplace-paravirt (尤其是 Virtual PC) 才可以。關於 Virtual PC, 還可以參考 What Works and What Doesn't in Microsoft Virtual PC 2004

.

  • 中文支援: 中文檔名, 中文網頁, 中文字型, 輸入法

有完整中文介面的 GeeXboX, PUD 得到 5 分,
只有簡中或英文介面, 但繁中檔名和網頁都正確的 CDlinux, Fanx, 得到 4 分,
沒有完整中文介面的 tinyme, 或是沒有原生中文, 但可以一鍵中文化的 Puppy, 得到 3 分,

輸入法還沒測, 因為之後再安裝 gcin, oxim, scim 就可以了。

.

  • 必要功能: 上網, 影音播放, 檔案管理

真的不滿意的話, 其實也可以自己安裝 Firefox, mplayer, xine/gxine, ...。
雖然說自己安裝程式難免有些麻煩, 但總還是比解決 硬體 和 中文 支援來得容易一些。

值得一提的是, 既使像 GeeXboX, Parted Magic 這種專注於特定功能的 LiveCD, 還是有令人佩服的地方, 比如 GeeXboX 可以輕鬆設定 Web server, FTP server 的功能。而 Parted Magic 則內建 Firefox, 而且可以成功設定 WEP 密碼連上無線網路。

.

  • 容易上手: 使用介面 與 系統設定

這一項是最難測的, 因為有 JWM, IceWM, KDE, Gnome, Xfce, LXDE, Openbox 等視窗管理程式, 短時間之內很難找齊各種選項在選單裡面的不同位置, 更何況操作情境可以非常主觀, 青菜蘿蔔各有所好, 所以這一項不列入分數。

.

Puppy Linux -- 4.1.1 (2008-11-03), 4.1.0 (2008-10-06)

  • 硬體相容性最好
  • 功能完整
  • 一鍵安裝擴充套件
  • 無原生中文, 但有中文化的版本
Puppy-2008-11-21_104157

測試過的平台都可以正常使用 (其中部份在進入 X-Windows 時, 要選 Xvesa),

80~94MB 的 Puppy Linux 一點也不會輸給 200MB 左右的其他 Linux 版本。

官網 http://www.puppylinux.org/ 有許多資源, 例如:

中文化可以參考

字型部份參考 amtb 2008/6/4 14:51 的回應,
--
firefly字型 ...
輸入法則看 amtb
2008/11/7 16:59 的更新
-- 重新拿 gcin 1.4.2 的 source 在 puppy 環境下編譯打包出 pet 檔,
--
下載: gcin-1.4.2.pet
直接看 car7 2008/11/26 15:42 的總整理, 並將中文設定存回 CD
還有 amtb 打包的 pet 2008/11/27 23:14

.

CDlinux -- 0.6.2 (2008-10-10), 0.6.1 (2008-04-28)

  • 有完整中文介面, 而且繁中檔名和網頁都正確
  • 大小只有 50 MB
  • 硬體相容性不佳
  • 相份功能尚在強化中
2008-11-24_161114 
** 這是 CDlinux 0.6.1 的擷圖, 
0.6.2, 桌面已經不是 Xfce 的老鼠, 而是 CDlinux 的 logo

如果非常介意檔案大小, CDlinux 是不錯的選擇, 因為它只有 50MB, 又有完整的中文介面。反觀, 其他 25~50MB 的 Linux 版本都各有缺點 (沒中文, 硬體相容性, 系統完成度 ...)

不過, 前提是你的平台恰好能正常使用 CDlinux, 因為它的硬體相容性並不好 (似乎主要是 K6-2-3D, 非 Intel 晶片組 或 記憶體不足 256MB 的問題)。再來, 還在 0.6.x 的版本, 也代表著 CDlinux 還在成長當中, 例如到了 0.6.2 才會自動掛載磁碟機, 這是 0.6.1 所沒有的功能。

.

GeeXboX -- 1.2-beta1 (2008-11-01), 1.1 (2007-07-01)

  • 完全適合舊電腦, 開機只要 1 分鐘左右, 就可以播放各種影音多媒體
  • 可以從光碟, 硬碟, 甚至 網路開機
  • 有中文介面, 並可辨識中文檔名
  • 可以透過 網路芳鄰 播放檔案
  • 有 Web Server, FTP Server 功能

詳細資料請見 :

.

Parted Magic -- 3.2RC2 (2008-11-25), 3.1 (2008-10-18)

  • 硬體相容性不佳
  • 磁碟分割、備份及還原
  • 也有 Firefox 可以上網
  • 可惜沒有中文化

Parted Magic 以磁碟分割工具,備份及還原工具為主 (類似 Ghost, Partition Magic 所做的事情), 不過它裡面也有 Firefox 可以上網(更多說明)。 硬體相容性不佳, 大約有一半的平台無法開機, 原因不明, 似乎是 320MB 以上才能開機成功。

如同前面提到的, Parted Magic 內建 Firefox, 而且可以成功設定 WEP 密碼連上無線網路。這一點, 讓我覺得驚奇。

** 官網如果失效, 可以改到這邊這邊下載。

另外有一個 GParted (Gnome Partition Editor) 也有 LiveCD, 更是專注在磁碟分割, 完全沒有別的功能, 不過選單有中文。

distrowatch
半年排行
名稱 LiveCD 大小 硬體 中文 功能
46 Parted Magic 30~50MB 2.5 2
62 GParted 94MB 未測 4 1

.

SLAX -- 6.0.8 (2008-11-21) / Fanx -- 2.0 (2008-4-21)

  • 硬體相容性佳
  • 功能完整
  • 有簡中介面的 Fanx
Slax

SLAX 硬體相容性次佳, 只有 Celeron 1.7G 那一台 I/O Error 開不起來, 和另一台 K6-2-3D 音效無法啟動,

使用經驗與 Windows 最為接近,

想要 DIY 中文化, 可以參考 :

.

PUD -- 0.4.8.6 (2008-04-05)

  • 硬體相容性不佳
  • 功能完整, 但設定選項不足 
  • 完整繁中介面

PUD 由台灣網友 penk 所主導, 目前的主要問題是螢幕解析度, 更新率, 與 color-depth 的自動設定不理想, 而且找不到相關選項, 以致於有一半的平台無法正確選擇 1024x768 及 800x600 等常用的解析度。另有一台 K6-2-3D 似乎是 DMA 設定有誤 無法完成開機程序。

有興趣的人可以去給 penk 鼓勵一下, 請他幫忙解決這些問題。

.

tinyme -- 2008.1-beta1 (2008-11-10), 2008.0 (2008-05-24)

  • 系統穩定性不佳
  • 沒有中文介面, 但可以顯示繁中檔名及網頁, 不過字型並不漂亮
  • 沒有多媒體播放程式
TinyMe-2008-11-20_213457

tinyme 2008.0 版的問題是系統穩定性不佳, 常常執行幾個程式之後就會拖慢系統速度或沒有回應, 這一點到了 2008.1-beta1 似乎有所改善, 但畢竟是 beta 版, 連瀏覽器都被暫時拿掉 ....

.

其他補充

需要 小型 Linux 進一資訊可以參考以下網頁:

中文化則可以從 KNOPPIX中文交流網 開始

除了以上這些, 我還找一些同樣是 20MB ~ 200MB 小型 Linux LiveCD, 列表如下 :

其中, 大家可能會有興趣的是

  • DSL (DamnSmallLinux), 雖然排名和 Puppy 相近, 也有中文化的資料, 但是 DSL 的介面就像是 Windows 3.1 那種復古的感覺, ....
  • GoblinX (300M), GoblinX Mini (150M), GoblinX Micro (100M) 下載頁 
    [2008-11-30, 終於還是漏了一個 GoblinX, 看來也頗有潛力, 先補上連結, 還沒仔細測]
  • BasicLinux 下載檔只有 2.8M, (不過解出來還是 21 MB 左右), 使用 JWM, 感覺更為古老 ....
  • SliTaz 中文化的 SliTaz.tw, 看得到中文網頁, 但是看不到中文檔名 ....

.

distro watch
半年排行
名稱 LiveCD 大小 硬體 / 中文 / 功能
10 DSL Linux 50MB 4 / 無 / 3
  xPUD 24MB/LiveUSB 很多功能尚未實作完成
  BasicLinux 2.8MB ZIP (DOS 執行的硬碟版 及 軟碟版) 非 LiveCD
77 SliTaz
25MB
(peng 的繁中版本 SliTaz.tw)
4 / 2 / 3
87 Austrumi 93MB 2 / 無 / 未測
 

ariane

63MB 無法啟動 X window
  GParted 94MB 未測 / 4 / 1
  eMoviX, MoviX, MoviX2 待查 (有中文套件) 未測
  NimbleX 100~200MB 無中文,
和 Slax 非常雷同, 建議直接試SLAX / Fanx 就可以了
  antiX 200MB/400MB 未測
  Bonzai Linux 180MB
(Debian based)
未測, 2004之後沒再更新
  Feather Linux <128MB 功能不完整, 2005之後沒再更新
71 DeLi Linux 252MB 非 LiveCD

239

CAOS linux 130~2xxMB 需3xxMB 記憶體 才能跑 LiveCD

.


(...繼續閱讀.../...CONTINUE...)

2008年11月23日 星期日

GeeXboX 的 硬碟安裝

接續前一篇 GeeXboX LiveCD 讓舊電腦變成『豪華多媒體中心』, 介紹將 GeeXboX 安裝到硬碟的注意事項,

將 GeeXboX 安裝到硬碟開機, 會有下面的好處

  • 從 硬碟開機, 一般來說會比光碟開機來得快
  • 可以直接在硬碟上修改 GeeXboX 的設定, 而不用重燒 LiveCD

至於, 到底要不要安裝到硬碟, 我的建議是 :

  • 對安裝作業系統沒什麼經驗的人, 最好將 GeeXboX 安裝到一整顆空的硬碟。或者放棄這個念頭, 用 CDRW 片來燒錄 LiveCD 開機片, 就可以重覆修改開機設定。
  • 一般情況, 則可以選擇將 GeeXboX 安裝到硬碟中的『獨立分割區』, 不要與其他作業系統共用分割區 (partition)
  • 真的很有經驗的人, 才來考慮將 GeeXboX 安裝到硬碟中『現有的分割區』, 與其他作業系統共用同一個分割區 (partition)

老實說, 我挑戰第三種『其他作業系統共用同一個分割區』的經驗有點驚險, 才會有這樣的呼籲。

.

再來, 安裝到硬碟之後, 修改設定的方式也需要注意 :

  • 通常, 可以在 geexbox-generator 修改設定, 再看看 iso 目錄底下哪個檔案有改變, 例如: Web Server, FTP Server 在 /geexbox/etc/network 裡面的 HTTP_SERVER="yes"FTP_SERVER="yes" 而 FTP 的帳號與密碼則在 /geebox/etc/ftp
  • 大部份的設定檔案, 安裝到硬碟之後都是 唯讀 (ReadOnly) 屬性, 修改之前要先取消唯讀
  • 有些檔案屬於 Linux 格式, 直接用 DOS 的 Edit 或 Windows 的 Notepad 修改, 可能會破壞檔案格式
  • 可以透過 FTP, 用 geexbox-generator 的 iso 目錄底下對應的設定檔, 覆蓋到 GeeXboX 電腦

.

實際安裝 GeeXboX 到硬碟之後, 大致可以歸納出 :

  • 以 GeeXboX LiveCD 安裝, 會強制將 Grub 裝在該分割區的啟動磁區
  • 不小心的話, 還會把 Grub 裝到 MBR
  • 直接把 GeeXboX LiveCD ISO 檔裡面的檔案, 或是光碟片上面的檔案 (就是 GeeXboX 那一整個目錄), 複製到硬碟, 將無法開機成功, 因為在光碟片上面有許多檔案是壓縮的型式
  • 比較相近的, 是 geexbox-generator 的 iso 目錄, 但還是缺少了一些檔案, 有些可以在其他目錄找到 (例如: i18n, themes), 有些則是新建的

昏了嗎 ? 那就準備一顆空的硬碟, 或是用 Virtual PC 多玩幾次安裝步驟, 之後再決定要不要往下看囉 ...

.

下面只列出幾個『關鍵步驟』,



在 LiveCD 的開機畫面, 輸入 install
2008-11-23_085808


如果不想修改分割表, 按 右方向鍵, 到 Quit
2008-11-23_090002


選擇安裝的分割區, 用的是 Linux 的表示方式
2008-11-23_071925-1

如果要保留那個分割區的資料, 記得選 no (不要 format)
2008-11-23_071936-1
不確定是在哪個步驟, Grub 已經被安裝到該分割區的啟動磁區, 只要把那個分割區設為啟動 (Active) 就可以, 再把 Grub 安裝到 MBR, 其實有點多餘 2008-11-23_090233

.

所以, 關鍵在於
(1) 選對分割區,
(2) 要不要保留那個分割區的資料,
(3) 強制將 Grub 裝在該分割區的啟動磁區是不是你想要的

像我, 雖然 C: 槽的資料保留下來了, 但還是不小心裝了兩份 Grub (一個在啟動磁區, 一個在 MBR)。依照網路上的『正解』, 用 Windows XP 修復主控台的 fixmbrfixboot 指令, 分別移除掉兩份 Grub, 不過還是不能開機, 光碟開機 DOS 無法 DIR C: 槽, 但 XPE 光碟開機倒還是看得到 C: 槽資料。

還好那台電腦沒什麼重要資料, 所以最壞就是 C: 槽整個重練而已。後來試出兩個可行的解法, 分別和 Ghost 與 SPFDISK 有關, 不過解釋不清楚可能反而誤導大家, 而且也與 GeeXboX 離題, 所以就不在此討論。需要知道詳情的人再發問囉。

.

另外一個可能的安裝方式, 是把 geexbox-generator 的 iso 目錄自行複製到 GeeXboX 電腦, 設法補齊底下的檔案, (GeeXboX 那個目錄應該在根目錄), 再設法用 Grub 引導開機。不過, 我沒試成功就是了。

/geexbox/etc/mplayer/en.lang
/geexbox/etc/mplayer/zh_TW.lang

/geexbox/etc/lang
/geexbox/etc/lang.conf
/geexbox/etc/subfont
/geexbox/etc/theme.conf

/geexbox/usr/share/fonts/中文字型
/geexbox/usr/share/iconv/big5.cct
/geexbox/usr/share/mplayer/background.avi
/geexbox/usr/share/mplayer/help_zh_TW.txt
/geexbox/usr/share/grub-splash.xpm.gz

.


(...繼續閱讀.../...CONTINUE...)

2008年11月22日 星期六

GeeXboX LiveCD 讓舊電腦變成『豪華多媒體中心』

延續上一篇『20MB 到 200MB 的 小型 Linux LiveCD 大集合』,
介紹 讓舊電腦變成『豪華多媒體中心』的 GeeXboX LiveCD

GeeXboX 的特色

  • 完全適合舊電腦, 開機只要 1 分鐘左右, 就可以播放各種影音多媒體
  • 可以從光碟, 硬碟, 甚至 網路 (PXE) 開機
  • 有中文介面, 並可辨識中文檔名
  • 可以透過 Windows 網路芳鄰 播放檔案 (Samba 協定)
  • 可以透過 另一台電腦的 Browser 遙控 (Web Server 功能), 也可以用 FTP 傳輸檔案 (FTP Server 功能)

GeeXbox-2008-11-20_172650

.

PChome 下載 - 用舊電腦免費打造家庭影音中心
... 利用GeeXboX光碟開機之後,你的舊電腦就會馬上變身成一台可以播放VCD、DVD、音樂CD、MP3、相片光碟的家庭多媒體播影音放機!...
... 只要Pentium II或K6-2 400MHz的CPU、96MB的記憶體就可以順暢執行,甚至連硬碟都不需要呢!...

.

中文介面的 GeeXboX LiveCD

簡單的說, 不要下載現成的 ISO, 而是下載 geexbox-generator, 就可以輕易做出 中文介面的 GeeXboX LiveCD, 並自訂其中的各項設定。詳細的做法可以參考下面幾篇 :
(其中提到的『字型大小的選擇功能』, 1.1 版以後已經內建, 不需再另外修改。)

GeeXbox正式支援中文 (casko)

  • 硬體需求
  • geexbox-generator 設定詳解 (含中文字型設定)

GeeXboX Open Media Center (Jamyy's Weblog)

  • 自製中文化 GeeXboX
  • 常用按鍵備忘
  • 把 GeeXboX 放進 USB 隨身碟

.

至於我下面要介紹的則是

  • 方便列印的『按鍵說明』圖
  • 網路功能 (網路芳鄰, Web Server, FTP Server)
  • 安裝到硬碟的注意事項

.

目前的 1.2 beta 版, 對我來說似乎有硬體相容性的問題, 所以退回去使用 1.1 版, 功能上也不會差太多。

另外, 如果開機之後自動退出光碟, 但是卻看不到畫面, 可以在 geexbox-generator 修改 iso 目錄下的 GEEXBOX\etc\mplayer\mplayer.conf 找到 vo=cvidix,vesa 改成 vo=vesavo=vesa:nodga 試試看

其他問題的排除, 可以參考下面的討論串, 或是請教 Google 大神

.

GeeXboX 按鍵說明

GeeXboX 使用鍵盤來操作各項功能。下面的網頁有鍵盤功能的詳細介紹,

不過他們並沒有提供方便列印的版本, 所以我做了『按鍵說明圖』, 其中黃色表示最常用的功能,
(點選可看大圖)。

精簡版按鍵說明
2008-11-21_150550
完整版按鍵說明
2008-11-21_150610 2008-11-21_150706

.

GeeXboX 網路功能

GeeXboX 的網路功能, 主要如下:

  • 透過 Windows 網路芳鄰 播放檔案 (Samba 協定)
  • 透過 另一台電腦的 Browser 遙控 (Web Server 功能)
  • FTP 傳輸檔案 (FTP Server 功能)

.

網路芳鄰最主要的關鍵在 Windows 分享目錄的帳號與密碼, 如果沒有設定帳號名稱, 那就要 啟用 Windows 的 guest 帳號

有時開機之後, 要等個幾分鐘才會在開啟檔案底下看到 Shares

.

Web Server 功能 提供了另一種方式『遙控』GeeXboX
不只 PC, NB, 如果你有可以上網的PDA, iPod, 手機, MID, ... 等手持裝設, 這樣的遙控方式是不是很酷呢 ?



在 geexbox-generator 的 Services 分頁, 勾選『Web server

或者是 geexbox/etc/network 裡面修改成 HTTP_SERVER="yes"
2008-11-21_194449


開機之後, 查看 GeeXboX 『選項=>其他資訊』的 IP
2008-11-22_223839
到另一台電腦, 在瀏覽器的網址列輸入剛才的 IP, 就可以看到控制頁面

順著目錄結構找到檔案, 按下檔案右邊的三角形開始播放

或著在右邊的搜尋框輸入關鍵字, 就可以搜尋目前目錄底下 (含子目錄) 的檔案
2008-11-22_224855


『CONTROL』分頁的功能
2008-11-22_225711

.

FTP server 讓我們可以從其他電腦來管理 GeeXboX 的檔案。

設定的方式是 geexbox-generator 的 Services 的分頁, 勾選『FTP server』, 預設的帳號 geexbox, 密碼 ftp,

輸入 ftp://geexbox:ftp@192.168.1.37/ 就可以用 FTP 的方式來傳輸檔案。

.

好像寫太長了, 其他的留著下次再介紹囉 !!

.


(...繼續閱讀.../...CONTINUE...)

2008年11月19日 星期三

20MB 到 200MB 的 小型 Linux LiveCD 大集合

前一陣子, 原本鎖定幾個主流的 Linux 版本, 想要玩玩『十年左右的舊電腦』。但是除了 Ubuntu 在 700MB 左右之外, 其他如 openSUSE 的 4.3GB, Fedora 的 3.3GB, 怎麼看都讓我『望之卻步』, 光是下載就是一件嚇人的事, 更別說要安裝了。

找了資料之後, 發現有一些 幾十MB 的迷你 Linux LiveCD 作業系統。有了 LiveCD 就能多試幾種再作決定, 因為只要從光碟開機就可以玩 Linux, 不用先安裝到硬碟。而『蠅量級』幾十MB 的較小檔案, 當然下載就比較輕鬆。(至於為什麼叫『蠅量級』, 後面再來解釋。)

選擇這些『蠅量級』幾十MB Linux LiveCD 作業系統, 主要比較以下幾點 :

  • 中文支援: 中文檔名, 中文網頁, 中文字型, 輸入法
  • 硬體支援: 主機板, 顯示, 音效, 網路, USB
  • 必要功能: 上網, 影音播放, 檔案管理
  • 容易上手: 使用介面 與 系統設定

.

初步測試的情形如下: (進一步結果請見『20MB ~ 200MB 小型 Linux LiveCD 實測』)

  • 只有 CDlinux 有『原生中文介面』, 但是硬體支援不足, 不見得每台電腦都能成功開機。
  • SliTaz 雖然有台灣網友 peng 中文化的 SliTaz.tw, 但卻看不到中文檔名, 這部份待查。
  • 精簡到 24MB 的 xPUD 0.8.5 版 開機到 GUI 後, 滑鼠鍵盤失效, 暫時無法進一步使用。(不過, 同樣是 peng 主導 250MB 的 PUD Linux, 有繁中介面。)
  • Puppy Linux 曾經一度有繁中專網, 但目前連結失效。另外可以試試 簡中版本 的『小芭比linux』。
  • DSL Linux 全名是 Damn Small Linux, 看來是這其中歷史最久的, 但暫時沒有找到中文版的資訊。
  • Austrumi 只在 Virtual PC 可以開機, 另兩台 實體 PC 則遇到不同的硬體問題。
  • BasicLinux, ariane 尚未測試

將目前找到的『蠅量級』幾十MB Linux LiveCD 作業系統, 依 Google Search 繁體中文網頁數排序列表如下,

[2008-11-23 更新] 加入 distrowatch 半年排行

distro watch
半年排行
繁中網頁數   LiveCD 大小 最近版本
10 32,300 DSL Linux 50MB 4.4.10 (2008-11-17)
12 4,200 Puppy Linux 80~94MB 4.1.1 (2008-11-03)
  698 xPUD 24MB/LiveUSB 0.8.5 (2008-09-20)
  390 BasicLinux 2.8MB ZIP (DOS 執行的硬碟版 及 軟碟版) 3.50 (2007-03-21)
77 207 SliTaz
25MB
(peng 的繁中版本 SliTaz.tw)
cooking (2008-07-16)
1.0 (2008-03-22)
116 158 CDlinux 50MB/有繁中介面 0.6.2 (2008-10-10)
0.6.1 (2008-04-28)
87 154 Austrumi 93MB 1.8.0 (2008-11-17)
  ???

ariane

63MB

Version 2
(2007-08-29)

         
  繁中網頁數   LiveCD 大小 最近版本
63 4,990 GeeXboX 18M (有繁中介面) 1.2-beta1 (2008-11-01)
46 8,050 Parted Magic 30~50MB 3.2RC1 (2008-11-08)
3.1 (2008-10-18)
    eMoviX, MoviX, MoviX2 待查 (有中文套件) 2004 ~ 2005
  (307) womp 28MB 0.6-beta3 (2005-04)

另外還有一些『專門用途』的 幾十MB 等級 Linux LiveCD, 其中 GeeXboX 有繁中介面, 其他的則不知道能不能自己中文化?

GeeXboX LiveCD 讓舊電腦變成『豪華多媒體中心』 (2008-11-22)

  • eMoviX, MoviX, MoviX2 則是將影音檔和作業系統燒在同一片光碟, LiveCD 開機就直接播放
  • Parted Magic 則是以磁碟分割工具,備份及還原工具為主 (類似 Ghost, Partition Magic 所做的事情), 不過它裡面也有 Firefox 可以上網。(更多說明)
    **官網目前失效, 可以改到這邊這邊下載。

.

需要 迷你 或 小型 Linux 進一資訊可以參考以下網頁:

.

再來是 100MB ~ 200MB 的小型 Linux LiveCD, 暫時先列出表格, 待進一步測試之後再發文。

distro watch
半年排行
繁中網頁數   LiveCD 大小 最近版本 / 備註
38 3,150 / 226 SLAX /
Fanx linux
189MB
(Fanx 為 6.0.6 簡中介面)
FanX-2.0 (2008-4-21)
6.0.8 (2008-11-21)
6.0.7 (2008-05-09)
75 2,510 PUD Linux 256MB (有繁中介面) 0.4.8.6 (2008-04-05)
0.4.8.5 (2008-03-20)

27

189 (82) tinyme (tinyme linux) 200MB
(有中文, 但字型大小不一致)
2008.1-beta1 (2008-11-10)
2008.0 (2008-05-24)
83 91 NimbleX 100~200MB 2008 (2008-07-22)
和 Slax 非常雷同, 建議直接試SLAX / Fanx 就可以了
  23 antiX linux 200MB/400MB  
203   Pentoo 208MB (Penetration testing framework) 2006.1 (2006-07-05)
         
  99 ttylinux 無 GUI  
22 8,600 Vector Linux 4xxMB  
  1,180 Bonzai Linux 180MB
(Debian based)
2004 ?
  944 Feather Linux <128MB 2005 ?
21 658 Zenwalk

526MB

 
71 514 DeLi Linux 252MB (非LiveCD)

239

346 CAOS linux 130~2xxMB 需3xxMB 記憶體 才能跑 LiveCD

.

最後, 『蠅量級』幾十MB Linux LiveCD 作業系統, 是我自己取的, 因為 羽量級(Feather) 或 Small, Tiny 都出現在 100MB ~ 200MB 這個等級, 只好找更小等級的『蠅量級』

階級名稱 體重(Kilogramme/Kg)
超重量級(Super heavy) 91kg以上
重量級(Heavy) 81-91kg
次重量級(Light heavy) 75-81kg
中量級(Middle) 69-75kg
沉量級(Welter) 64-69kg
次沉量級(Light welter) 60-64kg
輕量級(Light) 57-60kg
羽量級(Feather) 54-57kg
雛量級(Bantam) 51-54kg
蠅量級(Fly) 48-51kg
次蠅量級(Light fly) 到48kg
蚊量級【只限於Jr.】(Mosquito) 到45kg
.

(...繼續閱讀.../...CONTINUE...)