我正在尝试在 Yocto 中创建一个符号链接,以启用默认情况下未启用的 systemd 服务(顺便说一下,apache2)。这是我的后处理命令:
my_postprocess_function() {
ln -s ${IMAGE_ROOTFS}/lib/systemd/system/apache2.service ${IMAGE_ROOTFS}/etc/systemd/system/multi-user.target.wants/apache2.service
}
ROOTFS_POSTPROCESS_COMMAND += "my_postprocess_function; "
当然,问题是源文件在目标上不存在,但是如果我使用正确的路径(即/lib/systemd/system/apache2.service
),它在开发计算机上不存在,然后配方失败。
在 rootfs(子)路径中创建符号链接的正确方法是什么?
答案1
通常,您可以创建指向不存在的目标的符号链接。例如,在任何 shell 中尝试
ln -s /no/such/file xxx
它会创建链接xxx
。因此,只需从命令中删除第一个 ${IMAGE_ROOTFS} 即可:
ln -s /lib/systemd/system/apache2.service ${IMAGE_ROOTFS}/etc/systemd/system/multi-user.target.wants/apache2.service