
**
前言
雖然講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>