我有一个基于Yocto的操作系统,上面已安装了一切以启动网络。
尽管如此,每次引导我都需要执行systemctl start networking
来启动它。最初,该服务甚至被屏蔽。我了解了如何取消屏蔽它,但找不到自动启动它的方法。
我对systemd不太了解,但是networking.service位于generator.late
文件夹中。据我了解,它是随后产生的。
如何启用它?
答案 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