기본적으로 활성화되지 않은 시스템 서비스(그런데 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