Ubuntu 20.04 server 編譯Linux內核linux
虛擬機軟件:VirtualBox
遠程shell工具:Xshell 6(Free for School)
shell
1、新建虛擬機的時候虛擬硬盤大小我給了65Gubuntu
2、而後開始安裝Ubuntu 20.04 server服務器
-
選擇語言,回車
網絡 -
done
工具 -
根據你的網絡狀況,若是是網線插好,有DHCP,系統就會自動默認爲DHCP,並把已經獲取到的IP顯示到對應的網卡上。使用DHCP就直接光標選擇done,回車。
flex -
設置代理服務器,通常不須要,默認爲空,選擇Done,回車。
ui -
設置安裝軟件、更新源,默認爲ubuntu的國外服務器, 我已經改爲阿里雲的更新源(http://mirrors.aliyun.com/ubuntu),選擇Done,回車
阿里雲 -
磁盤分區,由於擔憂編譯Linux出現error:No space left on device,這裏我決定手動分區。
選擇custom storage layout,done
es5 -
光標移動到未分區的磁盤處,回車,進入下級菜單,選擇Add GPT Partition 回車,添加分區
-
如圖,輸入size,格式默認爲ext4,Mount處選擇該分區的掛載點,這裏先選擇/boot,以前就是安裝Ubuntu的時候直接使用自動分區,/boot目錄空間過小致使編譯失敗,此次設置爲10G。
接下來根目錄(我通常剩多少給多少)
-
分好區,看一下分區狀況,沒問題就done。
-
通常格式化前都會一個警告提醒你該操做是不可逆的,直接continue
-
設置用戶密碼
-
是否安裝SSH,勾選,done,用於後面創建遠程鏈接
-
系統服務安裝清單,直接done
-
安裝模式,耐心等待便可
-
安裝完成,reboot now
-
重啓登錄系統後,記得設置下root密碼。
3、使用遠程 Shell 工具鏈接虛擬機
- 輸入ip addr 查詢虛擬機ip地址
ip addr
- Xshell新建會話,輸入虛擬機ip地址,創建連接
4、下載源碼包
在https://www.kernel.org/選擇須要的版本,複製下載地址,使用wget命令下載,這裏下載了Linux-5.8.14
wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.8.14.tar.xz
5、解壓源碼包
這裏使用tar命令,解壓到指定文件夾 /usr/src
sudo tar xvJf linux-5.8.14.tar.xz -C /usr/src
六. 編譯 Linux 內核
- 輸入sudo su進入root權限,終端提示輸入密碼時輸入root用戶的密碼,即一.16裏設置的
sudo su
- 下載一些必要的依賴
apt-get install gcc make libncurses5-dev openssl libssl-dev apt-get install build-essential apt-get install pkg-config apt-get install libc6-dev apt-get install bison apt-get install flex apt-get install libelf-dev
- 開始編譯
cd /usr/src/linux-5.8.14 make menuconfig
接下來會出現一個圖形界面(忘了截圖),按照默認配置來就好,直接選擇exit,回車,回車
time make -j8 make modules_install; make install
接下來這3步分步進行,須要好久,用 make -jn 能夠編譯加速,其中 n 值通常爲 2,4 或 8(多給虛擬機分配一些 CPU 資源),time命令是爲了計時 而後靜靜等待編譯完成。