You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Yocto Mickledore:FIFO策略pthread的组RT调度默认禁用方法问询

解决Yocto中默认禁用组RT调度的方法

针对你在6.1-mickledore分支构建Yocto镜像时遇到的组RT调度导致pthread_create相关程序提前退出的问题,以下是两种在BitBake配方中永久设置kernel.sched_rt_runtime_us=-1的方法:

方法1:通过sysctl配置文件永久生效

系统启动时,systemd会加载/etc/sysctl.d/目录下的配置文件,你可以通过添加自定义配置文件实现默认设置:

  1. 选择一个基础配方(比如base-files)创建.bbappend文件,或者新建一个独立的小配方(比如rt-group-disable_0.1.bb)。
  2. 在配方的files目录下创建配置文件99-disable-rt-group.conf,内容如下:
    kernel.sched_rt_runtime_us=-1
    
  3. 在配方中添加安装逻辑:
    SRC_URI += "file://99-disable-rt-group.conf"
    
    do_install_append() {
        # 创建sysctl.d目录(确保存在)
        install -d ${D}${sysconfdir}/sysctl.d
        # 安装配置文件,权限设为0644
        install -m 0644 ${WORKDIR}/99-disable-rt-group.conf ${D}${sysconfdir}/sysctl.d/
    }
    
  4. 将配方添加到你的构建层,重新构建镜像即可。

方法2:通过内核命令行参数生效

在系统启动时直接通过内核命令行设置该参数,生效时机更早:

  1. 可以在local.conf中添加内核命令行追加参数:
    KERNEL_CMDLINE_APPEND = "sysctl.kernel.sched_rt_runtime_us=-1"
    
  2. 或者针对Linux内核配方创建.bbappend文件,添加:
    KERNEL_CMDLINE_APPEND += "sysctl.kernel.sched_rt_runtime_us=-1"
    

验证方法

构建完成后启动目标系统,执行以下命令确认参数已生效:

sysctl kernel.sched_rt_runtime_us

输出应为kernel.sched_rt_runtime_us = -1。

内容的提问来源于stack exchange,提问作者tyleax

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 14:21:08