git에서 bitbake 구성과 사용된 레이어를 추적하는 올바른 방법은 무엇입니까?
답변1
이것이 내가 찾은 가장 효과적인 방법입니다:
git submodule add git://git.yoctoproject.org/poky.git
my-yocto
루트 디렉터리 에서 실행합니다.
source poky/oe-init-build-env .
Yocto GB의 임시 my-yocto
파일 이 .poky
poky
- 이 스크립트는 일부 파일이 포함
conf
된 디렉터리를 생성하고 이를 저장소에 추가합니다.my-yocto
conf/local.conf
conf/bblayers.conf
- 기본적으로 yocto는 절대 경로로 설정됩니다
bblayers.conf
. 이는 Alice가 설정한 저장소가 Bob의 컴퓨터에서 실행될 수 없음을 의미합니다.bblayers.conf
Yocto 변수를 사용하여 수정하여 이 문제를 해결했습니다${TOPDIR}
.
(...)
BBLAYERS ?= " \
${TOPDIR}/poky/meta \
${TOPDIR}/poky/meta-poky \
${TOPDIR}/poky/meta-yocto-bsp \
(...)
지원되는 플랫폼으로 편집하세요
local.conf
.MACHINE=beaglebone-yocto
에서 을
my-yocto
실행합니다bitbake core-image-minimal
. 컴퓨터의 통풍이 잘 되는지 확인하고 하이킹을 가세요.
이것이 작동한다면, 하위 모듈로 Meta-openembedded 등을 추가하여 나머지 구성을 구축할 수 있습니다. 모든 사용자 정의 레이어는 git 하위 모듈 세부 정보와 bitbake 구성만 포함 my-yocto
하도록 git 저장소와 분리하는 것이 좋습니다 .my-yocto
빌드하기 전에 업데이트하려면 다음을 실행하세요.
git pull
git submodule update --remote --recursive
git submodule init
다른 사용자는 복제 후 한 번 실행해야 합니다 my-yocto
.
다른 두 가지 제안:
먼저, 여러 시스템용으로 구축하는 경우 각 시스템에 대해 local.conf를 만들고 local.conf에서 시스템별 conf 파일로의 심볼릭 링크를 만듭니다. 이를 통해 여러 컴퓨터를 추적할 수 있습니다 my-yocto
.
둘째, 각 yocto 분기(예 tmp-zeus
: , tmp-dunfell
, , tmp-gatesgarth
)에 대한 임시 디렉터리를 만든 다음 tmp
빌드하려는 분기에 대한 심볼릭 링크를 만듭니다. (git에 추가하지 마세요.) Yocto는 디렉토리에 많은 데이터를 축적 tmp
하고 tmp
브랜치를 전환할 때 이를 정리해야 합니다. 최신 버전으로 마이그레이션하면 문제가 없지만 브랜치 간에 앞뒤로 전환하면 캐시된 데이터가 모두 손실되는 것은 끔찍한 일입니다.