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

基于Yocto在嵌入式Linux上配置SLP650打印机时CUPS服务缺失问题

解决Yocto构建后CUPS服务缺失的问题(针对sysvinit发行版)

我之前也碰到过类似的情况,结合Yocto里CUPS配方的逻辑,给你几个具体的排查和解决方向:

1. 先确认sysvinit真的被正确启用了

CUPS配方里的服务移除逻辑,核心是检查DISTRO_FEATURES里有没有sysvinit这个标记。有时候我们以为配置了,但实际构建环境里并没有生效:

  • 进入你的Yocto build目录,执行bitbake -e | grep DISTRO_FEATURES,仔细看输出里有没有sysvinit,同时要确保没有systemd(如果同时存在,init系统的优先级会出问题)
  • 如果sysvinit不在列表里,打开你的发行版配置文件(一般是conf/distro/你的发行版.conf),添加:DISTRO_FEATURES_append = " sysvinit",如果之前加过systemd,还要加上DISTRO_FEATURES_remove = " systemd",然后重新构建

2. 检查CUPS配方的服务安装逻辑

你提到CUPS的do_install任务会在非sysvinit环境下移除服务,但有时候这个条件判断可能有疏漏。你可以手动查一下配方的逻辑:

  • 找到CUPS配方的位置(通常在meta/recipes-extended/cups/cups_*.bb),看看里面的sysvinit相关代码块,大概是这样的:
if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
    install -d ${D}${sysconfdir}/init.d
    install -m 0755 ${WORKDIR}/cups.init ${D}${sysconfdir}/init.d/cups
    # 其他sysvinit相关的安装步骤
else
    rm -rf ${D}${sysconfdir}/init.d
fi
  • 如果发现逻辑有问题(比如条件写反了,或者路径不对),可以用bbappend来修正:
    在你的自定义layer里创建meta-yourlayer/recipes-extended/cups/cups_%.bbappend,添加:
do_install_append() {
    # 强制确保sysvinit服务被安装
    install -d ${D}${sysconfdir}/init.d
    # 注意:如果cups.init不在默认WORKDIR,需要先把脚本放到你的layer的files目录,再添加SRC_URI_append = " file://cups.init"
    install -m 0755 ${WORKDIR}/cups.init ${D}${sysconfdir}/init.d/cups
    
    # 同时添加到默认启动项
    if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
        install -d ${D}${sysconfdir}/rc.d
        ln -sf ../init.d/cups ${D}${sysconfdir}/rc.d/S90cups
    fi
}

3. 验证镜像里的CUPS服务文件是否存在

有时候构建过程看起来正常,但镜像打包时没把服务文件加进去:

  • 启动板卡后,先检查/etc/init.d/目录下有没有cups文件,如果没有,说明安装阶段就没把文件放进去,回到前面的配方检查
  • 如果有cups文件但服务没启动,手动执行/etc/init.d/cups start,看看有没有报错(比如依赖的库缺失,或者CUPS配置文件有问题)
  • 另外,检查/etc/rc.d/下有没有S90cups这样的软链接,没有的话需要手动添加,或者在配方里配置默认启动

4. 排查SLP650驱动配方的影响

有时候驱动配方的安装逻辑可能意外影响到CUPS的系统文件:

  • 打开你的SLP650驱动配方,看看有没有修改/etc/init.d/或者CUPS相关目录的操作
  • 如果有,调整驱动配方的逻辑,避免覆盖或删除CUPS的服务文件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 12:27:45