嵌入式Linux基础教程(第2版):英文版(嵌入式Linux权威著作,Amazon全五星评价)
基本信息
- 作者: (美)Christopher Hallinan [作译者介绍]
- 丛书名: 图灵程序设计丛书
- 出版社:人民邮电出版社
- ISBN:9787115268693
- 上架时间:2012-1-9
- 出版日期:2012 年1月
- 开本:16开
- 页码:616
- 版次:2-1
- 所属分类:
计算机 > 操作系统 > Linux
计算机 > 计算机组织与体系结构 > 嵌入式计算机
编辑推荐
嵌入式Linux权威著作
Amazon全五星评价
全面剖析嵌入式Linux开发,揭示大量技术内幕
内容简介回到顶部↑
《嵌入式linux基础教程》是嵌入式linux 的经典教程,介绍了引导装入程序、系统初始化、文件系统、闪存和内核、应用程序调试技巧等,还讲述了构建linux 系统的工作原理,用于驱动不同体系结构的配置,linux内核源码树的特性,如何根据需求配制内核运行时的行为,如何扩展系统功能,用于构建完整嵌入式linux 发行版的常用构建系统,usb 子系统和系统配置工具udev 等内容。更重要的是,《嵌入式linux基础教程》阐述了如何修改系统使之满足读者自己的需求,使读者能从中学习一些嵌入式工程中非常有用的提示和技巧。
《嵌入式linux基础教程》适合linux 程序员阅读,也可作为高等院校相关专业师生的参考读物。
《嵌入式linux基础教程》适合linux 程序员阅读,也可作为高等院校相关专业师生的参考读物。
作译者回到顶部↑
本书提供作译者介绍
Christopher Hallinan 著名嵌入式Linux技术专家。现任Mentor Graphics公司技术市场工程师,曾任Monta Vista软件公司现场应用工程师,3Com公司工程总监,Crosscomm公司工程总监。他有25年以上网络和通信产品的软硬件开发经验。曾担任 Linux咨询师,提供定制Linux主板接口、设备驱动程序和引导装入程序等方面的解决方案。
.. << 查看详细
.. << 查看详细
目录回到顶部↑
《嵌入式linux基础教程》
edition xxxiii
acknowledgments for the second edition xxxv
about the author xxxvi
chapter 1 introduction 1
1.1 why linux? 2
1.2 embedded linux today 3
1.3 open source and the gpl 3
1.3.1 free versus freedom 4
1.4 standards and relevant bodies 5
1.4.1 linux standard base 5
1.4.2 linux foundation 6
1.4.3 carrier-grade linux 6
1.4.4 mobile linux initiative: moblin 7
1.4.5 service availability forum 7
1.5 summary 8
1.5.1 suggestions for additional reading 8
chapter 2 the big picture 9
2.1 embedded or not? 10
2.1.1 bios versus bootloader 11
edition xxxiii
acknowledgments for the second edition xxxv
about the author xxxvi
chapter 1 introduction 1
1.1 why linux? 2
1.2 embedded linux today 3
1.3 open source and the gpl 3
1.3.1 free versus freedom 4
1.4 standards and relevant bodies 5
1.4.1 linux standard base 5
1.4.2 linux foundation 6
1.4.3 carrier-grade linux 6
1.4.4 mobile linux initiative: moblin 7
1.4.5 service availability forum 7
1.5 summary 8
1.5.1 suggestions for additional reading 8
chapter 2 the big picture 9
2.1 embedded or not? 10
2.1.1 bios versus bootloader 11
前言回到顶部↑
虽然Linux 方面已经有很多好书,但是没有哪一本书能为嵌入式Linux 开发人员提供广泛的信息和建议。当然,有一些非常优秀的书介绍了Linux 内核和Linux 系统管理等方面的知识,本书也参考了许多我认为在同类书中最优秀的著作。
本书的大部分素材取自我以前作嵌入式Linux 顾问工作时收到的一些开发工程师提出的问题(当时我的职位是嵌入式Linux 顾问),以及直接参与到商业嵌入式Linux 开发时遇到的问题。
即便对于很有经验的软件工程师来说,嵌入式Linux 也带来了一些特殊的挑战。首先,那些具有多年实时操作系统(RTOS)开发经验的工程师很难把思维转换到Linux 上;其次,有经验的应用程序开发人员通常很难理解跨平台开发环境的复杂性。
虽然这只是一本面向刚接触嵌入式Linux 开发人员的基础读物,但是我确信有经验的嵌入式Linux 开发人员也一定能从中找到有用的提示和技巧,这些可是我花费多年积累总结出来的。
给嵌入式Linux 开发者的实用建议
书中包括了我的一些观点。作为一名嵌入式工程师,要跟上嵌入式Linux 环境的快速发展,你需要知道这些观点。本书没有重点讲解Linux 内核内部原理,在谈论内核的章节中侧重从项目角度介绍内核,你可以阅读专门介绍内核内部原理的著作来了解相关知识。
通过本书,可以学习内核源码树的组织和布局,了解组成内核映像的二进制文件组件以及如何加载它们,它们在嵌入式系统中的作用等知识。
本书将讲述Linux 内核构建系统的工作原理,以及怎样将项目需要的自定义变化融合到内核中。你会了解Linux 系统初始化的细节,从内核空间初始化到用户空间初始化,还能了解很多对嵌入式项目有益的建议和技巧,包括引导加载程序、系统初始化、文件系统以及闪存到高级的内存及应用程序调试技术。第2 版包含了很多新内容,新增了几章内容,包括开源构建系统、USB 和udev,重点介绍了如何在嵌入式Linux 项目中配置和使用这些复杂的系统。
读者对象
本书需要读者具有一定的C 语言编程基础,对局域网和因特网有基本的了解,理解IP地址的概念以及IP 地址在简单局域网中的用法,还需要理解十六进制和八进制编码方式以及它们常见的用法。
本书也涉及C 语言编译和链接中一些较为深入的概念,所以如果你能粗略复习一下C语言链接器的概念就更好了。同时,了解GNU make 操作和语法对于阅读本书也很有帮助。
本书不是什么
本书不是一本详细介绍硬件的指南。嵌入式开发者所面临的困难之一就是现在硬件设备之间有巨大的差异。一款集成部分外围设备的现代32 位处理器,其用户手册动辄就有3000 页,这没有捷径可走。但从程序员的角度看,如果需要理解硬件设备,就必须花费大量时间研读硬件数据手册和参考指南,同时要花费更多的时间编写和测试这些硬件设备的工作代码。
这也不是一本讲述Linux 内核和内部原理的书。从本书中无法学到用来实现Linux 虚拟内存管理策略和过程的内存管理单元(MMU)的精深知识。已经有许多关于这个主题的优秀图书,我建议你翻阅每章后面的“参考资源”(Suggestions for Additional Reading)。
排版约定
文件名、目录、工具、命令和代码采用monospace 字体,需要读者输入的命令使用加粗monospace 字体。新术语或重要的概念使用斜体加以强调。
路径名前如有3 个点,则表示众所周知但未明确指定的顶层目录。上下文不同,顶层目录也会不同,但大多数情况下是指Linux 内核源码目录的顶层。例如,.../arch/powerpc/kernel/setup_32.c 表示setup_32.c 文件位于Linux 内核源码树的体系结构分支上。实际路径可能是~/sandbox/linux.2.6.33/arch/power/kernel/setup_32.c。
本书结构
第1 章简要介绍了Linux 被迅速应用在嵌入式环境的驱动因素,介绍了与嵌入式Linux相关的几个重要的标准和组织。
第2 章介绍了与后几章所构建的嵌入式Linux 相关的许多概念。
本书的大部分素材取自我以前作嵌入式Linux 顾问工作时收到的一些开发工程师提出的问题(当时我的职位是嵌入式Linux 顾问),以及直接参与到商业嵌入式Linux 开发时遇到的问题。
即便对于很有经验的软件工程师来说,嵌入式Linux 也带来了一些特殊的挑战。首先,那些具有多年实时操作系统(RTOS)开发经验的工程师很难把思维转换到Linux 上;其次,有经验的应用程序开发人员通常很难理解跨平台开发环境的复杂性。
虽然这只是一本面向刚接触嵌入式Linux 开发人员的基础读物,但是我确信有经验的嵌入式Linux 开发人员也一定能从中找到有用的提示和技巧,这些可是我花费多年积累总结出来的。
给嵌入式Linux 开发者的实用建议
书中包括了我的一些观点。作为一名嵌入式工程师,要跟上嵌入式Linux 环境的快速发展,你需要知道这些观点。本书没有重点讲解Linux 内核内部原理,在谈论内核的章节中侧重从项目角度介绍内核,你可以阅读专门介绍内核内部原理的著作来了解相关知识。
通过本书,可以学习内核源码树的组织和布局,了解组成内核映像的二进制文件组件以及如何加载它们,它们在嵌入式系统中的作用等知识。
本书将讲述Linux 内核构建系统的工作原理,以及怎样将项目需要的自定义变化融合到内核中。你会了解Linux 系统初始化的细节,从内核空间初始化到用户空间初始化,还能了解很多对嵌入式项目有益的建议和技巧,包括引导加载程序、系统初始化、文件系统以及闪存到高级的内存及应用程序调试技术。第2 版包含了很多新内容,新增了几章内容,包括开源构建系统、USB 和udev,重点介绍了如何在嵌入式Linux 项目中配置和使用这些复杂的系统。
读者对象
本书需要读者具有一定的C 语言编程基础,对局域网和因特网有基本的了解,理解IP地址的概念以及IP 地址在简单局域网中的用法,还需要理解十六进制和八进制编码方式以及它们常见的用法。
本书也涉及C 语言编译和链接中一些较为深入的概念,所以如果你能粗略复习一下C语言链接器的概念就更好了。同时,了解GNU make 操作和语法对于阅读本书也很有帮助。
本书不是什么
本书不是一本详细介绍硬件的指南。嵌入式开发者所面临的困难之一就是现在硬件设备之间有巨大的差异。一款集成部分外围设备的现代32 位处理器,其用户手册动辄就有3000 页,这没有捷径可走。但从程序员的角度看,如果需要理解硬件设备,就必须花费大量时间研读硬件数据手册和参考指南,同时要花费更多的时间编写和测试这些硬件设备的工作代码。
这也不是一本讲述Linux 内核和内部原理的书。从本书中无法学到用来实现Linux 虚拟内存管理策略和过程的内存管理单元(MMU)的精深知识。已经有许多关于这个主题的优秀图书,我建议你翻阅每章后面的“参考资源”(Suggestions for Additional Reading)。
排版约定
文件名、目录、工具、命令和代码采用monospace 字体,需要读者输入的命令使用加粗monospace 字体。新术语或重要的概念使用斜体加以强调。
路径名前如有3 个点,则表示众所周知但未明确指定的顶层目录。上下文不同,顶层目录也会不同,但大多数情况下是指Linux 内核源码目录的顶层。例如,.../arch/powerpc/kernel/setup_32.c 表示setup_32.c 文件位于Linux 内核源码树的体系结构分支上。实际路径可能是~/sandbox/linux.2.6.33/arch/power/kernel/setup_32.c。
本书结构
第1 章简要介绍了Linux 被迅速应用在嵌入式环境的驱动因素,介绍了与嵌入式Linux相关的几个重要的标准和组织。
第2 章介绍了与后几章所构建的嵌入式Linux 相关的许多概念。
序言回到顶部↑
第1版序
计算机无处不在!
在过去大约25 年中,只要不是与世隔绝的人就肯定不会对此感到大惊小怪。现在,计算机不仅占据了我们的桌面,进驻了我们的厨房,而且越来越多地进入到我们的生活场所,即便是在微波炉、电烤箱、移动电话和便携式数字音乐播放器中也出现了它的身影。
选择本书的读者肯定已经了解了不少,但还想学习更多的嵌入式系统知识。
就在不久前,嵌入式系统还不是很强大,它们运行具有特殊目的的专用的操作系统,而这些操作系统与工业标准的系统有很大不同(而且,它们也比较难开发)。现在,嵌入式系统在功能上已经与家用计算机相当,甚至更为强大(例如高端游戏终端)。
伴随着这种强大的功能,嵌入式系统已经可以运行Linux 等成熟的操作系统,而且这样做意义重大。庞大的开发者社区也使得这一切成为可能。开发环境和部署环境惊人相似,这也使得程序员的生活变得更轻松。现在我们既享有由虚拟内存系统提供的保护地址空间的安全性,又具备多用户的能力和灵活性。不管从哪方面说,都是件好事。
出于这个原因,全世界的公司都在许多设备中选择使用Linux,如PDA、家庭娱乐系统,甚至移动电话里也装了——不管你信不信!
这本书很令我振奋。它为那些想在嵌入式系统中使用Linux 的开发人员提供了极好的学习路线指导。本书内容简洁、准确,组织合理,Chris 的知识和见解贯穿全书,你不仅能得到很多信息和帮助,也能获得阅读的乐趣。
我希望在你学习的同时也能感受到这种乐趣,我自己已经感受到了。
Arnold Robbins
丛书编辑
第2版序
智能手机,PDA,家用路由器,智能电视,智能蓝光播放器,智能悠悠球。好吧,或许不全有。在我们的家里和办公室里,越来越多的用于工作和娱乐的日常用品都使用了嵌入式计算机,并且这些计算机都运行着GNU/Linux。
你也许是一个习惯了在英特尔架构的台式机(或笔记本)上工作的GNU/Linux 开发人员。或者你有可能是一名嵌入式系统开发人员,习惯于那些更加传统的嵌入式或实时操作系统。无论你有什么样的背景,一旦你进入了嵌入式Linux 开发的世界里,多萝西①所说的“托托,我想我们再也回不去堪萨斯了”就会适用于你。欢迎开始这个探险之旅!
多萝西有一个目标和一些好朋友,但是没有向导。然_____而,你的情况要好一些,因为你正拿着一本极好的现场指导手册,带领你进入嵌入式Linux 开发的世界。ChristopherHallinan 为你展示了这一切——怎么做、在哪里、为什么,以及“哪些是不用做的”。这本书将会带领你轻松而快捷地构建自己的产品。
不必惊讶,这本书已经成为市场的领导者。这个新版本则更上了一层楼。这个版本包含最新内容,并且带来了作者关于这个主题的更多经验。
能将这本书纳入到我的丛书中,我深感自豪。但更重要的是你将会为你自己而感到自豪,因为读了这本书,你会构建出更好的产品。享受吧!
Arnold Robbins
丛书编辑
计算机无处不在!
在过去大约25 年中,只要不是与世隔绝的人就肯定不会对此感到大惊小怪。现在,计算机不仅占据了我们的桌面,进驻了我们的厨房,而且越来越多地进入到我们的生活场所,即便是在微波炉、电烤箱、移动电话和便携式数字音乐播放器中也出现了它的身影。
选择本书的读者肯定已经了解了不少,但还想学习更多的嵌入式系统知识。
就在不久前,嵌入式系统还不是很强大,它们运行具有特殊目的的专用的操作系统,而这些操作系统与工业标准的系统有很大不同(而且,它们也比较难开发)。现在,嵌入式系统在功能上已经与家用计算机相当,甚至更为强大(例如高端游戏终端)。
伴随着这种强大的功能,嵌入式系统已经可以运行Linux 等成熟的操作系统,而且这样做意义重大。庞大的开发者社区也使得这一切成为可能。开发环境和部署环境惊人相似,这也使得程序员的生活变得更轻松。现在我们既享有由虚拟内存系统提供的保护地址空间的安全性,又具备多用户的能力和灵活性。不管从哪方面说,都是件好事。
出于这个原因,全世界的公司都在许多设备中选择使用Linux,如PDA、家庭娱乐系统,甚至移动电话里也装了——不管你信不信!
这本书很令我振奋。它为那些想在嵌入式系统中使用Linux 的开发人员提供了极好的学习路线指导。本书内容简洁、准确,组织合理,Chris 的知识和见解贯穿全书,你不仅能得到很多信息和帮助,也能获得阅读的乐趣。
我希望在你学习的同时也能感受到这种乐趣,我自己已经感受到了。
Arnold Robbins
丛书编辑
第2版序
智能手机,PDA,家用路由器,智能电视,智能蓝光播放器,智能悠悠球。好吧,或许不全有。在我们的家里和办公室里,越来越多的用于工作和娱乐的日常用品都使用了嵌入式计算机,并且这些计算机都运行着GNU/Linux。
你也许是一个习惯了在英特尔架构的台式机(或笔记本)上工作的GNU/Linux 开发人员。或者你有可能是一名嵌入式系统开发人员,习惯于那些更加传统的嵌入式或实时操作系统。无论你有什么样的背景,一旦你进入了嵌入式Linux 开发的世界里,多萝西①所说的“托托,我想我们再也回不去堪萨斯了”就会适用于你。欢迎开始这个探险之旅!
多萝西有一个目标和一些好朋友,但是没有向导。然_____而,你的情况要好一些,因为你正拿着一本极好的现场指导手册,带领你进入嵌入式Linux 开发的世界。ChristopherHallinan 为你展示了这一切——怎么做、在哪里、为什么,以及“哪些是不用做的”。这本书将会带领你轻松而快捷地构建自己的产品。
不必惊讶,这本书已经成为市场的领导者。这个新版本则更上了一层楼。这个版本包含最新内容,并且带来了作者关于这个主题的更多经验。
能将这本书纳入到我的丛书中,我深感自豪。但更重要的是你将会为你自己而感到自豪,因为读了这本书,你会构建出更好的产品。享受吧!
Arnold Robbins
丛书编辑
媒体评论回到顶部↑
“这本书很令我振奋,它为那些想在嵌入式系统中使用Linux的开发人员提供了极好的学习路线指导。本书内容简洁、准确,组织合理,Christopher的知识和见解贯穿全书,你不仅能得到很多信息和帮助,也能享受到阅读的乐趣。”
——Arnold Robbins,著名Linux专家
“本书涵盖了嵌入式Linux开发的方方面面……强烈推荐每一位嵌入式Linux开发人员阅读。”
——LinuxQuestions.org
——Arnold Robbins,著名Linux专家
“本书涵盖了嵌入式Linux开发的方方面面……强烈推荐每一位嵌入式Linux开发人员阅读。”
——LinuxQuestions.org







点击看大图
加载中...

