• 幕客老师召集小伙伴
  • 运维高手36项修炼
  • python自动化运维项目实战
  • nginx从入门到实战
  • 阿里云与Centos7实战

linux操作系统内核(内核重新编译)

kernel + modules
1. 升级内核
2. 给当前内核增加功能(模块)
3. 安装驱动

 


 

一、升级内核的目的 

给内核瘦身

追求前瞻性
开发测试使用
增加新的功能
使用新的硬件驱动
其它需求(嵌入式开发)

kernel版本

www.kernel.org 

 


 

二、升级内核 linux-3.12.7.tar.xz 
==实施步骤
1. 安装编译所需的工具 gcc ncurses-devel make(开发工具)
2. 下载内核源码
   a. www.kernel.org(最新)
   b. ftp://ftp.redhat.com/pub/redhat/linux/enterprise/5Server
       ftp://ftp.redhat.com/pub/redhat/linux/enterprise/6Server
3. 解压linux-3.12.7.tar.xz 
4. 配置内核编译的参数make menuconfig
5. 开始编译make //等价于这两个命令make bzImage  make modules
6. 安装模块make modules_install     //安装到了 /lib/modules/$(uname -r)
7. 安装内核make install             //安装到了 /boot
8. 检查 ls /boot, /boot/grub/grub.conf, /lib/modules

==具体实施

# LANG=C yum -y groupinstall "Development tools"# yum -y install ncurses-devel# tar xvf linux-3.12.7.tar.xz -C /usr/src/# cd /usr/src/linux-3.12.7/# cp /boot/config-2.6.32-358.el6.x86_64 .config//将系统中原有的config复制# make menuconfig     //配置,即定制新kernel的功能


可选操作:定制kernel版本名
# head -5 Makefile 
VERSION = 3
PATCHLEVEL = 12
SUBLEVEL = 7
EXTRAVERSION = -jeson

 


 

# make# make modules_install# make install   # ls /boot //查看是否有新kernel# vim /boot/grub/grub.conf	//可调整默认启动内核# ls /lib/modules/3.12.7-yangsheng/kernel/fs/ntfs/	//检查模块是否存在


三、升级内核  linux-3.14.1.tar.xz 
1.建立必要的目录,安装必要的包

 

[root@Jeson ~]# yum install gcc ncurses-devel make -y[root@Jeson kernel]# mkdir /opt/download/kernel -p[root@Jeson kernel]# cd /opt/download/kernel

2.下载对应的最新的linux内核版本

[root@Jeson kernel]# wget http://192.168.42.1/download/day8/linux-3.14.1.tar.xz[root@Jeson kernel]#  tar -xvf linux-3.14.1.tar.xz

3.进行内核的配置和变异。

[root@jeson linux-3.14.1]# cp /boot/config-2.6.32-358.el6.x86_64 ./.config  \\尽量能拷贝老版本系统的config文件[root@jeson linux-3.14.1]# make menuconfig

4.选择编译进去ntfs模块

[root@Jeson linux-3.14.1]# make modules_install[root@jeson linux-3.14.1]# make[root@jeson linux-3.14.1]# make install

//验证编译后新加入了模块 [root@Jeson linux-3.14.1]# ll /lib/modules/3.14.1/kernel/fs/ntfs/ntfs.ko



编译过程中遇到的一些错误。
错误1:

 

sh /opt/download/linux-3.0.10/arch/x86/boot/install.sh 3.0.10 arch/x86/boot/bzImage \
System.map “/boot”
ERROR: modinfo: could not find module lpc_ich
新的内核中驱动没有加载到ISA bridge接口驱动。

错误2:
在执行make 时候出现,auto.conf找不到。
解决方式:
wget http://192.168.1.55/download/auto.conf  include/config/auto.conf

错误3:
在执行make modules_install 时出现depmod.sh 57 kill 变量
如下:
./opt/download/kernel/linux-3.14.1/scripts/depmod.sh: line 57:   343 Killed                  “$DEPMOD” “$@” “$KERNELRELEASE” $SYMBOL_PREFIX
 解决方式:
 vim ./scripts/depmod.sh 
注释掉”$DEPMOD” “$@” “$KERNELRELEASE” $SYMBOL_PREFIX 行
这个错误出现是因为交换分区过小

   错误4:
在执行make的时候出现系统循环的报WARNING,中文大概意思是系统时钟错误的问题。
解决方式:
这个时候需要检查系统时钟,查看当前时间是否正确。

linux操作系统内核(内核重新编译)

Pingbacks已打开。

引用地址

暂无评论

发表评论