




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第9章Linux內(nèi)核了解Linux內(nèi)核的組成了解Linux內(nèi)核編譯方法學習目標Linux內(nèi)核概述Linux內(nèi)核編譯學習內(nèi)容是一個提供硬件抽象層、磁盤及文件系統(tǒng)控制、多任務等功能的系統(tǒng)軟件。一個內(nèi)核不是一套完整的操作系統(tǒng)。一套基于Linux內(nèi)核的完整操作系統(tǒng)叫作Linux操作系統(tǒng)。Linux內(nèi)核Linux操作系統(tǒng)基本結(jié)構Linux內(nèi)核體系結(jié)構系統(tǒng)調(diào)用接口:提供了某些機制執(zhí)行從用戶空間到內(nèi)核的函數(shù)調(diào)用進程管理:通過SCI提供的API來創(chuàng)建新進程、停止進程,實現(xiàn)通信和同步等內(nèi)存管理:控制多個進程安全地共享內(nèi)存區(qū)域,包括緩沖區(qū)、頁面管理、虛擬內(nèi)存管理等虛擬文件系統(tǒng):它為文件系統(tǒng)提供了一個通用的接口抽象網(wǎng)絡堆棧:提供網(wǎng)絡協(xié)議實現(xiàn)設備驅(qū)動程序:支持特定的硬件設備運轉(zhuǎn)Linux內(nèi)核的主要子系統(tǒng)Linux內(nèi)核的版本編號最新的內(nèi)核采用“A.B.C”格式:A----代表版本B----隨新版本的發(fā)布而增加,偶數(shù)是穩(wěn)定版,奇數(shù)是開發(fā)版C----代表一些bug修復、安全更新、新特性等內(nèi)核源代碼下載地址:Linux內(nèi)核源碼—目錄結(jié)構Arch目錄arch是architecture的縮寫。內(nèi)核所支持的每種CPU體系,在該目錄下都有對應的子目錄。每個CPU的子目錄,又進一步分解為boot、mm、kernel等子目錄,分別包含控制系統(tǒng)引導,內(nèi)存管理,系統(tǒng)調(diào)用等。|--x86/*英特爾cpu及與之相兼容體系結(jié)構的子目錄*/ ||--boot/*引導程序*/ |||pressed/*內(nèi)核解壓縮*/ ||--tools/*生成壓縮內(nèi)核映像的程序*/ ||--kernel/*相關內(nèi)核特性實現(xiàn)方式,如信號處理、時鐘處理*/ ||--lib/*硬件相關工具函數(shù)*/block目錄
部分塊設備驅(qū)動程序
crypto目錄
加密、壓縮、CRC校驗算法documentation
內(nèi)核的文檔drivers目錄
設備驅(qū)動程序fs目錄存放各種文件系統(tǒng)的實現(xiàn)代碼。每個子目錄對應一種文件系統(tǒng)的實現(xiàn),公用的源程序用于實現(xiàn)虛擬文件系統(tǒng)vfs。 ||--devpts/*/dev/pts虛擬文件系統(tǒng)*/ ||--ext2/*第二擴展文件系統(tǒng)*/ ||--fat/*MS的fat32文件系統(tǒng)*/ ||--isofs/*ISO9660光盤cd-rom上的文件系統(tǒng)*/
include目錄與平臺無關的頭文件在include/linux子目錄下,與平臺相關的頭文件則放在相應的子目錄中。init目錄
內(nèi)核初始化代碼ipc目錄
進程間通信的實現(xiàn)代碼
kernel目錄 Linux大多數(shù)關鍵的核心功能都是在這個目錄實現(xiàn)。(調(diào)度程序,進程控制,模塊化)lib目錄
庫文件代碼mm目錄
mm目錄中的文件用于實現(xiàn)內(nèi)存管理中與體系結(jié)構無關的部分net目錄
網(wǎng)絡協(xié)議的實現(xiàn)代碼 ||--802/*802無線通訊協(xié)議核心支持代碼*/ ||--appletalk/*與蘋果系統(tǒng)連網(wǎng)的協(xié)議*/ ||--ax25/*AX25無線INTERNET協(xié)議*/ ||--bridge/*橋接設備*/ ||--ipv4/*IP協(xié)議族V4版32位尋址模式*/ ||--ipv6/*IP協(xié)議族V6版*/samples
一些內(nèi)核編程的范例scripts
配置內(nèi)核的腳本security
SElinux的模塊sound
音頻設備的驅(qū)動程序usr cpio命令實現(xiàn)virt
內(nèi)核虛擬機Linux內(nèi)核的配置與編譯1.清除臨時文件、中間文件和配置文件.
?makeclean清理大多數(shù)編譯生成的文件,但會保留config文件等
?
?makemrproper清理所有編譯生成的文件、config及某些備份文件?makedistcleanmrproper、patches以及編輯器備份文件2、確定目標系統(tǒng)的軟硬件配置情況,比如CPU的類型、網(wǎng)卡的型號,所需支持的網(wǎng)絡協(xié)議等。(如:為ARM板編譯內(nèi)核)
打開內(nèi)核源碼根目錄下的Makefile,修改如下兩個Makefile變量并保存。ARCH:=armCROSS_COMPILE:=arm-linux-3、使用如下命令之一配置內(nèi)核:makeconfig:基于文本模式的交互式配置。makemenuconfig:基于文本模式的菜單型配置。(推薦使用)makeoldconfig:使用已有的配置文件(.config),但是會詢問新增的配置選項。makexconfig:圖形化的配置(需安裝圖形化系統(tǒng))?;驈膹膬?nèi)核源碼arch/arm/configs目錄下,找一個與目標系統(tǒng)最接近的配置文件(例如s3c2410_defconfig),拷貝到內(nèi)核源碼根目錄下,命名為.config。執(zhí)行makemenuconfig對此配置做一些需要的修改,退出時選擇保存,就將新的配置更新到.config文件中了。makemenuconfig1、使用方向鍵在各選項間移動;2、使用“Enter”鍵進入下一層選單;每個選項上的高亮字母是鍵盤快捷方式,使用它可以快速地到達想要設置的選單項;3、在括號中按“y”將這個項目編譯進內(nèi)核中,按“m”編譯為模塊,按“n”為不選擇(按空格鍵也可在編譯進內(nèi)核、編譯為模塊和不編譯三者間進行切換),按“h”將顯示這個選項的幫助信息,按“Esc”鍵將返回到上層選單。4、編譯內(nèi)核:makezImagemakebzImage區(qū)別:在X86平臺,zImage只能用于小于512K的內(nèi)核*如需獲取詳細編譯信息,可使用:makezImageV=1makebzImageV=1**編譯好的內(nèi)核位于arch/<cpu>/boot/目錄下**5、編譯內(nèi)核模塊: makemodules6、安裝內(nèi)核模塊 makemodules_install7、安裝內(nèi)核 makeinstall8、生成啟動 sudo
mkinitramfs
-o
/boot/initrd.img-2.6.3
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國采鹽行業(yè)市場運營狀況及發(fā)展趨勢分析報告
- 2025-2030年中國酒店用品行業(yè)運行態(tài)勢及發(fā)展前景分析報告
- 2025-2030年中國過硫酸鹽行業(yè)運行狀況及發(fā)展前景分析報告
- 2025-2030年中國輕質(zhì)碳酸鈣行業(yè)競爭態(tài)勢與營銷策略研究報告
- 2025-2030年中國車輛專用照明及電氣信號設備制造市場十三五規(guī)劃與發(fā)展策略分析報告
- 2025-2030年中國螺絲刀行業(yè)運行狀況及前景趨勢分析報告
- 2025-2030年中國船舶租賃市場運行現(xiàn)狀及發(fā)展趨勢預測報告
- 2025-2030年中國膨化食品市場運營狀況與發(fā)展策略分析報告
- 2025-2030年中國紙漿產(chǎn)業(yè)運行狀況與前景趨勢分析報告
- 2025-2030年中國糧食烘干機械行業(yè)運行現(xiàn)狀及發(fā)展前景預測報告
- 醫(yī)院CT機房裝飾改造工程施工組織設計
- 基坑監(jiān)測總結(jié)報告
- 2024年華師大版九年級數(shù)學下冊全冊教案
- 合肥市廬陽區(qū)雙崗街道社區(qū)工作者招聘考試試題及答案2024
- JBT 106-2024 閥門的標志和涂裝(正式版)
- 煤礦技術員必須會的知識
- (高清版)JTGT 3650-01-2022 公路橋梁施工監(jiān)控技術規(guī)程
- 2024年黑龍江建筑職業(yè)技術學院單招職業(yè)適應性測試題庫全面
- 北京市2024小升初數(shù)學模擬試卷一
- 一年級口算題100以內(nèi)比大小
- 《提案與方案優(yōu)化設計》課件-第一部分 常見戶型問題解析及平面布局優(yōu)化
評論
0/150
提交評論