CentOS7使用yum和源碼升級內核


原文:https://blog.csdn.net/bayin4937/article/details/100949870

兩種方式升級內核

一、yum升級內核

參考:https://blog.csdn.net/kikajack/article/details/79396793

不多廢話了,直接操作,原理看別的文章

1、uname -r

  1.  
    [root@localhost ~] # uname -r
  2.  
    3.10.0-957.el7.x86_64

2、備份數據

3、按照官方導入epel倉庫

參考:http://elrepo.org/tiki/tiki-index.php

  1.  
    [root@localhost ~] # yum install https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm -y
  2.  
    #就是一個repo倉庫文件
  3.  
    [root@localhost ~] # rpm -ql elrepo-release-7.0-4.el7.elrepo.noarch
  4.  
    /etc/pki/elrepo
  5.  
    /etc/pki/elrepo/SECURE-BOOT-KEY-elrepo.org.der
  6.  
    /etc/pki/rpm-gpg
  7.  
    /etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org
  8.  
    /etc/yum.repos.d
  9.  
    /etc/yum.repos.d/elrepo.repo

4、安裝long term版本吧

參考:http://elrepo.org/tiki/kernel-lt

[root@localhost ~]# yum --enablerepo=elrepo-kernel install kernel-lt
 

5、查看已有的內核

  1.  
    # '作為分隔符,查找第一列為menuentry的行,打印改行的第二列,i++打印序號,除了數字和字母其他符號要引起來
  2.  
    [root@localhost ~]# awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
  3.  
    0 : CentOS Linux (4.4.190-1.el7.elrepo.x86_64) 7 (Core)
  4.  
    1 : CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)
  5.  
    2 : CentOS Linux (0-rescue-dd6fe5c491024a9486fa9acf832f21a6) 7 (Core)

6、命令設置grub

[root@localhost ~]# grub2-set-default 0
 

7、也可以修改/etc/default/grub,修改完記得重新生成配置文件

  1.  
    [root@localhost ~] # sed -i 's/GRUB_DEFAULT=saved/GRUB_DEFAULT=0/' /etc/default/grub
  2.  
    [root@localhost ~] # cat /etc/default/grub
  3.  
    GRUB_TIMEOUT=5
  4.  
    GRUB_DISTRIBUTOR= "$(sed 's, release .*$,,g' /etc/system-release)"
  5.  
    GRUB_DEFAULT=0
  6.  
    GRUB_DISABLE_SUBMENU= true
  7.  
    GRUB_TERMINAL_OUTPUT= "console"
  8.  
    GRUB_CMDLINE_LINUX= "rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"
  9.  
    GRUB_DISABLE_RECOVERY= "true"
  10.  
    [root@localhost ~] # grub2-mkconfig -o /boot/grub2/grub.cfg

8、重啟即可

9、清理舊內核(可選)

能不清理舊別清理吧,centos允許多內核共存

CentOS7使用yum和源碼升級內核


二、源碼編譯內核

1、安裝必要的包

[root@localhost ~]# yum install gcc ncurses-devel flex bison openssl-devel elfutils-libelf-devel -y
 

2、解壓包

  1.  
    [root@localhost ~] # tar xf linux-5.2.11.tar.xz -C /usr/src/
  2.  
    [root@localhost ~] # cd /usr/src/linux-5.2.11/

3、cp一個配置文件稍作修改

  1.  
    [root@localhost linux-5.2.11] # cp /boot/config-3.10.0-957.el7.x86_64 .config
  2.  
    [root@localhost linux-5.2.11] # make menuconfig

加一個NTFS文件系統支持:

CentOS7使用yum和源碼升級內核

  1.  
    [root@localhost linux-5.2.11] # grep -i ntfs .config
  2.  
    CONFIG_NTFS_FS=m
  3.  
    CONFIG_NTFS_DEBUG=y
  4.  
    CONFIG_NTFS_RW=y

