yum install ncurses-devel -y

tar -xvf linux-4.9.3.tar.xz

cd linux-4.9.3/

make menuconfig

make all

make modules_install

make install

Kpatch主要有四个组件。

  1. kpatch-build                       产生hot patch。 通过对比包含patch和不包含patch的kernel差异,产生hotpatch。

  2. hot patch module            内核模块文件:包含替换函数和源函数的元数据。

  3. kpatch core module        内核模块文件,提供注册新函数的功能。利用内核kernel ftrace subsystem通过钩子将原函数进行重定向。

  4. kpatch utility                    管理热patch。可以配置在启动时加载哪些patch。这样相同的内核即使重启,仍然包含所打的热patch。

如何使用kpatch进行热patch

目前支持Fedora20,RHEL7,Ubuntu14.04,Debian8.0,Debian7.*
详细使用过程见https://github.com/dynup/kpatch

限制:

  1. 某些函数不支持hot patch,如(schedule(), sys_poll(), sys_select(), sys_read(), sys_nanosleep())

  2. 初始化函数不支持hot patch,如__init

  3. 不支持修改静态分配的数据

  4. 不支持vdso中的函数进行patch

  5. kpatch和ftrace以及kprobes存在不兼容

yum install kexec-tools -y

latestkernel=`ls -t /boot/vmlinuz-* | sed "s/\/boot\/vmlinuz-//g" | head -n1`

echo ${latestkernel}

4.9.3

kexec -l /boot/vmlinuz-${latestkernel} --initrd=/boot/initramfs-${latestkernel}.img --append="`cat /proc/cmdline`"

kexec -e

执行完后,终端会断掉,因为socket被重置了,重新连接即可。

转载于:https://blog.51cto.com/silencezone/1892180

编译并使用kpath不重启更新linux-kernel相关推荐

  1. linux不重启更新内核,编译并使用kpath不重启更新linux-kernel

    yum install ncurses-devel -y tar -xvf linux-4.9.3.tar.xz cd linux-4.9.3/ make menuconfig make all ma ...

  2. 在Ubuntu上下载、编译和安装Android 4.2 最新内核源代码(Linux Kernel)

    根据http://blog.csdn.net/luoshengyang/article/details/6564592博客内容对android4.2的编译 从源代码树下载下来的最新Android源代码 ...

  3. 11 编译2022年最新的Linux kernel 6.1源码,并用QEMU模拟器运行

    编译2022年最新的Linux kernel源码,并用QEMU模拟器运行 作者 将狼才鲸 创建日期 2022-11-26 Gitee源码和工程地址:才鲸嵌入式 / 嵌入式QEMU教程 CSDN文章地址 ...

  4. 镜像安装linux选择内核版本,在CentOS和Ubuntu中安装Linux Kernel 4.13.10

    Linus Torvalds 在 10 月 17 日星期五正式发布了稳定版 Linux Kernel 4.13.10,这个最新版本发布了新功能,进行了诸多修复和问题改进.下面将向大家介绍在 CentO ...

  5. linux最新版本4.9,Linux Kernel 4.9下载_Linux Kernel最新版本下载 4.9.28 稳定版_当载软件站...

    Linux Kernel 4.9.28最新版本发布了,带来了许多改进. 在发布 Linux Kernel 4.11 系列的第一个更新后,Greg Kroah-Hartman 推出了有关对 Linux ...

  6. Linux kernel Panic后自动重启机器的设置

    Linux kernel Panic后自动重启机器的设置 方法1:内核配置命令行加入这句,崩溃后3秒重启: panic=3 make menuconfig 设置kernel系统参数: 方法2: vi ...

  7. 最新历史版本 :LINUX KERNEL 配置编译中文指南

    LINUX KERNEL 配置编译中文指南 序言 近几年,linux大行其道,令不满windows蓝屏的使用者跃跃欲试,结果发现linux安装不及windows方便,界面不及windows友好,配置不 ...

  8. Linux kernel内核编译配置选项详解

    转载于:http://lamp.linux.gov.cn/Linux/kernel_options.html 作者:金步国 Code maturity level options 代码成熟度选项 Pr ...

  9. 更新linux内核方法

    背景:买了块网件的A6210无线网卡,用的是mt7612u芯片,插到deepin下不能识别,ubuntu 18.04下同样不能识别,查过内核版本号,用的都是4.15的内核,去Github查了Linux ...

  10. 09 编译2022年最新的Linux kernel、U-Boot和BusyBox rootfs源码,并用QEMU模拟器运行

    编译2022年最新的Linux kernel.U-Boot和BusyBox rootfs源码,并用QEMU模拟器运行 作者 将狼才鲸 创建日期 2022-11-26 Gitee源码和工程地址:才鲸嵌入 ...

最新文章

  1. 博主谈:聊聊我们说的网站优化
  2. 一些jquery 常用实例图解
  3. Win7下面wubi安装Ubuntu14.04LTS
  4. rhel7 http实例2
  5. java 类交互图_Java与UML交互图
  6. android+4.4.2+横屏,Android 横竖屏和布局问题
  7. matlab 安装glpk,mac上安装GLPK
  8. 集中管理:领导者,不能不考虑的几件事之——“挖”出来的无限可能
  9. 爬虫-14-利用代理爬取数据
  10. tensorflow2.0 图像处理项目_航天泰坦丨国产自主遥感图像处理软件当自强
  11. Java成员变量查找_Java中的成员变量和局部变量
  12. UVA - 10474
  13. Linux服务器之间传输文件 scp命令
  14. android 扩展textview,Android可收缩/扩展的TextView【1】
  15. 《数字电路与逻辑设计》课程教学大纲
  16. IEEE 802.11标准协议下载
  17. 【IT圈内事】2019互联网企业100强
  18. C语言调用API的方法
  19. gazebo入门教程(二)建立简单模型
  20. 树形结构的处理——组合模式(四)

热门文章

  1. jQuery中,$.extend,$obj.extend和$.fn.extend三者的区别
  2. A Simple Math Problem (矩阵快速幂)
  3. E - 权势二进制 哈尔滨理工大学软件学院大一个人赛训练
  4. pylot网站压力测试
  5. Linux的重定向与管道
  6. 小程序wafer2操作数据库
  7. Codeforces #662C Binary Table
  8. Code a simple telnet client using sockets in python
  9. 经纬度转换为三维坐标
  10. Seinfeld(杭电3351)