嵌入式开发基础(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
支持的CPU包括:x86、PowerPC、ARM、MIPS等。
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发布包
所需做的是编译内核和用户空间的应用程序。
这些发布包一般以源码的形式给出,你必须先编译工具以适合特定平台的交叉开发环境,一些工具的“稳定”状态的源包常常还包含补丁,满足一些特殊需求。