bitbake에서 머신 간 소스 파일 재사용

bitbake에서 머신 간 소스 파일 재사용

내 목표는 전체가 아닌 일부 시스템 간에 소스 파일을 공유하는 것입니다. 이 예에서 소스 디렉터리 machine_amachine_b서로의 정확한 복사본이므로 중복을 줄이기 위해 어떤 방식으로든 함께 결합하고 싶습니다.

recipe/
    machine_a/
        script_1.sh
        script_2.sh
    machine_b/
        script_1.sh
        script_2.sh
    machine_c/
        script_3.sh

개별 소스 파일 링크( -> 등) machine_b/뿐만 아니라 심볼릭 링크도 시도했지만 문제는 빌드가 도커 컨테이너에서 수행되고 작업이 전체 복사를 수행하지 않기 때문에 빌드에 원본 소스 파일에 액세스합니다.machine_a/machine_b/script_1.shmachine_a/script_1.shdo_fetch()

레시피 내부를 바꾸는 등 다른 방법도 생각해 볼 수 있지만 MACHINE_NAME그것이 완전히 효과적이지는 않을 것 같습니다.

이를 달성하는 가장 좋은 방법은 무엇입니까?

답변1

바인드 마운트를 실행할 수 있습니다. 따라서 병합하려는 폴더를 연결하는 대신 원하는 두 번째 위치에 동일해야 하는 폴더를 마운트하기만 하면 됩니다.

recipe/
├─ machine_a/
│  ├─ script_1.sh
│  ├─ script_2.sh
├─ machine_b      <-- mount the folder for machine_a here/
├─ machine_c/
│  ├─ script_3.sh

따라서 이 예에서 명령은 대략 다음과 같습니다.

$ sudo mount --bind recipe/machine_a recipe/machine_b

그런 다음 작동하면 설치를 추가하십시오./etc/fstab

관련 정보