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其实指的就是 内核(kernel)而已。这个内核控制你主机的所有硬件并提供系统所有的功能,所以它...
    Zhang21阅读 7,503评论 0 18
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,685评论 9 468
  • cenos6启动流程 加载BIOS的硬件信息,获取第一个启动设备 读取第一个启动设备MBR的引导加载程序(grub...
    毛利卷卷发阅读 1,130评论 0 1
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,256评论 2 33
  • feisky云计算、虚拟化与Linux技术笔记posts - 1014, comments - 298, trac...
    不排版阅读 3,941评论 0 5