版權聲明:本文為部落客chszs的原創文章,未經部落客允許不得轉載。 https://blog.csdn.net/chszs/article/details/3713782
嵌入式開發基礎(3)
一、嵌入式Linux釋出包
Linux核心啟動-->查找和mount根檔案系統-->啟動腳本可運作程式和工具
大多數Linux應用程式依賴1個或多個系統庫,其它的程式則需要配置檔案和日志檔案。
總的來說,即使是嵌入式Linux系統,也需要依賴很多根檔案系統下适當目錄下的檔案。
完整Linux桌面系統,其根檔案系統下有數千個檔案。這些檔案通常按功能進行分組,放入多個包内。
使用包管理器安裝和管理這些包。
Red Hat的包管理器為rpm。
可使用指令rpm -qa 列出安裝在系統下的所有包。
每個包由多個檔案組成,一些包包含了數百個檔案。一個複雜的Linux釋出包包含了成千上萬個包。
在嵌入式Linux也能看到的包有:
-initscripts 包含基本的系統啟動和關閉的腳本
-apache 實作了流行的Apache Web伺服器
-telnet-server 包含實作telnet伺服器功能所需的檔案,允許為嵌入式目标闆建立Telnet會話
-glibc 标準C庫
-busybox 在UNIX/Linux系統常用的數十個指令行工具的緊湊版本
嵌入式Linux釋出包有一些不同。
首先,嵌入式釋出包的可執行檔案在PC下是不能運作的,而隻能運作在目标闆上。
其次,嵌入式釋出包一般都包括了交叉工具。
商業嵌入式Linux釋出包
1)AMIRIX: Embedded Linux
源于标準、開源的Debian GNU/Linux,支援Flash。
2)Coollogic: Coollinux
結合了嵌入式Linux和Java技術。
3)Coverntive: XLinux
完整特征的嵌入式Linux核心,可配置143KB大小。
4)Esfia: RedBlue Linux
源于Linux2.4核心,400KB
5)KaeilOS
前生為Klinux
6)KYZO: PizzaBox Linux
運作在486或更高CPU
7)Lineo: Embedix
支援的CPU包括:x86、PowerPC、ARM、MIPS等。
8)LynuxWorks: BlueCat
9)Mizi: Linu@
帶GUI,建立于Qt/Embedded。支援的處理器包括ARM、StrongARM、MIPS、x86和MPC。
10)MontaVista: Hard Hat Linux
Hard Hat Linux交叉開發工具。
11)Neoware: NeoLinux
源于Red Hat。
12)PalmPalm: Tynux
網絡裝置,包括MP3播放器、視訊播放器、網際網路TV、PDA、蜂窩電話、視訊會議裝置、視訊電話等。
13)Red Hat: Embedded Linux
14)REDSonic: RedIce-Linux
嵌入式單闆機。
15)RidgeRun: DSPLinux
ARM核心、帶DSP處理器。
16)SysGo: ELinOS Embedded Linux
基于Linux核心2.4
17)TimeSys: Linux GPL
18)Tuxia: TASTE
目标為網絡裝置,包括Webpads、機頂盒、瘦用戶端、帶螢幕的電話。
19)Vitals System: vLinux
基于ARM。
20)Wind River Linux
實時核心。
建立自己的Linux釋出包
所需做的是編譯核心和使用者空間的應用程式。
這些釋出包一般以源碼的形式給出,你必須先編譯工具以适合特定平台的交叉開發環境,一些工具的“穩定”狀态的源包常常還包含更新檔,滿足一些特殊需求。