1. 下載Kernel的原始碼

主要可以透過兩個方法下載原始碼 apt-get或是git下載。 

1.1 apt-get

在用apt-get下載kernel source code之前,需要將下載套件程式碼這個功能打開。使用者可至Software Updater底下的Settings啟用這個功能。以Ubuntu 18.04為例,步驟如下:
開啟Software Updater

開啟Software Updater。


按下Settings...按鍵

按下Settings...按鍵。


選擇Ubuntu Software頁面,並且啟用Source code選項。最後按下Close鍵

選擇Ubuntu Software頁面,並且啟用Source code選項。最後按下Close鍵。


Ubuntu會跳出一詢問視窗,按下Reload按鍵重新獲取套件相關的訊息

Ubuntu會跳出一詢問視窗,按下Reload按鍵重新獲取套件相關的訊息。


如果之前已經執行過以上的步驟則可以跳過。

執行以下的指令下載kernel的原始碼:

$ apt-get source linux-image-unsigned-$(uname -r)


1.2 使用git下載

安裝git:

$ sudo apt-get install git

根據自己本身的Ubuntu版本去下載相對應的kernel:

$ git clone git://kernel.ubuntu.com/ubuntu/ubuntu-<code name>.git

code name請替換成你想編譯的ubuntu。比如說18.04就是:

$ git clone git://kernel.ubuntu.com/ubuntu/ubuntu-bionic.git


2. 編譯以及安裝

2.1 安裝必要的套件

執行以下命令安裝必要套件:

$ sudo apt-get build-dep linux linux-image-$(uname -r)

安裝其他額外的套件:

$ sudo apt-get install libncurses-dev gawk flex bison openssl libssl-dev dkms libelf-dev libudev-dev libpci-dev libiberty-dev autoconf


2.2 修改config

如果你想要修改config的話,請先切換目錄至源代碼下載的位置。然後執行以下的命令:

$ fakeroot debian/rules clean
$ fakeroot debian/rules editconfigs

2.3 編譯

先切換目錄至源代碼下載的位置,再執行以下命令:

fakeroot debian/rules clean
fakeroot debian/rules binary


2.4 安裝

編譯完成後會在上層目錄產生deb檔。至上層目錄執行以下命令安裝編譯出來的kernel。其中version請替換成你目前編譯的kernel版本。

$ cd ..
$ sudo dpkg -i linux*<version>*.deb

接下來重新開機就可以測試你編譯出來的kernel了!



參考



arrow
arrow

    阿轟師 發表在 痞客邦 留言(0) 人氣()