【问题标题】:How to enable networking service at boot in Yocto如何在 Yocto 启动时启用网络服务
【发布时间】:2019-06-18 02:49:32
【问题描述】:

我有一个基于 Yocto 的操作系统,我已经安装了所有东西来启动网络。

尽管如此,每次启动时我都需要使用systemctl start networking 来启动它。最初,该服务甚至被屏蔽了。我发现了如何取消屏蔽它,但我找不到自动启动它的方法。

我对 systemd 不太了解,但networking.service 位于generator.late 文件夹中。据我了解,是后来生成的。

如何启用它?

【问题讨论】:

    标签: yocto systemd


    【解决方案1】:

    这取决于您是否只想在一台特定设备上启用该服务。如果是,很简单:

    systemctl enable networking
    

    如果你现在也想启动服务,附加参数--now

    如果您想在您的所有设备上启用该服务(即它将在​​所有来自构建的图像中自动启用),最好的方法是扩展配方,但请参阅下面的其他方法来处理网络。例如,NXP support 描述了该过程。

    关于networking.service 本身的一些注释:我假设您的networking.service 来自init-ifupdown 配方。如果是,是否有任何理由在带有 systemd 的系统中使用旧的 SysV 初始化脚本来处理网络配置?该服务由systemd-sysv-generator 从 SysV 初始化脚本生成。所以我建议尝试其他网络服务,比如 systemd 的原生“systemd-networkd”、“NetworkManager”或“connman”。最佳选择取决于嵌入式 systemd 的类型。这些服务与 systemd 的集成要好得多。

    有关激活或启用服务的更多信息:https://unix.stackexchange.com/questions/302261/systemd-unit-activate-vs-enable

    【讨论】:

    • 感谢 Thomas 的详尽解释。你是对的,我使用的是 init-ifupdown。我想尽可能地减少系统。我选择了 connman,它可以直接启动我的界面。
    猜你喜欢
    • 2020-05-11
    • 2016-06-18
    • 1970-01-01
    • 2012-09-28
    • 2021-07-31
    • 2016-08-15
    • 2016-10-08
    • 1970-01-01
    • 2016-12-28
    相关资源
    最近更新 更多