如何在Yocto的启动时启用网络服务

时间:2019-01-24 11:20:51

标签: yocto systemd

我有一个基于Yocto的操作系统,上面已安装了一切以启动网络。

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

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

如何启用它?

1 个答案:

答案 0 :(得分: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的集成更好。

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