Embedded Linux 是程式?是一台裝置?還是什麼?

jollen 發表於 September 30, 2006 11:29 AM

Embedded Linux 倒底是什麼東西啊?最早 Jollen 的書曾經節錄國外專欄的解釋,企圖以最簡單的方式來定義「Embedded Linux」:Embedded Linux is a software platform for embedded system。因此,Embedded Linux 是一種「特殊的應用方法」,並不是一個程式。

今天在 LinuxDevices.com 的 forum 看到一則 post,原始發問者顯然誤解了 Embedded Linux 的意思,不過有位好心人很邁力地解釋 "regular Linux" 與 "embedded Linux" 的觀念,他的開場白寫的真的很不錯:

'Embedded Linux' is not an application program, it is a kernel and set of libraries and utilities designed to run on an embedded system(for example, a router).

真然是一針見血,講的真好。Embedded Linux 是一個 kernel (for specific-platform) 與一些 libraries/utilities 的集合 (即 root filesystem);因此所謂的 embedded Linux 通常是以一個 kernel image 與 root filesystem image 的形式 deliver 給 end-user 的。

其實初學 embedded Linux 的同學,也經常被 embedded Linux 的名詞所困惑,因為我們都假設大家對 embedded Linux 都有一定程度的「sense」了,所以很少去解釋 embedded Linux 與一般 Linux 的差異;在對初學者的教育訓練上,我們試著以「Top-down 最小化 Linux 系統」與 embedded Linux distribution (eg. PeeWeeLinux),再配合 PC Linux 與 embedded Linux 的差異比較來解釋「Linux (GNU/Linux) 系統應用於嵌入式裝置」的觀念,目前看來成效還算不錯呢!

由於嵌入式 Linux 是「Linux (GNU/Linux) 系統的特殊應用」,因此所有的基本技能 (enabling technologies) 是建構在傳統的 Linux 系統操作與管理能力上的;所以「學 embedded Linux 是不是就不用去學 Linux 指令與 Linux administration」問題的答案肯定是「NO」。

Jollen's Blog 使用 Github issues 與讀者交流討論。請點擊上方的文章專屬 issue,或 open a new issue

您可透過電子郵件 jollen@jollen.org,或是 Linkedin 與我連絡。更歡迎使用微信,請搜尋 WeChat ID:jollentw