DannyWu帶你學習Linux 內(nèi)核編譯,高效不走坑

前言

  • Linux操作系統(tǒng)最重要的部分莫過于內(nèi)核了,它負責管理系統(tǒng)的進程、內(nèi)存、驅(qū)動程序、文件系統(tǒng)和網(wǎng)絡系統(tǒng),系統(tǒng)的性能和穩(wěn)定性也由內(nèi)核來決定。由于Linux是開源的,因此Danny就在想,能不能自己將Linux內(nèi)核源碼進行編譯,根據(jù)自己的需求打造一個更高效、更穩(wěn)定的Linux內(nèi)核呢?下面Danny以Ubuntu為例帶你學習如何編譯Linux內(nèi)核。

1.下載Linux內(nèi)核源碼壓縮包

  • 首先去Linux內(nèi)核官網(wǎng)(http://www.kernel.org)下載Linux內(nèi)核的壓縮文件。

2.解壓內(nèi)核源碼并復制到/usr/src下

  • 在此說明一下,一般都將內(nèi)核源碼放到/usr/src下,并創(chuàng)建鏈接linux,類似快捷方式,便于切換到內(nèi)核路徑下。**

  • 我下載的內(nèi)核版本是:linux-4.19.1.tar.xz;接著將內(nèi)核源碼壓縮包解壓并復制到/usr/src路徑下,此時可能需要1-2分鐘時間;解壓時注意一下你的內(nèi)核源碼所在的路徑,例如我的是在虛擬機的共享文件夾下;之后切換到/usr/src路徑下,再創(chuàng)建一個名為linux的鏈接:**

root@dannylinux:/# tar xf /mnt/hgfs/Desktop/ubuntu/linux-4.19.1.tar.xz -C /usr/src/
root@dannylinux:/usr/src# ln -sv linux-4.19.1 linux
  • 此時,輸入:
root@dannylinux:/usr/src# ls
  • 就可以看到生成了一個名為linux-4.19.1的文件夾和一個名為linux的鏈接。

3.安裝編譯環(huán)境

  • 由于Danny在編譯Linux內(nèi)核時遇到了各種坑,為了讓大家少走坑,我們先安裝編譯時需要的依賴環(huán)境:
root@dannyLinux:/# sudo apt-get install gcc
root@dannyLinux:/# sudo apt-get install make 
root@dannyLinux:/# sudo apt-get install ncurses-dev
root@dannyLinux:/# sudo apt-get install bison
root@dannylinux:/# sudo apt-get install flex
root@dannylinux:/# sudo apt-get install libssl-dev
root@dannyLinux:/# sudo apt-get install libelf-dev

4.配置

root@dannylinux:/usr/src/linux# make menuconfig`
  • 使用默認配置,save 后 exit


    image
image
image
image
  • 注意:在我踩過深坑之后,才知道,Makefile是有問題的,要修改595行在開頭加一橫杠“-”,不然你會浪費n多小時。
image

5.編譯(4線程編譯)

  • 編譯時間大概在兩個小時左右,根據(jù)你的電腦配置來決定。**
root@dannylinux:/usr/src/linux# make -j 4
  • 編譯好之后,我們將進行下一步安裝內(nèi)核模塊。

6.安裝內(nèi)核模塊

root@dannylinux:/usr/src/linux# sudo make modules_install
  • 此步完成之后,在/lib/modules/路徑下就會生成一個以版本號命名的一個內(nèi)核模塊了,快大功告成了,繼續(xù)安裝內(nèi)核。

7.安裝內(nèi)核

root@dannylinux:/usr/src/linux#  sudo make install
  • 安裝完內(nèi)核之后,會在/boot/路徑下生成一個內(nèi)核文件vmlinuz-4.19.1和其他幾個文件。

  • 到此Linux內(nèi)核就編譯完了,可以打開grub.cfg配置文件看一下,會有一個新的版本:

root@dannylinux:/usr/src/linux# vim /boot/grub/grub.conf
  • 別著急,你以為重啟就好了吧(如果是安在物理機上重啟是可以了),但是如果安裝在虛擬機上,要將內(nèi)存調(diào)至4G才可以,不然會報內(nèi)存不足的錯誤。

  • 然后重啟吧,進入啟動項會提示你選擇內(nèi)核版本,這時候你選擇ubuntu4.19.1就可以使用你新編譯的Lniux內(nèi)核了!

原創(chuàng)申明:本文為DannyWu原創(chuàng),轉(zhuǎn)載務必注明本文鏈接,否則視為侵權(quán)!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容