嵌入式开发基础(3)

2019-07-13 05:41发布

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