這篇文章主要為大家展示了“怎么編譯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
。該命令將打開一個配置工具(圖 1),它可以讓你遍歷每個可用模塊,然后啟用或者禁用你需要或者不需要的模塊。
圖 1: 運行中的 make menuconfig
很有可能你會禁用掉內核中的一個重要部分,所以在 menuconfig
期間小心地一步步進行。如果你對某個選項不確定,不要去管它?;蛘吒玫姆椒ㄊ鞘褂梦覀兛截惖漠斍斑\行的內核的配置文件(因為我們知道它可以工作)。一旦你已經遍歷了整個配置列表(它非常長),你就準備好開始編譯了。
現在是時候去實際地編譯內核了。***步是使用 make
命令去編譯。調用 make
命令然后回答必要的問題(圖 2)。這些問題取決于你將升級的現有內核以及升級后的內核。相信我,將會有非常多的問題要回答,因此你得預留大量的時間。
圖 2: 回答 make
命令的問題
回答了長篇累牘的問題之后,你就可以用如下的命令安裝那些之前啟用的模塊:
make modules_install
又來了,這個命令將耗費一些時間,所以要么坐下來看著編譯輸出,或者去做些其他事(因為編譯期間不需要你的輸入)??赡艿那闆r是,你想要去進行別的任務(除非你真的喜歡看著終端界面上飛舞而過的輸出)。
現在我們使用這個命令來安裝內核:
sudo make install
又一次,另一個將要耗費大量可觀時間的命令。事實上,make install
命令將比 make modules_install
命令花費更多的時間。去享用午餐,配置一個路由器,將 Linux 安裝在一些服務器上,或者小睡一會吧。
一旦 make install
命令完成了,就是時候將內核啟用來作為引導。使用這個命令來實現:
sudo update-initramfs -c -k 4.17-rc2
當然,你需要將上述內核版本號替換成你編譯完的。當命令執行完畢后,使用如下命令來更新 grub:
sudo update-grub
現在你可以重啟系統并且選擇新安裝的內核了。
以上是“怎么編譯Linux內核”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。