本章主要講解實際操作步驟,具體理論知識可以自行百度
linux內核官網下載:
https://cdn.kernel.org/pub/linux/kernel/ (如圖)
根據官網發布的信息分析,目前最新的是2020-12-27出的5.11版本,但不是穩定版本,穩點版本是5.10.3和5.9.16;根據圖上可以看出,5.9.16已經不支持了(停止更新了),目前最新並且穩定的只有5.10.3。
本章-博主將下載linux-4.19.163進行操作編譯(不建議直接使用最新的,穩定且應用廣泛的應該是最適合的)
這里我使用的是騰訊雲服務器:Centos7.6(也可以使用VM開一台虛擬機,磁盤最好是40G以上空間 [ 0.0內核越來越高,空間占比也越來越重 ! ] )
進入系統后,先下載4.19.163的源碼包
#wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.19.163.tar.xz
下載完畢后,將包解壓到/usr/src/下(這里解壓到哪里都行,個人習慣解壓到此位置)
#tar xvf linux-4.19.163.tar.xz -C /usr/src/
cd到解壓目錄下,進入解壓出的目錄里
#cd /usr/src/linux-4.19.163
圖形化界面查看編譯內容,可調試
# make menuconfig
這些都是內核中的模塊,我們隨便選一項進行解析:選Device Drivers(設備驅動)
會看到圖上
- 帶*號的行,是選中的意識,也就是,我們將把這個驅動模塊編譯到內核中去
- 帶M號的意識是,它將以一個模塊方式存在
- 為空[ ]的,意識是沒有使用此功能
(實際在一些做嵌入式系統工作中,會根據需要,選擇很少的功能,選的越少,啟動越快,也會相對穩定)
這里我們不做改動,默認即可,退出后,在當前目錄下,開始編譯
#make && make bzImage (時間較長可以,根據自己系統配置情況可以選用 # make -j4) #編譯安裝
#make modules_install #加載模塊
#make install #最后一步安裝kernel
這里完成后,會自動幫我們修改好grub文件信息,不用自己再做修改了
#reboot
重啟機器即可
================================================================
如需制作RPM內核安裝包,就不需要運行以上Make步驟,解壓后進入目錄
# make rpm (時間較長)
完成后,rpm包生成位置(一般會在/root/下):
# cd /root/rpmbuild/
不是本章內容,回憶補充:工作中需要快速部署,並且做成rpm包,使用fpm 來做成rpm 包
## fpm -s dir -t rpm -n 包名 -v 1.16.1 -d '部署需要的依賴包,以“,”號隔開添入' -f --post-install 配置腳本 啟動腳本