linux如何編譯內核

linux如何編譯內核

linux如何編譯內核

下載內核

我們要做的第一件事是下載內核源碼。在?Kernel.org?找到你要下載的所需內核的 URL。找到 URL 之后,使用如下命令(我以?4.17 RC2?內核為例) 來下載源碼文件:

wget?https://git.kernel.org/torvalds/t/linux-4.17-rc2.tar.gz

安裝需要的環境

為了編譯內核,我們首先得安裝一些需要的環境。這可以通過一個命令來完成

sudo?apt-get?install?git?fakeroot?build-essential?ncurses-dev?xz-utils?libssl-dev?bc?flex?libelf-dev?bison

務必注意:你將需要至少 128GB 的本地可用磁盤空間來完成內核的編譯過程。因此你必須確保有足夠的空間。

解壓源碼

在新下載的內核所在的文件夾下,使用該命令來解壓內核:

tar?xvzf?linux-4.17-rc2.tar.gz

使用命令?cd linux-4.17-rc2?進入新生成的文件夾。

配置內核

在正式編譯內核之前,我們首先必須配置需要包含哪些模塊。實際上,有一些非常簡單的方式來配置。使用一個命令,你能拷貝當前內核的配置文件,然后使用可靠的?menuconfig?命令來做任何必要的更改。使用如下命令來完成:

cp?/boot/config-$(uname?-r)?.config

現在你有一個配置文件了,輸入命令?make menuconfig。該命令將打開一個配置工具,它可以讓你遍歷每個可用模塊,然后啟用或者禁用你需要或者不需要的模塊。

很有可能你會禁用掉內核中的一個重要部分,所以在?menuconfig?期間小心地一步步進行。如果你對某個選項不確定,不要去管它。或者更好的方法是使用我們拷貝的當前運行的內核的配置文件(因為我們知道它可以工作)。一旦你已經遍歷了整個配置列表(它非常長),你就準備好開始編譯了。

編譯和安裝

現在是時候去實際地編譯內核了。第一步是使用?make?命令去編譯。調用?make?命令然后回答必要的問題。這些問題取決于你將升級的現有內核以及升級后的內核。

回答了長篇累牘的問題之后,你就可以用如下的命令安裝那些之前啟用的模塊:

make?modules_install

這個命令將耗費一些時間。

現在我們使用這個命令來安裝內核:

sudo?make?install

又一次,另一個將要耗費大量可觀時間的命令。事實上,make install?命令將比?make modules_install?命令花費更多的時間。

啟用內核作為引導

一旦?make install?命令完成了,就是時候將內核啟用來作為引導。使用這個命令來實現:

sudo?update-initramfs?-c?-k?4.17-rc2

當然,你需要將上述內核版本號替換成你編譯完的。當命令執行完畢后,使用如下命令來更新 grub:

sudo?update-grub

現在你可以重啟系統并且選擇新安裝的內核了。

推薦:linux使用教程

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊9 分享