1. 下載Kernel的原始碼
主要可以透過兩個方法下載原始碼 apt-get或是git下載。
1.1 apt-get
在用apt-get下載kernel source code之前,需要將下載套件程式碼這個功能打開。使用者可至Software Updater底下的Settings啟用這個功能。以Ubuntu 18.04為例,步驟如下:
選擇Ubuntu Software頁面,並且啟用Source code選項。最後按下Close鍵。 |
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了!
參考
文章標籤
全站熱搜