Creating a Custom Yocto Layer for Raspberry Pi Zero 2W
Raspberry Pi Zero 2W 기반으로 나만의 E-paper Device를 만들려고 합니다.
이전 Post에서는 나만의 Raspberry Pi 이미지를 만들기 위해 기존의 Yocto source를 받아 Base 이미지를 만들었습니다.
본격적으로 Custom Image를 만들기 위해 나만의 Meta Layer를 추가하겠습니다.
기존의 Poky나 meta-raspberrypi 또는 다른 meta-*를 수정하며 진행해도 되지만, 이렇게 하면 이후 유지보수가 어렵습니다.
그래서 관리 가능하도록 나만의 Layer를 만들어 이곳에 모든 수정사항을 다 넣어, 기존 Poky에 Meta Layer를 추가하기만 하면 나만의 이미지가 바로 나오도록 만들었습니다.
1. Adding a Skeleton Layer
bitbake에 create-layer라는 명령어가 있습니다.
이 명령어를 사용하면 Skeleton Layer를 쉽게 만들 수 있습니다.
Add a skeleton layershell
rpi-build를 살펴보시면 meta-jooojub-rpi가 생성된 것을 볼 수 있습니다.
우선 최초 생성된 상태 그대로 git init을 해서 베이스를 준비해 둡니다.
보통 Yocto 버전에 맞춰 레이어를 관리하기 때문에, 브랜치 이름은 Yocto 버전 명칭을 그대로 사용하는 편입니다.
create base git projectshell
2. Using Layers in the Build
다음은 직접 만든 Layer를 빌드에 추가해야 합니다.
현재 meta의 위치가 build 안에 있으니, 일관성을 위해 생성했던 meta-jooojub-rpi는 삭제하고 poky 내부에서 다시 clone하겠습니다.
clone in pokyshell
이제 poky로 meta-jooojub-rpi가 옮겨졌으니, add-layer하여 레이어를 추가하겠습니다.
shell
레이어가 문제없이 추가되었는지는 build/conf/bblayers.conf를 확인하면 됩니다.
build/conf/bblayers.confshell
3. Build Test
비록 비어 있는 meta-jooojub-rpi이지만, 추가가 잘 되어 있는지 빌드 테스트를 해보겠습니다.
shell
아무 문제없이 빌드된다면 일단 성공입니다.
4. Next Steps
다음에는 local.conf와 bblayers.conf에서 수정이 필요했던 부분을 meta-jooojub-rpi에 적용하여, 별도 수정 없이 바로 빌드 가능하도록 해보겠습니다.