4、開始編譯

  1.  
    [root@localhost linux-5.2.11] # make -j 4
  2.  
    #經過了一個多小時
  3.  
    [root@localhost linux-5.2.11] # du -sh .
  4.  
    12G .
  5.  
    [root@localhost linux-5.2.11] # find -name ntfs.ko
  6.  
    ./fs/ntfs/ntfs.ko

5、安裝模塊

  1.  
    [root@localhost linux-5.2.11] # make modules_install
  2.  
     
  3.  
    [root@localhost linux-5.2.11] # ls /lib/modules
  4.  
    3.10.0-957.el7.x86_64 4.4.190-1.el7.elrepo.x86_64 5.2.11-1.0-laowang_linux_x86_64
  5.  
    [root@localhost linux-5.2.11] # du -sh /lib/modules/5.2.11-1.0-laowang_linux_x86_64/
  6.  
    2.7G /lib/modules/5.2.11-1.0-laowang_linux_x86_64/

6、安裝內核

[root@localhost linux-5.2.11]# make install
 

7、關機,加個NTFS優盤,使用新內核啟動,發現可以識別了

如果只是需要ntfs,只需安裝ntfs-3g

  1.  
    [root@localhost ~] # uname -r
  2.  
    5.2.11-1.0-laowang_linux_x86_64
  3.  
    [root@localhost ~] # lsblk -f
  4.  
    NAME FSTYPE LABEL UUID MOUNTPOINT
  5.  
    sdb
  6.  
    └─sdb1 ntfs 小黑屋 A0283A0D2839E2C8
  7.  
    sr0 iso9660 CentOS 7 x86_64 2018-11-25-21-21-31-00
  8.  
    sda
  9.  
    ├─sda2 LVM2_member h2lAZD-7e2i-TiO6-x0Bc-2b41-U15R-iGMXBG
  10.  
    │ ├─centos-swap swap c06f8b43-1b47-4412-bae7-785f3b599368 [SWAP]
  11.  
    │ ├─centos-home xfs c30dee7e-0800-4737-b7b0-90db187eb3f8 /home
  12.  
    │ └─centos-root xfs 444b91d1-7fde-4f5d-9016-ad7b63862a5d /
  13.  
    └─sda1 xfs 3778e6e0-8f51-4843-8b8f-239c8b5e826b /boot
  14.  
    [root@localhost ~] # mount /dev/sdb1 /mnt/usb
  15.  
    [root@localhost ~] # ls /mnt/usb

8、更改啟動優先級

  1.  
    #查看下
  2.  
    [root@localhost ~] # awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
  3.  
    0 : CentOS Linux (5.2.11-1.0-laowang_linux_x86_64) 7 (Core)
  4.  
    1 : CentOS Linux (4.4.190-1.el7.elrepo.x86_64) 7 (Core)
  5.  
    2 : CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)
  6.  
    3 : CentOS Linux (0-rescue-dd6fe5c491024a9486fa9acf832f21a6) 7 (Core)
  7.  
    #設置5.2內核有限啟動
  8.  
    [root@localhost ~] # grep -i default /etc/default/grub
  9.  
    GRUB_DEFAULT=0
  10.  
    #重新生成grub配置文件
  11.  
    [root@localhost ~] # grub2-mkconfig -o /boot/grub2/grub.cfg

9、手動刪掉編譯的內核

  1.  
    [root@localhost ~] # rm /boot/*5.2.11* -f
  2.  
    [root@localhost ~] # rm /boot/*5.2.11* -f
  3.  
    [root@localhost ~] # rm -rf /lib/modules/5.2.11-1.0-laowang_linux_x86_64/
  4.  
    [root@localhost ~] # rm -rf /usr/src/linux-5.2.11/
  5.  
    [root@localhost ~] # grub2-mkconfig -o /boot/grub2/grub.cfg


免責聲明!

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



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