?一、虛擬機的準備
1.下載Ubuntu鏡像
Enterprise Open Source and Linux | Ubuntu
在最左邊Ubuntu Desktop處點22.04LTS下載iso文件
2.在VMware上創(chuàng)建新的虛擬機
Ubuntu 20.04 虛擬機安裝教程_柯基@的博客-CSDN博客_虛擬機安裝ubuntu20.04
特別注意: 在"指定磁盤容量"這一步把"最大磁盤大小"設(shè)置為50G
如果忘記了或者已經(jīng)設(shè)為默認的20G, 后續(xù)編譯可能出現(xiàn)文件系統(tǒng)空間不足的情況
這種情況的解決辦法: 首先在終端中輸入如下命令查看文件系統(tǒng)的空間大小
df -h
?如果提示文件系統(tǒng)空間不足而編譯失敗, 則會有一行的"已用%"為100%(或者百分比最大且容量最大的那一行, 如圖應(yīng)該是/dev/sda3而不是/dev/sr0)。記住這一行的名字。
關(guān)閉虛擬機,在""虛擬機設(shè)置"中,點擊"硬盤",點擊"擴展磁盤容量",設(shè)置為合適的大小.但是這個操作并不能擴展文件系統(tǒng)的大小,需要進一步設(shè)置。
開啟虛擬機,在終端中輸入如下命令安裝分區(qū)管理工具gparted。
sudo apt-get install gparted
再輸入屬下命令啟動gparted
sudo gparted
?在這個頁面中,找到剛才記住的那一行(如果沒記住的話, 就是"文件系統(tǒng)"這一列為"ext4"的這一行). 點擊這一行,右鍵,選擇"調(diào)整大小/移動"
?可以拖動上邊的的條形框或者輸入新大小來擴展
然后再輸入命令查看文件系統(tǒng)的空間,就會發(fā)現(xiàn)不是100%了,這樣就可以重新編譯了
二、下載內(nèi)核和必要的依賴
1.下載內(nèi)核并解壓
The Linux Kernel Archivesd
使用Ubuntu自帶的火狐瀏覽器,點擊最大的黃框下載. 或者找到你需要的版本
下載完后, 將其移動到/home/username/這個路徑下, 將其解壓
tar -xavf linux-5.19.8.tar.xz
2.替換源
?輸入如下命令, 在打開的文本編輯器將所有內(nèi)容刪除.
sudo gedit /etc/apt/sources.list
?在https://mirror.tuna.tsinghua.edu.cn/help/ubuntu/這個網(wǎng)站上找到對應(yīng)版本的鏡像源,將內(nèi)容復(fù)制到文本編輯器中。記得保存
3.下載依賴
逐步輸入如下命令
sudo apt-get update
sudo apt-get install make
sudo apt-get install gcc g++
sudo apt-get install flex
sudo apt-get install bison
sudo apt-get install libncurses-dev
sudo apt-get install build-essential
sudo apt-get install kernel-package
sudo apt-get install libssl-dev
sudo apt-get install libc6-dev
sudo apt-get install bin86
sudo apt-get install qttools5-dev
sudo apt-get install libelf-dev
?三、編譯并安裝內(nèi)核
1.查看當前內(nèi)核版本
uname -r
2.清理之前編譯的結(jié)果
每次重新編譯,都要做這一步再重新開始
sudo make mrproper
sudo make clean
3.內(nèi)核配置
進入剛才解壓的文件夾, 輸入如下命令進入配置
sudo make menuconfig
注意, 如果窗口不夠大, 這個頁面是打不開的, 會報錯, 必須先把窗口調(diào)大! 安裝VMware tools或者在Ubuntu的設(shè)置→顯示器→分辨率中調(diào)大
進入此頁面后可以根據(jù)需要進行修改,這里保持默認,(這里只能用鍵盤操作),Exit然后Yes即可.
然后輸入進一步修改配置(非必須, 但因為每個人配置不同, 跳過有可能編譯失敗)
sudo gedit .config
按Ctrl+F, 搜索?CONFIG_SYSTEM_TRUSTED_KEYS和CONFIG_SYSTEM_REVOCATION_KEYS, 刪除這兩條引號中的內(nèi)容(而不包括引號). 記得保存
4.編譯內(nèi)核
這一步需要一兩個小時甚至更久,完成后最后幾行如果沒有提示有錯誤,就是成功
可以分別編譯
sudo make bzImage -j4 //20min左右
sudo make modules -j4 //2h左右
也可以一步到位?
sudo make -j4
"-j4"是指定4個線程進行編程, 加快速度, 可以改成"-j8"等, 也可以不加文章來源:http://www.zghlxwxcb.cn/news/detail-793376.html
5.安裝
sudo make modules_install
sudo make install //將自動修改GRUB配置文件
6.重啟測試
sudo reboot
uname -r
重啟后, 查看當前內(nèi)核版本, 如更新為下載的新內(nèi)核版本, 成功文章來源地址http://www.zghlxwxcb.cn/news/detail-793376.html
到了這里,關(guān)于ubuntu上編譯Linux內(nèi)核步驟的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!