Centos7編譯4.7.2內核


由於想要編譯kvm-kmod,編譯的時候提示內核版本太低,所以就不得不升級下linux內核,目前最新版內核是4.7.2,編譯內核並不是一件很難的事,但是這么久沒編譯過,還是有必要記錄下這一過程。

首先下載linux內核最新版4.7.2  https://www.kernel.org/,這個可以放到任意目錄,並沒有特殊的要求
然后需要安裝幾個工具,這個先安裝也可以,在編譯中安裝也可以。
具體步驟如下:
1、解壓內核源碼包,進入目錄
2、make menuconfigure
3、make     此過程會比較漫長
4、make modules
(現在make 步驟基本涵蓋了make modules這一步)
5、make modules_install
 
 
這個時候在源代碼目錄中會生成幾個比較重要的文件:
1、~/arch/x86_64/boot/bzImage
2、~/System.map
我們需要把這兩個文件復制到指定的目錄中:
cp arch/x86_64/boot/bzImage /boot/vmlinuz-4.7.2
cp System.map /boot/System.map-4.7.2
然后進入/boot目錄
給System.map文件建立一個軟連接:  ln -s  System.map-4.7.2 System.map
最后還需要生成img文件:
 mkinitrd /boot/initrd-4.7.2.img 4.7.2
 
(現在make install可直接完成上述動作)
至此需要的文件我們已經設置完畢,剩下的就是修復引導了,這里不建議手動去修改grub文件,我們可以利用工具
 
grub2-mkconfig -o /boot/grub2/grub.cfg
這樣根據boot目錄下的文件自動更新grub文件。假如要想修改默認的啟動內核可以修改/etc/default/grub文件,這點和ubuntu是一樣的:

 也可以采用更加便捷的方式,直接利用命令:

grub2-set-default "",引號內放置grub.cfg文件中,開始引號內的部分,例如:

menuentry 'CentOS Linux (3.10.1) 7 (Core)' --class centos --class ....................那么設置默認啟動的格式為:

grub2-set-default "CentOS Linux (3.10.1) 7 (Core)";這樣之后就默認從設置的啟動項進入系統了。


其實可以直接修改grub.cfg文件,但是那樣並不是從根本上修改,每次更新都會根據/etc/default/grub文件去設置,所以這里直接從源頭修改,在GRUB_DEFAULT后的數字就代表選定的是哪個啟動項,從0開始,順序就是grub.cfg文件里menuentry的順序!!
執行完畢后在此運行grub2-mkconfig命令更新即可!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM