首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Yocto中为一个评估板设置一个先发制人的实时内核(它有来自制造商的预置内核)?

如何在Yocto中为一个评估板设置一个先发制人的实时内核(它有来自制造商的预置内核)?
EN

Stack Overflow用户
提问于 2017-05-22 15:47:12
回答 1查看 5.1K关注 0票数 2

我喜欢玩先发制人的linux内核和Yocto。硬件部分采用SAMA5D3x电子板+ SAMA5D35-CM模块。

Atmel提供了一个meta层,其中包括“at91-linux*..bb”配方。这个配方为SAMA5D3x机器构建了内核。

为了使用实时内核,我应该插入实时补丁并在内核配置中激活它们。

我没有找到一个教程,如何用一个现有的内核来完成这个任务。我的问题是:

如何/在何处修改给定的内核配方,使其成为实时内核(Preempt)?

我的测试项目位于项目dir "/home/user/yocto“。它的内容如下:

  • "/yocto git克隆“==> Yocto系统
  • "/元开放嵌入“==>元食谱
  • "/元-阿特梅尔“==> atmels yocto层
  • "/meta-atmel/recipes-kernel/linux/linux-at91_4.4.bb“==>内核配方
  • “/meta/conf/ ==> /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-内核?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-23 06:34:22

一般而言:

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

对于,您应该这样做:

  1. 下载内核版本的正确RT修补程序,并使用.bbappend文件将其应用到当前的linux内核配方中。您可以找到修补程序这里
  2. 将该修补程序添加到您的bbappend文件中(存储在您自己的层中,在已接受的direcotries中存储)。体育:SRC_URI += "file://0001-linux-rt.patch"
  3. 激活先发制人内核。在您的层手动将CONFIG_PREEMPT=y设置为defconfig。另外,您可以使用bitbake virtual/kernel -c menuconfig

meta的陷阱:

  1. Linux91.4.bb配方不关心内核的补丁和子级别(p.e )。4.4.66 -> .)如果有一个新的版本在在91-Linux,它将在一段时间后,元-atmel层。
  2. 不为每个新的子级别提供linux内核的RT分支。
  3. 这意味着您自己的元层不断中断。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44117102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档