Symlink
Yocto 中的符號連結
我正在嘗試在 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(子)路徑中建立符號連結的正確方法是什麼?
通常,您可以創建指向不存在的目標的符號連結。例如,在任何 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