出版时间:2011-1 出版社:中国电力出版社 作者:(加)亚荷毛尔 等著,秦云川 改编 页数:414 译者:O'Reilly Taiwan公司
Tag标签:无
前言
当本书第一版的作者——Karim Yaghmour于1997年任职一家硬件制造公司的时候,曾率先提议在嵌入式系统中使用Linux,他的建议在当时不仅令人感到惊讶,也受到某些质疑。现在,大多数嵌入式系统若不是已经在使用Linux,就是正在考虑使用Linux。的确,有不少大公司及政府机关在其嵌入式软件的需求上逐渐依赖Linux。本书第一版颇受欢迎,但自本书第一版发行以来,Linux内核与相应的工具取得了不少的进展,这使得Linux更具吸引力。其中最主要的是,出现了若干的实时扩展与配套环境,这会在本书第二版最后3章加以探讨。此外,由于本书第一版、热心的开放源码与自由软件程序员已经简化了GNu/Linux套件(此处之所以提到GNu,是因为要建立有效的Linux系统,需要用到来自GNu这个自由软件计划的工具)的构建与安装程序,因此本书第二版会介绍许多令人感到惊奇的高级工具,包括Eclipse以及用于替嵌入式Linux系统“打造构建工具”的各种工具。不过,我们仍会提供大量的底层信息给那些有需要的人,以协助您了解它们在背后用到了哪些辅助工具。要跟上Linux各部分与相关工具的爆炸性进展,最好的办法就是由研究嵌入式与实时Linux相关问题的专家来告诉你。因此,本书第二版的作者加入了几位GNu/Linux社群中关键的参与者,包括了那些进行内核开发或建立相关项目的人士。
内容概要
虽然Linux嵌入式系统几乎无所不在,从手机到汽车的ABS系统以及净水厂都可以发现它的踪迹,但是令人惊讶的是,建立、安装和测试Linux内核以及相关工具的信息来源却少得可怜。《构建嵌入式LINUX系统(第二版)》是一本深入探讨如何构建这些系统的指南。通过阅读本书,你不仅可以获得基本的概念,还可以学到如何设置以及使用40种以上不同的开放源码和自由软件套件。 本书的内容针对Linux内核的最新版本做过更新,并且加入之前未介绍过的程序以便协助你: ·建立你自己的GNU development toolchain(开发工具链) ·为你的目标系统选用、设定、构建以及安装专属的内核 ·为你的目标系统建立完整的根文件系统 ·设置、操作以及使用固态储存设备 ·为你的目标系统安装及设定bootloader(引导加载程序) ·交叉编译许多的工具程序与套件 ·可用于嵌入式系统调试的众多工具和技术 ·使用uClibc、BusyBox、U-Boot、Openssh、thttpd、tftp、strace以及gdb等套件 ·用Xenomai或RT kernel patch实现实时功能 阅读本书你将能够学到如何构建操作系统组件,以及简化全面掌控嵌入式系统的艰巨任务。
作者简介
作者:(加拿大)亚荷毛尔 等 译者:O'Reilly Taiwan公司 改编:云川Karim Yaghmour是Opersys(这家公司为开放源码和自由软件在嵌入式系统中的使用提供了专家支持和训练课程)以7LKryptiva(电子邮件安全服务的供应商)的创办人及总裁。身为开放源码和自由软件社群的活跃成员,Karim将Opersys所提供的服务稳固地构建在社群所推动的知识共享和技术质量的内核价值上。Karim对社群的部分贡献包括:他是Linux Trace Toolkit的维护者,以及是促使Adeos nanokernel(允许多个操作系统并存)得以实现的一系列白皮书(white paper)的作者。Karim天生喜欢探究事物的运行原理。小时候,Karim甚至拆开家中所有的收音机和卡式磁带机,以便能够“修理”它们。同样地,Karim早就展露自己对操作系统内部及嵌入式系统高度的兴趣。他目前拥有Ecole Polytechnique de Montreal(蒙特利尔工程学院)的B.Eng.(工程学位)和M-A.Sc.(研究生硕士)学位。当每个人都在为Linux开发程序的时候,Karim辟蹊径,撰写自己的分布式微内核,借此深入了解操作系统的设计及实现。不写程序的时候,Karim通常会将自己的热情投在史学、哲学、社会学和人文科学上。此外,他对Umberto Eco和GeraldMessadi的散文和小说情有独钟。Jonathan Masters是一位替Red Hat-Y-作的英国Linux内核工程师,他是实时内核小组的成员,同时还参与了各种其他项目。Jon是英国历史上首位以13岁的年龄进入大学就读的人。他的生活与Linux密不可分,不是在使用Linux,就是在从事Linux的工作。他曾在规模各不相同的各种嵌入式项目中工作过,做过独立承包商、大型科学研究公司的雇员以及在著名的嵌入式Linux供应商待过。Jon撰写过几本书、许多技术文章,以及维护Linux内核所使用的module-init.tools套件。Jon住在马萨诸塞州剑桥市,他喜欢旅游、修改嵌入式设备、徒步旅行、美国历史、难懂的法律用词,以及任意疯狂的任何机会。Gilad Ben-Yossef是Codefidence有限公司的共同创始人与CTO(首席技术总监),而且自1998年以来,一直在协助OEM(原始设备制造商)在商业产品和服务中使用自由和开放源码软件。他也是Hamakor一个以色列的非营利组织,致力于FOSS(自由和开放源码软件)的推广的共同创始人,以及“August Penguin” (以色列的社群FOSS会议)的创立委员。
书籍目录
前言第1章 概述 定义 嵌入式Linux系统的实际应用 设计与实现的方法第2章 基本概念 主机的类型 主机/目标开发设置类型 主机/目标调试设置类型 嵌入式Linux系统的一般架构 系统启动过程 引导配置类型 系统的存储器配置第3章 所支持的硬件 处理器架构 总线与接口 I/O 存储设备 通用网络 工业级网络 系统监控第4章 开发工具 实际的项目工作空间 GNU跨平台开发工具链 C程序库的替代品 Java Pen Python 其他程序语言 Eclipse 终端仿真程序第5章 内核方面的考虑 选择内核 设定内核配置 编译内核 安装内核 实地测试第6章 根文件系统的内容 根文件系统的基本结构 程序库 内核模块 内核映像 设备文件 主要的系统应用程序 定制应用程序 系统初始化第7章 储存设备管理 MTD所支持的设备 磁盘设备 是否启用交换功能第8章 根文件系统的设置 嵌入式设备的文件系统类型 使用经NFS挂载的根文件系统将文件系统映像写入Flash设备 放在RAM disk上的磁盘文件系统 Rootfs与Initramfs 选择文件系统的类型与布局 处理软件升级的问题第9章 设置bootloader 嵌入式bootloader 网络引导的服务器设置 使用U-Boot第10章 设置网络服务 网络配置 Busybox 通过DHCP动态配置 Internet Super-Server 使用SNMP进行远程管理 使用Telne[进行网络登录 使用SSH进行安全通信 通过HTTP提供Web内容 资源的提供第11章 调试工具 Eclipse 以gdb进行应用程序调试 追踪 性能分析 存储器调试 关于硬件工具第12章 实时Linux入门 什么是实时处理? 你的Linux应该支持实时吗? 共同的实时内核要求 实时计算技术的典型用户 Linux通往实时之路第13章 Xenomai实时系统 将传统rtos的应用程序移植到Linux Xenomai的架构 Xenomai的运行原理 实时驱动程序模型 结语第14章 实时补丁 将中断转换成线程 优先权继承 以RT Batch设定内核配置 高分辨率定时计数器 latency tracer 结语
章节摘录
插图:选用发行套件的时候,你还会受到厂商名声的影响,不过你必须有明辨是非的能力,言过其实的传言不在少数。如果你听到某个发行套件的传言,请花些时间验证相关信息的真实性。如果这是个商业发行套件,你可以跟厂商联络。对方可能知道相关信息的来源,最重要的是,能够对传言提出合理的说明。此验证过程并非专属于嵌入式Linux发行套件。嵌入式Linux发行套件特有的现象是,当商业发行套件的厂商对开放源码社群做出贡献时,便会建立起该商业发行套件的名声。厂商若能够提供更多开放源码软件或资助其开发,表明他与开放源码社群的关系,就能够站在非常有利的位置上,了解到这些开放源码项目的变迁与开发会对其未来的产品及最终的客户造成什么影响。总之,这是了解厂商的关键性环节和依据,你可以从此处看出厂商对其所提供的软件抱持着什么态度。就开放源码发行套件来说,已经符合这个标准了,因为其本身就是一个开放源码的贡献。商业发行套件可能必须提供的另一个重要工具就是文档。在今日这个瞬息万变的年代,能够包含最新信息且内容精确的文档并不多见。开放源码项目若提供了文档,通常都已经过时。Linus Torvalds的话一点都没错,他说: “用源码,路克”(use the source,Luke)(译注1),意思是说倘若需要了解软件,你就应该看它的源码。但是要达到精通的程度必须投入相当的时间和精神,因此仍须辅以适当的文档。因为开放源码开发者宁可花时间写程序也不愿意浪费时间写文档,所以发行套件厂商必须为其产品提供适当的文件。当你在评估发行套件的时候,务必了解其随附文档的类型和程度。尽管开放源码发行套件的文档不算多,但与商业发行套件比起来,有些开放源码发行套件所提供的文档算是相当优质的了。
编辑推荐
“《构建嵌入式LINUX系统(第2版)》不会假定你手边有哪些工具,或是限定你的项目的范围。《构建嵌入式LINUX系统(第2版)》只会要你通过Internet下载必要的套件、浏览特定的在线文件,以及与其他开发者一起分享经验。除了提供最大的自由度,以及让你掌控自己的设计之外,这么做最接近带头在嵌入式系统中使用Linux的先驱者们所采取的方式。”——摘录自“前言”
图书封面
图书标签Tags
无
评论、评分、阅读与下载