1. 程式人生 > >ubuntu18.04編譯4.15核心過程

ubuntu18.04編譯4.15核心過程

核心下載地址:Linux kernel

1、將下載好的核心原始碼壓縮包置於ubuntu18.04虛擬機器中(在windows上解壓會導致部分檔案損壞)

2、解壓下載的壓縮包,在/usr/src中 tar -xvf linux-4.15.tar.gz -C /usr/src後 cd /usr/src

3、安裝編譯工具

   sudo apt-get install libncurses5-dev libssl-dev 

   sudo apt-get install build-essential openssl 

   sudo apt-get install zlibc minizip 

   sudo apt-get install libidn11-dev libidn11

4、 輸入cp /boot/config-,然後按下Tab鍵,系統會自動填上該目錄下符合條件的檔名,然後繼續輸入 .config。目的是使用在boot目錄下的原配置檔案。如果/usr/src下有.config檔案,也不要使用,因為/boot/下的配置檔案更新一些。 

5、make mrproper(如果你只是在原編譯版本上修改了.config的少許選項,而希望其他選項保留的話,不要執行這一步,否則你需要從頭開始編譯!!!)

         make mrproper作用是清理原始碼樹,包括過去曾經配置的核心配置檔案“.config”都將被清除。即進行新的編譯工作時將原來老的配置檔案給刪除到,以免影響新的核心編譯,即檢查有無不正確的.o檔案和依賴關係,如果使用剛下載的完整的源程式包即第一次進行編譯,那麼本步可以省略。而如果你多次使用了這些源程式編譯核心,則最好要先執行一下這個命令。

6、make menuconfig 

    圖形介面配置核心配置項,修改配置後儲存

注:如遇到報錯,缺哪個包安裝哪個包

7、make -j? (大約需要3個小時,我的是VMware Workstation下的Ubuntu虛擬機器),該命令會生成核心模組和vmlinuz,initrd.img,Symtem.map檔案。

    注:#make相當於分別執行#make bzImage 和#make modules,由於是本機替換核心,所以無需分開執行。這一步所需的時間較長,為了加快編譯速度,我們可以加上“-j”選項,後面跟的數字是jobsnum ,建議設定為 CPU 核心數 *2,比如在一臺雙核的機器上,完全可以用make -j4,讓make最多允許4個編譯命令同時執行,這樣可以更有效的利用CPU資源,在多核CPU上,適當的進行並行編譯還是可以明顯提高編譯速度的。但並行的任務不宜太多,一般是以CPU的核心數目的兩倍為宜。

8、make modules_install (模組安裝)

9、make install(核心安裝)

10、現在檢查一下/boot目錄是否生成了initrd映象檔案,一般通過上述步驟就會在/boot目錄下生成滿足核心啟動條件的vmlinuz、initrd.img(當然/boot下附帶還有System.map、config),如果/boot下沒有initrd.img,則需要執行cd /boot 後通過mkinitrd -oinitrd.img-2.6.35 2.6.35生成initrd.img

11、reboot 可以去選擇你編譯好的核心