1

我想激活我的 Linux 内核的抢占功能。为此,我应该下载与我正在使用和编译的内核版本相匹配的正确补丁(如此所述)。我拥有的内核版本是Linux 版本 4.9.0(只需uname -a从命令行键入并在/proc/version.

linux 内核页面(可以为此目的下载补丁)我找不到我正在使用的完全匹配的版本。我应该使用哪一个?

另外,如果您对如何正确执行此操作有一些建议,我们将不胜感激!

我的另一个问题是:我是否可以继续使用我开发的同一个应用程序,尽可能观察性能的提高或下降?那么我正在开发的驱动程序呢?或第三方设备驱动程序?

更新:

  • 我正在使用配备四核 ARM 53 的 Xilinx Zynq Ultrascale+。使用的板是 Xilinx 的 zcu102。

  • 内核的源文件来自这里,文件系统是Linaro

4

2 回答 2

1
  1. 您可以检查文件夹“旧”(https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/4.9/older/) - 在那里您可以找到文件 patch-4.9-rt1.patch.gz和补丁-4.9-rt1.tar.gz
  2. 请注意,github.com/Xilinx/linux-xlnx 中的当前版本是 4.14。你确定你有正确的源代码吗?
于 2018-06-06T09:18:55.547 回答
1

以下是有关如何使用 Petalinux 2019.1 在 ZCU102 上安装 PREEMPT_RT 的信息:

  1. 从Xilinx 网站下载并安装 Petalinux 2019.1

  2. 从Xilinx 网站下载 ZCU102 BSP 2019.1

  3. 创建一个项目:petalinux-create -t project -s xilinx-zcu102-v2019.1-final.bsp

  4. 将 PREEMPT_RT 补丁http://cdn.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patch-4.19-rt1.patch.gz解压到project-spec/meta-user/recipes-kernel /linux/linux-xlnx/目录

  5. 编辑文件project-spec/meta-user/recipes-kernel/linux/linux-xlnx_%.bbappend并追加

    SRC_URI_append = " file://patch-4.19-rt1.patch"
    
  6. 确保项目文件project-spec/meta-user/conf/layer.conf 中元用户层的优先级为 7

  7. 配置项目:petalinux-config

  8. 配置内核以启用完全抢占式支持:petalinux-config -c kernel

  9. 建造:petalinux-build

  10. 生成 BOOT.BIN 文件:petalinux-package --boot --fsbl images/linux/zynq_fsbl.elf --u-boot images/linux/u-boot.elf

于 2020-07-08T08:23:38.733 回答