下载linux内核源码
网址是:http://www.kernel.org
[root@rong2 ~]# uname -r
2.6.35.1
[root@rong2 soft]# cd /usr/src/
[root@rong2 src]# cd linux-2.6.38/
[root@rong2 linux-2.6.38]# make mrproper
[root@rong2 linux-2.6.38]# make menuconfig
[root@rong2 linux-2.6.38]#make bzImage   (注意大小写。这一步才是真正编译内核)
.
.
.
.
Root device is (8, 2)
Setup is 14744 bytes (padded to 14848 bytes).
System is 3851 kB
CRC be76e71
Kernel: arch/x86/boot/bzImage is ready  (#1)
[root@rong2 linux-2.6.38]# make modules
[root@rong2 linux-2.6.38]# make modules_install
[root@rong2 3.6.2]# pwd
/lib/modules/3.6.2
[root@rong2 3.6.2]# ls
build   modules.alias    modules.ccwmap  modules.ieee1394map  modules.isapnpmap  modules.order   modules.seriomap  modules.usbmap
kernel  modules.builtin  modules.dep     modules.inputmap     modules.ofmap      modules.pcimap  modules.symbols   source
#安装成功后,系统会在/lib/modules目录下生成一个子目录,里面存放着新内核的所有可加载模块。
[root@rong2 linux-2.6.38]# make install
以上几步都没有出错,最后一步make install 时出现一下警告:
WARNING: No module ehci-hcd found for kernel 2.6.20.7, continuing anyway
WARNING: No module ohci-hcd found for kernel 2.6.20.7, continuing anyway
WARNING: No module uhci-hcd found for kernel 2.6.20.7, continuing anyway
WARNING: No module ata_piix found for kernel 2.6.20.7, continuing anyway
WARNING: No module dm-mem-cache found for kernel 2.6.20.7, continuing anyway
WARNING: No module dm-message found for kernel 2.6.20.7, continuing anyway
WARNING: No module dm-raid45 found for kernel 2.6.20.7, continuing anyway
前三个警告是由于USB相关的模块没有编译成模块所导致的
解决方法:
vim .config
分别找到一下:
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_OHCI_HCD=y
CONFIG_USB_UHCI_HCD=y
将其改为:
CONFIG_USB_EHCI_HCD=m
CONFIG_USB_OHCI_HCD=m
CONFIG_USB_UHCI_HCD=m
注:由此可见,并不是编进内核就好了,有些编进内核反而会出错
第四个警告是因为没有将ATA的相关驱动加载到模块
CONFIG_ATA_PIIX=y
将其改为
CONFIG_ATA_PIIX=m
注意:小提示一般只要遇到某某模块没找到,就修改.config文件找到相应的CONFIG_XX_XX=y改为CONFIG_XX__=m
最后三个警告dm-XX,是新内核出现的bug不影响性内核的生成。
修改了以上内容后,重新编译内核
pwd
/usr/src/linux
cp .config config.bak
make clean 
make mrproper  #清除刚才编译生成的文件
cp config.bak .config
make menuconfig
不用选择直接保存退出,因为.config文件我们保存的有。然后编译
make
make modules
make modules_install
make install
[root@rong2 linux-3.6.2]# uname -a
Linux rong2 3.6.2 #1 SMP Fri Oct 19 06:29:56 CST 2012 x86_64 x86_64 x86_64 GNU/Linux
4、解压修改内核:
cp /boot/initrd-2.6.35.1.img /tmp/
cd /tmp/
mkdir newinitrd
cd newinitrd/
zcat ../initrd-2.6.35.1.img |cpio -i
rm -fr /tmp/initrd-2.6.35.1.img
vim init
找到这2段一样的,去掉其中1段重复的:
echo “Loading dm-region-hash.ko module”
insmod /lib/dm-region-hash.ko
echo “Loading dm-region-hash.ko module”
insmod /lib/dm-region-hash.ko
5、从新打包新内核:
find .|cpio -c -o > ../initrd
cd ../
gzip -9 < initrd > initrd-2.6.35.1.img
rm -fr /boot/initrd-2.6.35.1.img
cp initrd-2.6.35.1.img /boot
rm -fr /usr/src/linux-2.6.35.1.tar.bz2
rm -fr /usr/src/linux-2.6.35.1
6、设置从新内核启动系统:
vim /boot/grub/grub.conf
把default=1改为default=0
四 启动新内核(有时可以省略)
10 将新内核和System.map文件拷贝到/boot目录下,依次执行以下命令:     
# cp   /usr/src/linux-2.6.38/arch/x86_64/boot/bzImage   /boot/vmlinuz-2.6.18     
# cp   /usr/src/linux-2.6.18/System.map   /boot/System.map-2.6.18     
# cd   /boot   (进入boot目录)
# rm –rf   System.map   (删除原来的连接)     
# ln –s System.map-2.6.18   System.map   (重新建立连接) 
----------------------------------------------------
ro root=LABEL=/1是指什么
请教: 在Linux引导文件grub.conf中:
title Fedora Core (2.6.18-1.2798.fc6)
root (hd1,1)
kernel /boot/vmlinuz-2.6.18-1.2798.fc6 ro root=LABEL=/1 rhgb quiet
initrd /boot/initrd-2.6.18-1.2798.fc6.img
其中 ......ro root=LABEL=/1,但有时是:ro root=LABEL=/
两个LABEL=...都的是某个分区的标签(label)
可以用/sbin/e2label这个命令来查设某个ext2/ext3格式分区的label。

-------------------------------------------------------
解决方法:
[root@localhost]cp /boot/initrd-2.6.30.img /tmp
[root@localhost]cd /tmp/
[root@localhost tmp]mkdir newinitrd
[root@localhost tmp]cd newinitrd/
[root@localhost newinitrd]zcat ../initrd-2.6.30.img |cpio -i
[root@localhost newinitrd]vi init              删掉重复的如下两行:
echo “Loading dm-region-hash.ko module”
insmod /lib/dm-region-hash.ko
[root@localhost newinitrd]# find .|cpio -c -o > ../initrd
14765 blocks
[root@localhost newinitrd]# cd ..
[root@localhost tmp]# gzip -9 < initrd > initrd-2.6.30.img
[root@localhost tmp]# ls
gconfd-root   initrd   initrd-2.6.30.img   mapping-root   newinitrd   scim-panel-socket:0-root
[root@localhost tmp]# mv /boot/initrd-2.6.30.img /home/
[root@localhost tmp]# cp initrd-2.6.30.img /boot/
[root@localhost tmp]#reboot

转载于:https://blog.51cto.com/zhangrong/1031778

CentOS内核升级相关推荐

  1. Centos内核升级-Yum方式_1

    小伙伴日常肯定遇到过内核升级的情况,小编就以Centos 7内核升级为例,升级内核一般有两种方式:一种是编译,一种是yum,现就yum这种方法进行学习. 1.查看当前内核版本 ①uname -r ②u ...

  2. centos 内核升级

    首先查看centos版本: cat /etc/centos-release 或者: rpm -q centos-release 查看内核版本: uname -sr 查看官方内核:https://www ...

  3. centos内核升级的两种方法

    对于一些特殊的软件,如docker 需要linux内核3.1 之上才能很好支持,这时就需要升级内核了,而centos7默认的内核好像是  3.10.x,有些低. 方法一: 查看当前系统内核版本 una ...

  4. CentOS 内核升级的总结

    一 下载内核包到本地机器,本地进行更新 # 下载你要更新的内核包 http://ftp.scientificlinux.org/linux/scientific/6/x86_64/updates/se ...

  5. linux 7 内核崩溃重启,centos7无故重启-内核升级

    最近有一台物理服务器,centos7操作系统,无故重启,每天都会发生这种情况: 解决: 升级内核 CentOS 允许使用 ELRepo,这是一个第三方仓库,可以将内核升级到最新版本,使用ELRepo升 ...

  6. Centos 7.x 内核升级

    作者信息 邮箱:sijiayong000@163.com Q Q:601566386 Centos 7.x 内核升级 注意:这篇文章只在 CentOS 7.× 系列版本上验证过,其他 CentOS 版 ...

  7. centos升级内核 大漠知秋_记一次centos 7内核升级事故

    情景 公司做等保3测评,在进行系统漏洞检测时发现内核存在漏洞,需要进行升级. 名称版本 升级前内核CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core) 升级后内核 ...

  8. centos liunx升级内核

    1.查看自己主机linux版本,主机版本一般在3.10.0以上为好,如果版本过低,建议先升级. [root@iz2ze82p1dogve7neb5tuoz ~]# uname -r 3.10.0-69 ...

  9. centos 7升级内核,yum方式升级内核,编译方式升级内核

    centos 7升级内核 1.centos 7升级内核(从3.10到5.17) 1.yum方式升级内核 1.1 用epel源升级内核 1.2 设置内核启动顺序 1.3 重启系统,查看内核版本是否升级 ...

