Linux五步構(gòu)建內(nèi)核樹
0. 系統(tǒng)自帶的內(nèi)核樹
有時,安裝的系統(tǒng)已經(jīng)自帶了Linux內(nèi)核樹,足夠用來編譯驅(qū)動程序了。
自帶的內(nèi)核樹通常位于
/lib/modules/<系統(tǒng)內(nèi)核版本>/build
其中,系統(tǒng)內(nèi)核版本可以用uname -r來查看
$ uname -r 5.11.0-41-generic
不過自帶的內(nèi)核樹似乎不完整,所以建議按照下面的方法編譯一個完整的內(nèi)核樹。
1. 環(huán)境配置
第一步
初次配置內(nèi)核樹要先安裝一些必要的環(huán)境
sudo apt-get build-dep linux linux-image-$(uname -r)
(如果報錯Error :: You must put some ‘source‘ URIs in your sources.list,請參照這里)
第二步
除了上面的環(huán)境之外,還要安裝這些
sudo apt-get install libncurses-dev gawk flex bison openssl libssl-dev dkms libelf-dev libudev-dev libpci-dev libiberty-dev autoconf dwarves
2. 下載源碼
sudo apt-get source linux-image-unsigned-$(uname -r)
這一步結(jié)束之后,會多出三個文件,
linux-hwe-5.11_5.11.0-41.45~20.04.1.diff.gz linux-hwe-5.11_5.11.0-41.45~20.04.1.dsc linux-hwe-5.11_5.11.0.orig.tar.gz
以及一個內(nèi)核源碼所在的文件夾
linux-hwe-5.11-5.11.0
(注:文件名稱根據(jù)不同的系統(tǒng)版本會有所不同)
3. 構(gòu)建準備
(注:任何時候,運行命令時遇見了permission denied,只需要在命令開頭加上sudo后重新運行即可)
進入linux-hwe-5.11-5.11.0文件夾,輸入
make menuconfig
稍微加載后,會進入這個頁面

這里什么都不用修改,直接關(guān)閉界面即可(方向鍵選擇Exit然后回車,或者連續(xù)按兩下Esc就能退出),原因見本章節(jié)末。
然后,會顯示這個對話框

藍色框選中Yes后,按下回車鍵退出即可。
這樣會在當(dāng)前目錄下生成一個.config文件(輸入ls -a就能找到這個文件),保證稍后的make能夠順利執(zhí)行。
4. 構(gòu)建內(nèi)核
輸入下面的命令開始構(gòu)建(如遇見permission denied,在命令開頭加上sudo后重新運行即可)
make
這里要狠狠地等一會兒,一般要一到數(shù)個小時。可以通過-j <最大并發(fā)任務(wù)數(shù)>命令,使用并發(fā)來提速。最大并發(fā)任務(wù)數(shù)一般可以是CPU數(shù)量的兩倍。
(注:通過使用make help進行查閱可以發(fā)現(xiàn),在輸入make時,會自動執(zhí)行 1)make vmlinux(構(gòu)建原始內(nèi)核) 2)make bzImage(構(gòu)建壓縮的內(nèi)核)和 3) make modules(單獨構(gòu)建模塊化的驅(qū)動)這三個動作)
5. 安裝模塊
最后,把模塊安裝到/lib/modules/$(uname -r)目錄
sudo make modules_install
總結(jié)
到此這篇關(guān)于Linux五步構(gòu)建內(nèi)核樹的文章就介紹到這了,更多相關(guān)Linux內(nèi)核樹內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
CentOs 7.*中配置安裝phpMyAdmin的完整步驟記錄
phpMyAdmin是一個以PHP為基礎(chǔ),以Web-Base方式架構(gòu)在網(wǎng)站主機上的MySQL的資料庫管理工具。下面這篇文章主要給大家介紹了關(guān)于CentOs 7.*中配置安裝phpMyAdmin的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧2018-07-07

