出版時間:2011-1 出版社:中國電力出版社 作者:(加)亞荷毛爾 等著,秦云川 改編 頁數(shù):414 譯者:O'Reilly Taiwan公司
Tag標簽:無
前言
當本書第一版的作者——Karim Yaghmour于1997年任職一家硬件制造公司的時候,曾率先提議在嵌入式系統(tǒng)中使用Linux,他的建議在當時不僅令人感到驚訝,也受到某些質(zhì)疑。現(xiàn)在,大多數(shù)嵌入式系統(tǒng)若不是已經(jīng)在使用Linux,就是正在考慮使用Linux。的確,有不少大公司及政府機關在其嵌入式軟件的需求上逐漸依賴Linux。本書第一版頗受歡迎,但自本書第一版發(fā)行以來,Linux內(nèi)核與相應的工具取得了不少的進展,這使得Linux更具吸引力。其中最主要的是,出現(xiàn)了若干的實時擴展與配套環(huán)境,這會在本書第二版最后3章加以探討。此外,由于本書第一版、熱心的開放源碼與自由軟件程序員已經(jīng)簡化了GNu/Linux套件(此處之所以提到GNu,是因為要建立有效的Linux系統(tǒng),需要用到來自GNu這個自由軟件計劃的工具)的構建與安裝程序,因此本書第二版會介紹許多令人感到驚奇的高級工具,包括Eclipse以及用于替嵌入式Linux系統(tǒng)“打造構建工具”的各種工具。不過,我們?nèi)詴峁┐罅康牡讓有畔⒔o那些有需要的人,以協(xié)助您了解它們在背后用到了哪些輔助工具。要跟上Linux各部分與相關工具的爆炸性進展,最好的辦法就是由研究嵌入式與實時Linux相關問題的專家來告訴你。因此,本書第二版的作者加入了幾位GNu/Linux社群中關鍵的參與者,包括了那些進行內(nèi)核開發(fā)或建立相關項目的人士。
內(nèi)容概要
雖然Linux嵌入式系統(tǒng)幾乎無所不在,從手機到汽車的ABS系統(tǒng)以及凈水廠都可以發(fā)現(xiàn)它的蹤跡,但是令人驚訝的是,建立、安裝和測試Linux內(nèi)核以及相關工具的信息來源卻少得可憐。《構建嵌入式LINUX系統(tǒng)(第二版)》是一本深入探討如何構建這些系統(tǒng)的指南。通過閱讀本書,你不僅可以獲得基本的概念,還可以學到如何設置以及使用40種以上不同的開放源碼和自由軟件套件。 本書的內(nèi)容針對Linux內(nèi)核的最新版本做過更新,并且加入之前未介紹過的程序以便協(xié)助你: ·建立你自己的GNU development toolchain(開發(fā)工具鏈) ·為你的目標系統(tǒng)選用、設定、構建以及安裝專屬的內(nèi)核 ·為你的目標系統(tǒng)建立完整的根文件系統(tǒng) ·設置、操作以及使用固態(tài)儲存設備 ·為你的目標系統(tǒng)安裝及設定bootloader(引導加載程序) ·交叉編譯許多的工具程序與套件 ·可用于嵌入式系統(tǒng)調(diào)試的眾多工具和技術 ·使用uClibc、BusyBox、U-Boot、Openssh、thttpd、tftp、strace以及gdb等套件 ·用Xenomai或RT kernel patch實現(xiàn)實時功能 閱讀本書你將能夠?qū)W到如何構建操作系統(tǒng)組件,以及簡化全面掌控嵌入式系統(tǒng)的艱巨任務。
作者簡介
作者:(加拿大)亞荷毛爾 等 譯者:O'Reilly Taiwan公司 改編:云川Karim Yaghmour是Opersys(這家公司為開放源碼和自由軟件在嵌入式系統(tǒng)中的使用提供了專家支持和訓練課程)以7LKryptiva(電子郵件安全服務的供應商)的創(chuàng)辦人及總裁。身為開放源碼和自由軟件社群的活躍成員,Karim將Opersys所提供的服務穩(wěn)固地構建在社群所推動的知識共享和技術質(zhì)量的內(nèi)核價值上。Karim對社群的部分貢獻包括:他是Linux Trace Toolkit的維護者,以及是促使Adeos nanokernel(允許多個操作系統(tǒng)并存)得以實現(xiàn)的一系列白皮書(white paper)的作者。Karim天生喜歡探究事物的運行原理。小時候,Karim甚至拆開家中所有的收音機和卡式磁帶機,以便能夠“修理”它們。同樣地,Karim早就展露自己對操作系統(tǒng)內(nèi)部及嵌入式系統(tǒng)高度的興趣。他目前擁有Ecole Polytechnique de Montreal(蒙特利爾工程學院)的B.Eng.(工程學位)和M-A.Sc.(研究生碩士)學位。當每個人都在為Linux開發(fā)程序的時候,Karim辟蹊徑,撰寫自己的分布式微內(nèi)核,借此深入了解操作系統(tǒng)的設計及實現(xiàn)。不寫程序的時候,Karim通常會將自己的熱情投在史學、哲學、社會學和人文科學上。此外,他對Umberto Eco和GeraldMessadi的散文和小說情有獨鐘。Jonathan Masters是一位替Red Hat-Y-作的英國Linux內(nèi)核工程師,他是實時內(nèi)核小組的成員,同時還參與了各種其他項目。Jon是英國歷史上首位以13歲的年齡進入大學就讀的人。他的生活與Linux密不可分,不是在使用Linux,就是在從事Linux的工作。他曾在規(guī)模各不相同的各種嵌入式項目中工作過,做過獨立承包商、大型科學研究公司的雇員以及在著名的嵌入式Linux供應商待過。Jon撰寫過幾本書、許多技術文章,以及維護Linux內(nèi)核所使用的module-init.tools套件。Jon住在馬薩諸塞州劍橋市,他喜歡旅游、修改嵌入式設備、徒步旅行、美國歷史、難懂的法律用詞,以及任意瘋狂的任何機會。Gilad Ben-Yossef是Codefidence有限公司的共同創(chuàng)始人與CTO(首席技術總監(jiān)),而且自1998年以來,一直在協(xié)助OEM(原始設備制造商)在商業(yè)產(chǎn)品和服務中使用自由和開放源碼軟件。他也是Hamakor一個以色列的非營利組織,致力于FOSS(自由和開放源碼軟件)的推廣的共同創(chuàng)始人,以及“August Penguin” (以色列的社群FOSS會議)的創(chuàng)立委員。
書籍目錄
前言第1章 概述 定義 嵌入式Linux系統(tǒng)的實際應用 設計與實現(xiàn)的方法第2章 基本概念 主機的類型 主機/目標開發(fā)設置類型 主機/目標調(diào)試設置類型 嵌入式Linux系統(tǒng)的一般架構 系統(tǒng)啟動過程 引導配置類型 系統(tǒng)的存儲器配置第3章 所支持的硬件 處理器架構 總線與接口 I/O 存儲設備 通用網(wǎng)絡 工業(yè)級網(wǎng)絡 系統(tǒng)監(jiān)控第4章 開發(fā)工具 實際的項目工作空間 GNU跨平臺開發(fā)工具鏈 C程序庫的替代品 Java Pen Python 其他程序語言 Eclipse 終端仿真程序第5章 內(nèi)核方面的考慮 選擇內(nèi)核 設定內(nèi)核配置 編譯內(nèi)核 安裝內(nèi)核 實地測試第6章 根文件系統(tǒng)的內(nèi)容 根文件系統(tǒng)的基本結構 程序庫 內(nèi)核模塊 內(nèi)核映像 設備文件 主要的系統(tǒng)應用程序 定制應用程序 系統(tǒng)初始化第7章 儲存設備管理 MTD所支持的設備 磁盤設備 是否啟用交換功能第8章 根文件系統(tǒng)的設置 嵌入式設備的文件系統(tǒng)類型 使用經(jīng)NFS掛載的根文件系統(tǒng)將文件系統(tǒng)映像寫入Flash設備 放在RAM disk上的磁盤文件系統(tǒng) Rootfs與Initramfs 選擇文件系統(tǒng)的類型與布局 處理軟件升級的問題第9章 設置bootloader 嵌入式bootloader 網(wǎng)絡引導的服務器設置 使用U-Boot第10章 設置網(wǎng)絡服務 網(wǎng)絡配置 Busybox 通過DHCP動態(tài)配置 Internet Super-Server 使用SNMP進行遠程管理 使用Telne[進行網(wǎng)絡登錄 使用SSH進行安全通信 通過HTTP提供Web內(nèi)容 資源的提供第11章 調(diào)試工具 Eclipse 以gdb進行應用程序調(diào)試 追蹤 性能分析 存儲器調(diào)試 關于硬件工具第12章 實時Linux入門 什么是實時處理? 你的Linux應該支持實時嗎? 共同的實時內(nèi)核要求 實時計算技術的典型用戶 Linux通往實時之路第13章 Xenomai實時系統(tǒng) 將傳統(tǒng)rtos的應用程序移植到Linux Xenomai的架構 Xenomai的運行原理 實時驅(qū)動程序模型 結語第14章 實時補丁 將中斷轉(zhuǎn)換成線程 優(yōu)先權繼承 以RT Batch設定內(nèi)核配置 高分辨率定時計數(shù)器 latency tracer 結語
章節(jié)摘錄
插圖:選用發(fā)行套件的時候,你還會受到廠商名聲的影響,不過你必須有明辨是非的能力,言過其實的傳言不在少數(shù)。如果你聽到某個發(fā)行套件的傳言,請花些時間驗證相關信息的真實性。如果這是個商業(yè)發(fā)行套件,你可以跟廠商聯(lián)絡。對方可能知道相關信息的來源,最重要的是,能夠?qū)餮蕴岢龊侠淼恼f明。此驗證過程并非專屬于嵌入式Linux發(fā)行套件。嵌入式Linux發(fā)行套件特有的現(xiàn)象是,當商業(yè)發(fā)行套件的廠商對開放源碼社群做出貢獻時,便會建立起該商業(yè)發(fā)行套件的名聲。廠商若能夠提供更多開放源碼軟件或資助其開發(fā),表明他與開放源碼社群的關系,就能夠站在非常有利的位置上,了解到這些開放源碼項目的變遷與開發(fā)會對其未來的產(chǎn)品及最終的客戶造成什么影響??傊?,這是了解廠商的關鍵性環(huán)節(jié)和依據(jù),你可以從此處看出廠商對其所提供的軟件抱持著什么態(tài)度。就開放源碼發(fā)行套件來說,已經(jīng)符合這個標準了,因為其本身就是一個開放源碼的貢獻。商業(yè)發(fā)行套件可能必須提供的另一個重要工具就是文檔。在今日這個瞬息萬變的年代,能夠包含最新信息且內(nèi)容精確的文檔并不多見。開放源碼項目若提供了文檔,通常都已經(jīng)過時。Linus Torvalds的話一點都沒錯,他說: “用源碼,路克”(use the source,Luke)(譯注1),意思是說倘若需要了解軟件,你就應該看它的源碼。但是要達到精通的程度必須投入相當?shù)臅r間和精神,因此仍須輔以適當?shù)奈臋n。因為開放源碼開發(fā)者寧可花時間寫程序也不愿意浪費時間寫文檔,所以發(fā)行套件廠商必須為其產(chǎn)品提供適當?shù)奈募?。當你在評估發(fā)行套件的時候,務必了解其隨附文檔的類型和程度。盡管開放源碼發(fā)行套件的文檔不算多,但與商業(yè)發(fā)行套件比起來,有些開放源碼發(fā)行套件所提供的文檔算是相當優(yōu)質(zhì)的了。
編輯推薦
“《構建嵌入式LINUX系統(tǒng)(第2版)》不會假定你手邊有哪些工具,或是限定你的項目的范圍?!稑嫿ㄇ度胧絃INUX系統(tǒng)(第2版)》只會要你通過Internet下載必要的套件、瀏覽特定的在線文件,以及與其他開發(fā)者一起分享經(jīng)驗。除了提供最大的自由度,以及讓你掌控自己的設計之外,這么做最接近帶頭在嵌入式系統(tǒng)中使用Linux的先驅(qū)者們所采取的方式?!薄涀浴扒把浴?/pre>圖書封面
圖書標簽Tags
無評論、評分、閱讀與下載