首頁 > 軟體

Ubuntu 14.04.1 LTS上編譯安裝新的kernel

2020-06-16 18:03:04

1、kernel設定

這裡就不想自己一個一個地配了,故直接將當前Ubuntu 14.04.1 LTS的kernel設定copy過來用。
先cd到欲編譯的kernel source code的根目錄linux-3.15.8,然後copy當前ubuntu系統中的核心設定為新的kernel的核心設定
cp /boot/config-3.13.0-32-generic  ./.config
sudo make oldconfig

呵呵,結果發現沒有偷太多的懶,還是蹦出來一大堆新的設定選項出來讓我選了,估計是新的kernel版本確實是高了不少的原因。不過基本都選n就完了,因為老的kernel設定項已經夠讓我的機器工作了。

2、編譯和安裝

sudo make                                -----不加任何引數直接make,就是make all,它包含make modules了。
sudo make modules_install  -----安裝modules到/lib/modules下
sudo make install                    -----安裝bzimage到/boot下,並且會它會根據/boot下的kernel版本資訊自動將新安裝的kernel的啟動項加到/boot/grub/grub.cfg中。
 至此,編譯安裝就完成了,你只需要restart下你的電腦 就會發現啟動時Ubuntu有兩個版本的kernel可選了。盡情享受吧!

重新啟動後,選擇新版本的kernel,然後檢視kernel版本資訊,cat /proc/version
Linux version 3.15.8 (root@jack) (gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) ) #1 SMP Mon Aug 4 01:51:38 CST 2014
瞧,當前kernel是新編譯安裝的了吧。
 

3、刪除kernel啟動項

如果要在GRUB啟動項中刪除之前自己編譯安裝的kernel版本,則只需要將/lib/modules和/boot目錄下的安裝時copy過來的相關東西刪除。然後再
呼叫sudo update-grub,它會自動刪除/boot/grub/grub.cfg中對應的kernel版本的啟動項。

最後一點小注:

sudo make install

此命令會把編譯資料夾裡面的“arch/x86/boot/bzImage”檔案複製到“/boot”,同時還會複製 config 和 System.map 檔案,最終在“/boot”會多出如檔案:

    System.map-3.15.8
    vmlinuz-3.15.8
    initrd.img-3.15.8
    config-3.15.8

U盤安裝Ubuntu 14.10 http://www.linuxidc.com/Linux/2014-10/108402.htm

Ubuntu 14.10 正式發布下載 http://www.linuxidc.com/Linux/2014-10/108363.htm

Ubuntu 14.04 LTS 如何升級到 Ubuntu 14.10  http://www.linuxidc.com/Linux/2014-10/108381.htm

Ubuntu 13.10 (Saucy Salamander) 核心已升級至 Linux Kernel 3.10 RC5 http://www.linuxidc.com/Linux/2013-06/86110.htm

Linux Kernel 3.4.62 LTS 現已經提供下載 http://www.linuxidc.com/Linux/2013-09/90368.htm

如何在Ubuntu 13.10上安裝Linux核心 3.12 http://www.linuxidc.com/Linux/2013-11/92930.htm

如何在Ubuntu 14.10,Ubuntu 14.04及其衍生版本安裝 3.16.7 CKT2核心 http://www.linuxidc.com/Linux/2014-12/110189.htm


IT145.com E-mail:sddin#qq.com