생성할 layer이름을 custom이라고 하자.
$ cd ~/yocto/poky
$ source oe-init-build-env qemux86
$ cd ..
$ yocto-layer create custom
이후, example 생성하겠냐는 물음에 y로 대답 진행하면 기본예제로 helloworld.c 및 기본 자동 생성.
2. 생성된 디랙토리
[meta-custom]
├── COPYING.MIT
├── README
├── conf
│ └── layer.conf
├── recipes-example
│ └── example
│ ├── example-0.1
│ │ ├── example.patch
│ │ └── helloworld.c
│ └── example_0.1.bb
└── recipes-example-bbappend
└── example-bbappend
├── example-0.1
│ └── example.patch
└── example_0.1.bbappend
3. qemux86/conf/bblayer.conf 수정.
새로운 layer(노란색부분)추가.
# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
LCONF_VERSION = "6"
BBPATH = "${TOPDIR}"
BBFILES ?= ""
BBLAYERS ?= " \
/home/keunho/yocto/poky/meta \
/home/keunho/yocto/poky/meta-yocto \
/home/keunho/yocto/poky/meta-custom \
"
BBLAYERS_NON_REMOVABLE ?= " \
/home/keunho/yocto/poky/meta \
/home/keunho/yocto/poky/meta-yocto \
"
4. qemux86/conf/local.conf의 제일 마지막에 아래 라인 추가.
IMAGE_INSTALL_append = " example"
GNU project 추가방법은 아래 링크 참고. https://wiki.yoctoproject.org/wiki/How_do_I#Q:_How_do_I_put_my_recipe_into_Yocto.3F
example이 실행되면서 실제 실행파일인 helloworld가 /usr/sbin에 설치.
5. 빌드
$ bitbake core-image-minimal
6. 실행
$ runqemu qemux86 core-image-minimal
7. 확인
QEMU에서 helloworld 입력하면 Hello World! 출력.
GNU project 추가방법은 아래 링크 참고. https://wiki.yoctoproject.org/wiki/How_do_I#Q:_How_do_I_put_my_recipe_into_Yocto.3F
댓글 없음:
댓글 쓰기