Linux源码手机,Linux操作系统源代码详细分析
對于內核的進一步討論將超出本章的既定范圍,因此在這個問題上我們到此為止。然而本書中也包括了其他必需的內核代碼。在讀完第4章和第5章之后,也許你會希望再次仔細研讀一下這部分內容。有關這個問題的兩個文件是include/linux/module.h(從15529行開始)和/kernel/module.c(從24476行開始)。和sys_create_module(24586行)、sys_init_module(24637行)、sys_delete_module(24860行)和sys_query_module(25148行)四個函數需要特別注意一樣,struct module(15581行)也要特別引起注意。這些函數實現了modprobe及insmod、lsmod和rmmod所使用的系統調用,以完成模塊的裝載、定位和卸載。
內核觸發直接回調內核程序的現象看起來很令人奇怪。但是,實際上進行的工作不止于此。例如,modprobe必須實際訪問磁盤以搜尋要裝載的模塊。而且更為重要的一點是,這種方法賦予root對內核模塊系統更多的控制能力。這主要是因為root也可以運行modprobe及相關程序。因此,root既可以手工裝載、查詢、卸載模塊,也可以由內核自動完成。
2.3 配置與編譯內核
你可能僅僅研讀、欣賞而并不修改Linux內核源代碼。但是,更普遍的情況是,用戶有強烈的愿望去改進內核代碼并完成相應的測試,這樣我們就需要知道如何重建內核。本節就是要告訴你如何實現這一點,而最終則歸結于如何把你所做的修改發行給別人,以使得每個人都能從你的工作中受益。
2.3.1 配置內核
編譯內核的第一步就是配置內核,這是增加或者減少對內核特性的支持及修改內核的一些特性的必要步驟。例如,你可以要求內核為自己的聲卡指定一個不同的DMA通道。如果內核配置和你的需要相同,那么你可以直接跳過本節,否則請繼續閱讀以下內容。
為了完成內核的配置,請先切換到root用戶,然后轉入如下內核源程序目錄:
cd /usr/src/linux
接著敲入如下命令組:
make config
make menuconfig
make xconfig
這三條命令都可以用來配置內核,但它們發揮作用的方式各不相同:
* make config—三種方法中最簡單也是最枯燥的一種。但是最基本的一點是,它可以適應任何情況。通過為每一個內核支持的特性向用戶提問的方式來決定在內核中需要包含哪些特性。對于大多數問題,你只要回答y(yes,把該特性編譯進內核中)、m(作為模塊編譯)或者n(no,根本不對該特性提供支持)。在決定之前用戶應該考慮清楚,因為這個過程是不可逆的。如果你在該過程中犯了錯誤,就只能按Ctrl+C退出。你也可以敲入?以獲取幫助。圖2-1顯示了這種方法在X終端上運行的情況。
總結
以上是生活随笔為你收集整理的Linux源码手机,Linux操作系统源代码详细分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微粒贷欠款5万多 无力偿还怎么解决
- 下一篇: 美团月付怎么开通 不喜欢也可以选关闭