**
前言
虽然讲linux的好书很多,但是本书汇集了专门针对嵌入式linux开发人员的各方面信息和建议。实际上,有关linux内核、linux系统管理等方面的优秀书籍已经有很多了。本书也参考了我认为在同类书籍中最好的几本。
本书的很多内容来自实际的问题,有些问题是我作为嵌入式linux顾问时一些开发工程师提出的,还有些问题是我直接参与商业嵌入式linux开发时遇到的。
嵌入式linux会给经验丰富的软件工程师带来一些独特的挑战。首先,那些有多年老式实时操作系统(real time operating system,rtos)开发经验的工程师会发现,他们的思维习惯很难从旧的环境转换到linux;其次,经验丰富的应用程序开发人员常常难以理解多种开发环境的相对复杂性。
虽然这是一本面向嵌入式linux开发初学者的基础教程,但我相信即使是经验丰富的嵌入式linux开发人员也能从中获益,书中包含了我多年积累的实用建议和技巧。
本书介绍了嵌入式工程师怎样才能迅速掌握嵌入式linux环境的新知识。书中没有重点讲解linux内核原理,而是在讲解内核的章节侧重从项目角度介绍内核。你可以阅读专门介绍内核原理的优秀图书来了解相关知识。你可以从本书学到内核源码树的组织和布局,了解组成内核镜像的二进制组件和加载它们的方法,以及它们在嵌入式系统中的作用。
在本书中,你会学到linux内核构建系统的工作原理,以及怎样将满足项目需求的具体变化融合到系统中。你会了解到linux系统初始化的细节,包括内核空间初始化和用户空间初始化。你还能看到很多对嵌入式项目有益的建议和技巧,涵盖引导加载程序、系统初始化、文件系统和闪存,以及高级的内核与应用程序调试技术。第2版中新增了很多内容,很多章节都有更新,比如讲开源构建系统、usb和udev的几章都是新的,而且有相当篇幅探讨如何在嵌入式linux项目中配置和使用这些复杂的系统。
**[第1章 入门
<a href="https://yq.aliyun.com/articles/99008">1.2 嵌入式linux现状</a>
<a href="https://yq.aliyun.com/articles/99011">1.3 开源和gpl</a>
<a href="https://yq.aliyun.com/articles/99016">1.4 标准及相关组织</a>
1.4.1 linux标准基础
1.4.2 linux基金会
1.4.3 电信级linux
1.4.4 移动linux计划:moblin
1.4.5 服务可用性论坛
<a href="https://yq.aliyun.com/articles/99021">1.5 小结</a>
**[第2章 综述
<a href="https://yq.aliyun.com/articles/99037">2.2 剖析嵌入式系统</a>
2.2.1 典型的嵌入式linux开发环境
2.2.2 启动目标板
2.2.3 引导内核
2.2.4 内核初始化:概述
2.2.5 第一个用户空间进程:init
<a href="https://yq.aliyun.com/articles/99046">2.3 存储</a>
2.3.1 闪存
2.3.2 nand型闪存
2.3.3 闪存的用途
2.3.4 闪存文件系统
2.3.5 内存空间
2.3.6 执行上下文
2.3.7 进程虚拟内存
2.3.8 交叉开发环境
<a href="https://yq.aliyun.com/articles/99052">2.4 嵌入式linux发行版</a>
2.4.1 商业linux发行版
2.4.2 打造自己的linux发行版
<a href="https://yq.aliyun.com/articles/99055">2.5 小结</a>