gpt4 book ai didi

linux - 如何在 Yocto 中为评估板(具有制造商的预设内核)设置抢占式实时内核?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:39:50 26 4
gpt4 key购买 nike

我喜欢使用先发制人的 Linux 内核和 Yocto。作为硬件,使用了 SAMA5D3x Evalboard + SAMA5D35-CM 模块。

Atmel 正在提供元 atmel 层,其中包括“at91-linux_*.bb”配方。此配方为 SAMA5D3x 机器构建内核。

为了使用实时内核,我应该插入实时补丁并在 kernel config 激活它们.

我没有找到如何使用现有内核执行此操作的教程。我的问题是:

如何/在何处修改给定的内核配方以使其成为实时内核(preempt-rt)?

我的测试项目位于项目目录“/home/user/yocto”。它有以下内容:

  • "/yocto git clone "==> Yocto 系统
  • "/meta-openembedded "==> 元嵌入式食谱
  • "/meta-atmel "==> atmels yocto 层
  • "/meta-atmel/recipes-kernel/linux/linux-at91_4.4.bb"==> 内核配方
  • "/meta-atmel/conf/machine/sama5d3xek.conf"==> 运行内核的机器
  • "/myTest"==> 我的测试项目
  • "/myTest/recipes-kernel/linux-at91_%.bbappend"==>替换内核配置+添加自己的设备树
  • "/myTest/recipes-kernel/linux/linux-at91/sama5d3xek/defconfig"==> 我自己的内核配置
  • /myTest/recipes-kernel/linux/linux-at91/sama5d3xek/myDev.dts ==> 我自己的设备树

关于如何在 Yocto 中激活 RT-Kernel 的任何想法/教程?

最佳答案

一般来说:

.../source/poky/recipes-kernel/linux 你应该找到一个 linux-yocto-rt_X.XX.bb 配方来编译一个完整的抢占式RT内核。

对于 meta-atmel 你应该这样做:

  1. 为您的内核版本下载正确的 RT 补丁,并使用 .bbappend 文件将其应用到您当前的 Linux 内核配方中。您可以找到补丁 HERE
  2. 将补丁添加到您的 bbappend 文件(存储在您自己的层中的一个已接受的目录中)。 p.e.: SRC_URI += "file://0001-linux-rt.patch"
  3. 激活抢占式内核。在您所在层的 defconfig 中手动设置 CONFIG_PREEMPT=y。或者,您可以使用 bitbake virtual/kernel -c menuconfig

meta-atmel 的陷阱:

  1. linux-at91_4.4.bb 配方不关心内核的补丁和子级别(p.e. 4.4.66 -> ..)。如果在 at91-linux 有新版本一段时间后它将进入元 atmel 层。
  2. linux内核的RT分支并不是每一个新的子级别都提供
  3. 这意味着不断打破你自己的元层

关于linux - 如何在 Yocto 中为评估板(具有制造商的预设内核)设置抢占式实时内核?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44117102/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com