這篇文章主要為大家展示了“怎么編譯Linux內(nèi)核”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“怎么編譯Linux內(nèi)核”這篇文章吧。
創(chuàng)新互聯(lián)建站是專業(yè)的伽師網(wǎng)站建設(shè)公司,伽師接單;提供成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、外貿(mào)網(wǎng)站建設(shè),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行伽師網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
我們要做的***件事是下載內(nèi)核源碼。在 Kernel.org 找到你要下載的所需內(nèi)核的 URL。找到 URL 之后,使用如下命令(我以 4.17 RC2
內(nèi)核為例) 來(lái)下載源碼文件:
wget https://git.kernel.org/torvalds/t/linux-4.17-rc2.tar.gz
在下載期間,有一些事需要去考慮。
為了編譯內(nèi)核,我們首先得安裝一些需要的環(huán)境。這可以通過(guò)一個(gè)命令來(lái)完成:
sudo apt-get install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc flex libelf-dev bison
務(wù)必注意:你將需要至少 128GB 的本地可用磁盤(pán)空間來(lái)完成內(nèi)核的編譯過(guò)程。因此你必須確保有足夠的空間。
在新下載的內(nèi)核所在的文件夾下,使用該命令來(lái)解壓內(nèi)核:
tar xvzf linux-4.17-rc2.tar.gz
使用命令 cd linux-4.17-rc2
進(jìn)入新生成的文件夾。
在正式編譯內(nèi)核之前,我們首先必須配置需要包含哪些模塊。實(shí)際上,有一些非常簡(jiǎn)單的方式來(lái)配置。使用一個(gè)命令,你能拷貝當(dāng)前內(nèi)核的配置文件,然后使用可靠的 menuconfig
命令來(lái)做任何必要的更改。使用如下命令來(lái)完成:
cp /boot/config-$(uname -r) .config
現(xiàn)在你有一個(gè)配置文件了,輸入命令 make menuconfig
。該命令將打開(kāi)一個(gè)配置工具(圖 1),它可以讓你遍歷每個(gè)可用模塊,然后啟用或者禁用你需要或者不需要的模塊。
圖 1: 運(yùn)行中的 make menuconfig
很有可能你會(huì)禁用掉內(nèi)核中的一個(gè)重要部分,所以在 menuconfig
期間小心地一步步進(jìn)行。如果你對(duì)某個(gè)選項(xiàng)不確定,不要去管它?;蛘吒玫姆椒ㄊ鞘褂梦覀兛截惖漠?dāng)前運(yùn)行的內(nèi)核的配置文件(因?yàn)槲覀冎浪梢怨ぷ鳎R坏┠阋呀?jīng)遍歷了整個(gè)配置列表(它非常長(zhǎng)),你就準(zhǔn)備好開(kāi)始編譯了。
現(xiàn)在是時(shí)候去實(shí)際地編譯內(nèi)核了。***步是使用 make
命令去編譯。調(diào)用 make
命令然后回答必要的問(wèn)題(圖 2)。這些問(wèn)題取決于你將升級(jí)的現(xiàn)有內(nèi)核以及升級(jí)后的內(nèi)核。相信我,將會(huì)有非常多的問(wèn)題要回答,因此你得預(yù)留大量的時(shí)間。
圖 2: 回答 make
命令的問(wèn)題
回答了長(zhǎng)篇累牘的問(wèn)題之后,你就可以用如下的命令安裝那些之前啟用的模塊:
make modules_install
又來(lái)了,這個(gè)命令將耗費(fèi)一些時(shí)間,所以要么坐下來(lái)看著編譯輸出,或者去做些其他事(因?yàn)榫幾g期間不需要你的輸入)??赡艿那闆r是,你想要去進(jìn)行別的任務(wù)(除非你真的喜歡看著終端界面上飛舞而過(guò)的輸出)。
現(xiàn)在我們使用這個(gè)命令來(lái)安裝內(nèi)核:
sudo make install
又一次,另一個(gè)將要耗費(fèi)大量可觀時(shí)間的命令。事實(shí)上,make install
命令將比 make modules_install
命令花費(fèi)更多的時(shí)間。去享用午餐,配置一個(gè)路由器,將 Linux 安裝在一些服務(wù)器上,或者小睡一會(huì)吧。
一旦 make install
命令完成了,就是時(shí)候?qū)?nèi)核啟用來(lái)作為引導(dǎo)。使用這個(gè)命令來(lái)實(shí)現(xiàn):
sudo update-initramfs -c -k 4.17-rc2
當(dāng)然,你需要將上述內(nèi)核版本號(hào)替換成你編譯完的。當(dāng)命令執(zhí)行完畢后,使用如下命令來(lái)更新 grub:
sudo update-grub
現(xiàn)在你可以重啟系統(tǒng)并且選擇新安裝的內(nèi)核了。
以上是“怎么編譯Linux內(nèi)核”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
當(dāng)前文章:怎么編譯Linux內(nèi)核
本文來(lái)源:http://jinyejixie.com/article44/peoeee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、網(wǎng)站設(shè)計(jì)、網(wǎng)站設(shè)計(jì)公司、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站制作、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)