给linux内核打实时补丁preempt

您所在的位置:网站首页 linux实时性补丁 给linux内核打实时补丁preempt

给linux内核打实时补丁preempt

2023-11-05 06:18| 来源: 网络整理| 查看: 265

下载内核和补丁 运行uname -a可以看到当前内核版本。 补丁地址: https://www.kernel.org/pub/linux/kernel/projects/rt/ 从中选择一个与当前内核版本接近并且更新的补丁下载(系统启动时会自动选择版本更高的内核) 内核地址: http://www.kernel.org/pub/linux/kernel/ 根据下载的补丁版本下载内核,内核版本要和补丁一致。 下面以linux-5.4.54内核与patch-5.4.54-rt32.patch补丁为例进行说明。

打补丁

$ sudo mkdir /usr/src/rt-preempt-linux

将下载的内核与补丁解压,先将解压后的补丁放到解压后的内核文件夹里面,然后再将内核文件夹放到刚创建的rt-preempt-linux文件夹里面。

$ sudo cp -r linux-5.4.54/ /usr/src/rt-preempt-linux/

然后运行以下命令打补丁。

$ cd /usr/src/rt-preempt-linux/linux-5.4.54 $ sudo patch -p1 < patch-5.4.54-rt32.patch 内核配置 继续在/usr/src/rt-preempt-linux/linux-5.4.54路径下执行指令 $ sudo make mrproper # 删除目录下残留的.o文件和其他从属文件

在boot文件夹下可以找到与当前内核版本匹配的config文件,例如:config-3.16.0-30-generic 。将其拷贝到当前目录/usr/src/rt-preempt-linux/linux-5.4.54 下并命名为.config。

$ sudo cp /boot/config-3.16.0-30-generic .config

安装几个必要的套件

$ sudo apt-get install libncurses5-dev flex bison

进入菜单配置界面,此时窗口必须足够大。

$ sudo make menuconfig

进入“General setup” 在"Preemption Model"中选择“Fully Preemptible Kernel(Real-Time)”

menuconfig_1.png

回到上一层,进入”Device Drivers”中,去掉“Staging drivers”

menuconfig_2.png

编译内核

下面的编译过程会比较费时,大约需要2个小时左右。

仍然在/usr/src/rt-preempt-linux/linux-5.4.54路径下执行指令

$ sudo make -jn

(n是要衍生的作业数,在实际中,每个处理器上一般衍生一个或两个作业。例如在一个双核处理器上可以使用$make -j4)

$ sudo make modules_install $ sudo make install $ cd /boot $ sudo mkinitramfs -k -o initrd.img-5.4.54-rt32 5.4.54-rt32

最后重启就可以选择使用打过补丁的内核了,如果重启后找不到相应选项,再对/boot/grub/grub.cfg进行修改,修改方法可以上网查。

参考:

http://blog.csdn.net/zzsfqiuyigui/article/details/7621665 http://blog.csdn.net/deng_sai/article/details/38080603 http://blog.csdn.net/fjt19900921/article/details/8316481



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3