系统定制
Systemd customization
我有一个基于 i.MX6 的最小嵌入式系统,它没有任何网络连接。我正计划自定义 systemd,这样启动时间会更短。目前,用户 space 需要更多时间才能启动。
我已经使用 yocto 构建了图像。
是否可以使用 yocto 自定义 systemd?或者需要在开发板启动后使用 sysctl 禁用 systemd 服务。
首先检查启动板时有多少systemd服务文件运行。
etc/systemd/system/
启动时所有正在运行的服务的路径。
尝试一项一项地删除所有服务 (*.services
) 并启动开发板。
这可以从 yocto 本身完成。但在开始删除之前,请确保在 systemd 中列出您不想要的子 components/packages。
大多数时候您可能对 timesyncd、timedated 和其他与网络相关的软件包也不感兴趣。
获取完整列表here。这是最新版本的 systemd bitbake 及其提供的所有可用软件包。选择你想要的列表并在 .bbappend 文件中只启用你想要的列表
如果您对已启用的包没有足够的控制权,请创建一个名为“systemd_%.bbappend 的自定义 .bbappend(可能在您的自定义层中)和添加,
PACKAGECONFIG_remove = "list of packages to remove".
这将删除您在 systemd 中不需要的软件包。相同的过程适用于非 systemd 组件。
我有一个基于 i.MX6 的最小嵌入式系统,它没有任何网络连接。我正计划自定义 systemd,这样启动时间会更短。目前,用户 space 需要更多时间才能启动。 我已经使用 yocto 构建了图像。
是否可以使用 yocto 自定义 systemd?或者需要在开发板启动后使用 sysctl 禁用 systemd 服务。
首先检查启动板时有多少systemd服务文件运行。
etc/systemd/system/
启动时所有正在运行的服务的路径。
尝试一项一项地删除所有服务 (*.services
) 并启动开发板。
这可以从 yocto 本身完成。但在开始删除之前,请确保在 systemd 中列出您不想要的子 components/packages。
大多数时候您可能对 timesyncd、timedated 和其他与网络相关的软件包也不感兴趣。
获取完整列表here。这是最新版本的 systemd bitbake 及其提供的所有可用软件包。选择你想要的列表并在 .bbappend 文件中只启用你想要的列表
如果您对已启用的包没有足够的控制权,请创建一个名为“systemd_%.bbappend 的自定义 .bbappend(可能在您的自定义层中)和添加,
PACKAGECONFIG_remove = "list of packages to remove".
这将删除您在 systemd 中不需要的软件包。相同的过程适用于非 systemd 组件。