linux驱动程序开发 之 关于linux发行版
这是英文文章的翻译。
《Essential Linux Device Drivers》
Linux Distributions
因为GNU/Linux系统除了内核之外,
还包含许多实用程序、程序、库和工具,
所以获取和正确安装所有这些部分是一项艰巨的任务。
Linux发行版通过对组件进行分类并以有序的方式将它们打包到包中来提供帮助。
一个典型的发行版包含数千个现成的包。
您不必担心下载正确的程序版本或修复依赖性问题。
因为打包是在GNU许可的范围内的赚钱方式,
所以现在市场上有几种Linux发行版。
Red Hat/Fedora、Debian、SuSE、Slackware、Gentoo、Ubuntu和Mandriva等发行版主要面向桌面用户。
MontaVista、TimeSys和Wind River发行版都是面向嵌入式开发的。
嵌入式Linux发行版还包括一个动态可配置的紧凑应用程序集,
用于调整系统的占用空间,以适应资源限制。
除了打包之外,发行版还为内核开发提供了增值功能。
许多项目都是基于发行版提供的内核开始开发的,而不是基于在kernel.org上正式发布的内核。
原因如下:
- 符合设备行业相关标准的Linux发行版通常是更好的开发起点。
特殊兴趣小组(SIGs)已经形成,以促进Linux在各个领域的发展。
消费电子Linux论坛(CELF)在www.celinuxforum.org上举办,主要关注在消费电子设备上使用Linux。
CELF规范定义了诸如可伸缩内存占用、快速引导、就地执行和电源管理等功能的支持级别,
这些功能是消费类电子设备所需要的。
由www.osdl.org主办的开源开发实验室(OSDL)的工作集中在不同电信级设备的特性上。
OSDL的Carrier Grade Linux (CGL)规范规范了诸如可靠性、高可用性、运行时补丁和增强的错误恢复等附加价值,
这在电信领域非常重要。 - 主线内核可能不完全支持您所选择的嵌入式控制器,即使控制器是围绕内核支持的CPU内核构建的。
然而,Linux发行版可能为控制器内的所有外围模块提供设备驱动程序。 - 您计划在内核开发期间使用的调试工具可能不是主线内核的一部分。
例如,内核没有内置的调试器支持。
如果希望在开发过程中使用内核调试器,则必须分别下载和应用相应的补丁。
如果您的内核版本没有现成的经过测试的补丁,那么您必须忍受更多的麻烦。
发行版预先打包了许多有用的调试特性,因此您可以立即开始使用它们。 - 一些发行版提供了法律赔偿,这样您的公司就不必为内核错误引起的诉讼负责。
- 您可以从发行版供应商那里购买他们提供的内核的服务和支持包。