最新文章

  1. 美国爱因斯坦计划技术分析
  2. freecodecamp_常见技术支持问题– freeCodeCamp常见问题解答
  3. Ubuntu 16.04通过Unity Tweak Tool实现点击图标最小化
  4. CTFshow 爆破 web21
  5. 农业走出去-国际农民丰收节贸易会·刘合光:走向全球思考
  6. python mysql股票分析_一颗韭菜的自我修养:用Python分析下股市,练练手
  7. 【NLP】Contrastive Learning NLP Papers
  8. 【Spring Cloud】Redis缓存接入监控、运维平台CacheCloud
  9. JavaFX官方教程(七)之使用FXML创建用户界面
  10. jdk switch 枚举_JDK 12开关表达式遇到意外的枚举值
  11. 新浪的股票接口 c#
  12. MQTT客户端库-Paho GO
  13. B样条曲线介绍和实现(等值线平滑)
  14. excel甘特图模板_最简单的Excel甘特图制作方法,只用一条公式,项目进度一目了然...
  15. python 编码方式总结
  16. DPDK examples ethtool-app完全注释
  17. 分析“HTTP500内部服务器错误”解决方法
  18. java 创建txt_JAVA读取TXT文件、新建TXT文件、写入TXT文件
  19. 什么是软件体系结构?
  20. Springboot读取excel

热门文章

  1. 深入理解 WordPress 数据库中的用户数据 wp_user
  2. 公安部起草《“十三五”平安中国建设规划》并公开征求意见
  3. 黑客成长之路-01.新手篇-设置路由器
  4. Html5添加audio音频播放器插件教程
  5. Android卡片设置透明度失效问题
  6. RHEL7/CentOS7在线和离线安装GitLab配置使用实践
  7. tornado和subprocess实现程序的非堵塞异步处理
  8. webpack异步加载业务模块
  9. 关于加域后win7、win8的C:\不能够新建文件,报0X0070522错误的解决方式
  10. 全屏幕文本编辑器___Q10的设置: