Linux内核手动升级 / Linux kernel upgrade

Linux内核手动升级

内核函数地址:
从 /proc/kallsyms 文件中得到地址
cat /proc/kallsyms | grep 函数
从System.map文件中得到地址
cat /usr/src/linux/System.map | grep 函数

手动编译内核步骤:

  1. 下载内核源码
    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
  2. 编译内核
    解压源码包
    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

  1. 更改系统启动时使用的内核
    vi /boot/grub/menu.lst
    default=0

  2. 重启

  3. 删除原来内核
    rpm -q kernel
    yum remove kernel-xxx
    cat /boot/grub/menu.lst

你可能感兴趣的:(Linux内核手动升级 / Linux kernel upgrade)