Yocto禁用在编译时自动启动systemd服务 [英] yocto disable autostart of systemd services at compile time

查看:0
本文介绍了Yocto禁用在编译时自动启动systemd服务的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的嵌入式Linux目标上运行用Yocto编译的Linux映像时,我想禁用在引导时自动启动timesyncd.service

在我的主板名称下,我尝试创建内容位于

的Systaind_%.bbappend文件

/meta-xxxx/recipes-core/systemd/systemd_%.bbappend

inherit systemd
do_install_append() {

        echo "djm";
        #rm -fr ${D}${sysconfdir}/systemd/system/dbus-org.freedesktop.resolve1.service
        #rm -fr ${D}${sysconfdir}/systemd/system/multi-user.target.wants/systemd-resolved.service

        #rm -fr ${D}${sysconfdir}/systemd/system/dbus-org.freedesktop.timesync1.service
        #rm -fr ${D}${sysconfdir}/systemd/system/sysinit.target.wants/systemd-timesyncd.service
        echo "djm-2";
        echo "D=  "  ${D};
        echo "syscondfdir= " ${sysconfdir};
        ls -l  ${D}${sysconfdir}/systemd/system/
 #      exit 1

}

但我仍在/etc/systemd/system文件夹中看到启动Timesyncd的软链接

打印${D}显示

build-xxxx/tmp/work/cortex-xxxx-linux-gnueabi/systemd/1_243.2-r0/image

build-xxxx/tmp/work/cortex-xxxx-linux-gnueabi/systemd/1_243.2-r0/image/etc现在为空

因此,这意味着当DO_INSTALL_APPEND运行时,文件夹结构是空白的,并且创建/创建软链接的流的真正方法是不同的方法或不同的功能? 有人能帮我吗?我应该如何在Yocto中编译时做到这一点?

推荐答案

弄清楚如何执行此操作后,我们必须为默认随系统d一起提供的功能/程序包更新系统.preset文件。

在文件meta-xxx/recipes-core/systemd/systemd_%.bbappend

do_configure_append() {

#disabling autostart of systemd-timesyncd
    sed -i -e "s/enable systemd-timesyncd.service/disable systemd-timesyncd.service/g" ${S}/presets/90-systemd.preset

#disabling autostart of systemd-resolved
    sed -i -e "s/enable systemd-resolved.service/disable systemd-resolved.service/g" ${S}/presets/90-systemd.preset
}

这篇关于Yocto禁用在编译时自动启动systemd服务的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