centos6.4內核升級到4.9版本

linux 內核升級
[root@master ~]# uname -r
2.6.32-431.el6.x86_64

內核下載官網: http://www.kernel.org 
內核下載官網: https://mirrors.edge.kernel.org/pub/linux/kernel/
1.下載源碼包
wget https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.9.122.tar.xz
2.安裝升級組件
yum -y groupinstall "Development Tools"
yum -y install ncurses-devel qt-devel hmaccalc zlib-devel binutils-devel elfutils-libelf-devel
3.解壓源碼包
tar xvf linux-4.9.122.tar.xz
centos6.4內核升級到4.9版本
[root@master docker]# cd linux-4.9.122
[root@master linux-4.9.122]# cp /boot/config-2.6.32-431.el6.x86_64 .
將當前系統的配置文件複製到要升級的內核文件中,使用當前系統的內核配置更新到新內核上面。
4.更新內核並備份當前內核
[root@master linux-4.9.122]# sh -c 'yes "" | make oldconfig'
make oldconfig會讀取當前目錄下的.config文件,在.config文件裏沒有找到的選項則提示用戶填寫,然後備份.config文件爲.config.old,並生成新的.config文件
參考 http://stackoverflow.com/questions/4178526/what-does-make-oldconfig-do-exactly-linux-kernel-makefile和https://www.linuxidc.com/Linux/2014-01/95511.htm

5.編譯內核文件
make -j20 bzImage #生成內核文件
make -j20 modules #編譯模塊
make -j20 modules_install #編譯安裝模塊
要嚴格按照這個先後順序進行編譯
-j後面的數字是線程數,用於加快編譯速度,一般的經驗是,有多少G內存,就填寫那個數字,例如有4G內存,則爲-j4
[root@master linux-4.9.122]# make -j20 bzImage && make -j20 modules && make -j20 modules_install && make install
centos6.4內核升級到4.9版本
時間較長

ERROR: modinfo: could not find module sco
ERROR: modinfo: could not find module l2cap
ERROR: modinfo: could not find module scsi_tgt
ERROR: modinfo: could not find module ext3
ERROR: modinfo: could not find module jbd
ERROR: modinfo: could not find module microcode
ERROR: modinfo: could not find module vmware_balloon
ERROR: modinfo: could not find module crc_t10dif
出現這些報錯可以忽略掉
修改配置文件/etc/grub.conf,設置新的內核啓動
新安裝的內核在第一個位置,設置default=0
centos6.4內核升級到4.9版本

修改配置文件後,reboot重新啓動機器
[root@master ~]# uname -r
4.9.122
[root@master ~]# uname -a
Linux master.example.com 4.9.122 #1 SMP Fri Nov 1 21:23:26 CST 2019 x86_64 x86_64 x86_64 GNU/Linux
查詢看到內核升級到4.9了,可以安裝docker用了
注:
如果中間由於什麼原因中斷了安裝,清理編譯的數據後進行上面動作重新編譯安裝升級內核
make mrproper #清除編譯安裝的數據

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章