Linux之內核編譯基礎概念
1、Kernel 2、Kernel Object 3、ramdisk
查看kernel版本
uname
管理kernel object工具
lsmod modinfo modprobe insmod rmmod depmod
與ramdisk相關的工具
mkinitrd dracut
啟動流程
POST->boot sequence->bootloader->加載kernel->只讀方式掛載root->init->運行系統初始化腳本->默認運行級別->開啟或者關閉指定服務->啟動終端
升級內核
升級內核可以通過RPM包的方式。那RPM包從哪裏來?自己編譯或者從網上獲取。 這個結論待定!!!!!!!!!!!!!
編譯內核的前提
1、準備好開發環境(開發工具,服務器平臺開發)
2、獲取目標主機硬件設備的相關信息
3、獲取目標主機功能的相關信息,比如文件系統(有些不需要的文件系統可以在編譯的時候不選擇)
4、獲取內核源代碼包:www.kernel.org https://mirrors.edge.kernel.org/pub/linux/
第一步:準備開發環境(可以通過yum grouplist/groupinstall 查看/安裝)
有個*ncurses* 類包需要安裝,這個可以在操作的過程中可能有提示。
第二步(可選) 獲取目標主機硬件設備信息
CPU:
PCI設備
USB設備
硬盤信息
還可以通過hal-device程序去了解硬件信息
第三步 下載對應設備增量版本
https://mirrors.edge.kernel.org/pub/linux/
來看看linux-3.10.1的內容
第四步執行內核編譯
執行這個操作是為了操作的統一性。以後都是操作Linux目錄即可。
需要生成內核編譯軟件的配置文件
make menuconfig
執行menuconfig需要ncurses-delvel程序,現在就需要安裝ncurses,過程就忽略了,通過yum安裝
註意:menuconfig必須在linux目錄裏執行
這個就是make menuconfig界面。註意:配置內核編譯參數的方式有很多,menuconfig是一種方式。
調整完meneconfig的圖形界面後會生成一個.config的文件
執行make -j 4 執行內核編譯工作,操作目錄還是linux裏面
再執行make modules_install 安裝內核模塊
最後執行make install 安裝內核核心文件
重啟系統驗證下內核安裝結果
哎~~~ 最後沒有引導成功,應該是系統BUG問題,我在CentOS6上是做成功的。
Linux之內核編譯基礎概念