Linux内核编程02:Kbuild子系统
Kbuild 即kernel build,是用來編譯Linux內(nèi)核的一套Makefile。Kbuild基于GNU make設(shè)計(jì),但是又對Makefile進(jìn)行了各種擴(kuò)充:
-
基于圖形界面的菜單式配置
-
各種預(yù)定義目標(biāo)和變量:menuconfig、obj-y
-
提供各種跨平臺(tái)工具和編譯
-
遞歸式Makefile
Linux內(nèi)核可以靈活自由的高度裁剪和定制,其底層技術(shù)支撐除了模塊機(jī)制之外,還有一項(xiàng)技術(shù)就是:可以使用Kbuild編譯系統(tǒng)來方便地進(jìn)行裁剪、配置、編譯和安裝。內(nèi)核中的Kbuild子系統(tǒng)隨著內(nèi)核版本不斷更新迭代,功能也越來越強(qiáng)大,也越來越受歡迎,被越來越多的開源軟件借鑒和使用,比如U-boot、Busybox、Buildroot、Xen等,都在使用Kbuild這種編譯系統(tǒng)來管理和維護(hù)。總結(jié)起來,Kbuild具有如下優(yōu)勢:
-
高度靈活可定制:編譯參數(shù)、編譯模塊選項(xiàng)都可以定制
-
使用方便:內(nèi)核裁剪、添加模塊、刪除模塊操作簡單
-
配置簡單:可交互的圖形菜單
學(xué)習(xí)Kbuild本期課程預(yù)期會(huì)有哪些收獲?
-
深刻理解Makefile是如何編譯Linux內(nèi)核、U-boot等大型工程的
-
遇到編譯錯(cuò)誤時(shí),提供更多的視角去分析
-
提供了一張地圖,破解Linux內(nèi)核的“黑暗森林”
-
有助于理解內(nèi)核啟動(dòng)流程、組織架構(gòu)
-
掌握Kbuild工作原理,對學(xué)習(xí)其他開源軟件有幫助
本期課程主要內(nèi)容:
如何使用Kbuild Makefile:
-
裁剪、配置內(nèi)核
-
編譯內(nèi)核
-
往內(nèi)核中添加新的模塊
Kbuild工作流程分析:
-
內(nèi)核鏡像如何生成?
-
內(nèi)核模塊編譯
-
內(nèi)核模塊安裝
-
內(nèi)核頭文件安裝
-
內(nèi)核源碼中的空頭文件探秘
學(xué)習(xí)須知:
學(xué)習(xí)本課程前,需要具備Makefile基礎(chǔ)知識(shí),知道程序編譯、鏈接的基本原理。如果沒有此基礎(chǔ),建議先學(xué)習(xí)之前的《Linux三劍客》基礎(chǔ)課程:Makefile工程實(shí)踐:從零開始一步一步寫項(xiàng)目的Makefile,學(xué)習(xí)效果會(huì)更好。
總結(jié)
以上是生活随笔為你收集整理的Linux内核编程02:Kbuild子系统的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 分享自己针对Automation做的两个
- 下一篇: linux 其他常用命令