Yoctoのシンボリックリンク

Yoctoのシンボリックリンク

デフォルトでは、有効でないシステムサービス(ただしapache2)を有効にするためにYoctoでシンボリックリンクを作成しようとしています。私の後処理コマンドは次のとおりです。

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

通常、存在しないターゲットへのシンボリックリンクを作成できます。たとえば、すべてのシェルで次のようにします。

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

関連情報