日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

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

發布時間:2023/12/2 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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

make modules_install

make install

Kpatch主要有四個組件。kpatch-build ? ? ? ? ? ? ? ? ? ? ? 產生hot patch。 通過對比包含patch和不包含patch的kernel差異,產生hotpatch。

hot patch module ? ? ? ? ? ?內核模塊文件:包含替換函數和源函數的元數據。

kpatch core module ? ? ? ?內核模塊文件,提供注冊新函數的功能。利用內核kernel ftrace subsystem通過鉤子將原函數進行重定向。

kpatch utility ? ? ? ? ? ? ? ? ? ?管理熱patch。可以配置在啟動時加載哪些patch。這樣相同的內核即使重啟,仍然包含所打的熱patch。

如何使用kpatch進行熱patch

目前支持Fedora20,RHEL7,Ubuntu14.04,Debian8.0,Debian7.*

詳細使用過程見https://github.com/dynup/kpatch

限制:某些函數不支持hot patch,如(schedule(), sys_poll(), sys_select(), sys_read(), sys_nanosleep())

初始化函數不支持hot patch,如__init

不支持修改靜態分配的數據

不支持vdso中的函數進行patch

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被重置了,重新連接即可。

總結

以上是生活随笔為你收集整理的linux不重启更新内核,编译并使用kpath不重启更新linux-kernel的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。