Linux内核手动升级
内核函数地址:
从 /proc/kallsyms 文件中得到地址
cat /proc/kallsyms | grep 函数
从System.map文件中得到地址
cat /usr/src/linux/System.map | grep 函数
手动编译内核步骤:
- 下载内核源码
cd /usr/local/src/
wget https://www.kernel.org/pub/linux/kernel/v3.x/xxx
yum install -y gcc gcc-c++ xz bc ncurses-devel hmaccalc zlib-devel binutils-devel elfutils-libelf-devel qt-devel
- 编译内核
解压源码包
tar -vxf xxx.tar.xz
cd xxx
选择编译内核需要的模块,生成.config文件
make menuconfig
修改之前的内核配置信息
vi /usr/src/linux-2.xxxx/.config
CONFIG_SYSFS_DEPRECATED_V2=y
复制原内核配置文件作为新的模板
cp /boot/confog-2.xxx.el6.x86_64 .config
覆盖Y
以原配置文件产生新的配置文件
`sudo sh -c 'yes "" | make oldconfig'
编译
make
如果编译失败的话先删除重新来
make mrproper # 清理上次编译的现场
make clean
安装内核
make modules_install install
-
更改系统启动时使用的内核
vi /boot/grub/menu.lst
default=0
-
重启
-
删除原来内核
rpm -q kernel
yum remove kernel-xxx
cat /boot/grub/menu.lst
网友评论