반응형

Yocto 52

M1 Macbook에서 Yocto 빌드 환경 설정 2부 (네트워킹)

Macbook에서 Docker를 이용한 Yocto 빌드 환경 설정을 하는 것에 대해서는 https://yocto.tistory.com/158 에서 소개하였다. 이 글에서는 Yocto 빌드 후 생성된 qemu 이미지를 docker 환경 내에서 실행하여 docker host 환경과 실행된 qemu 내부의 shell 간의 네트워킹을 하는 방법에 대해서 설명하고자 한다. TUN/TAP (https://en.wikipedia.org/wiki/TUN/TAP) 환경을 root유저로 만들어서 실행을 하여 네트워크를 구성하는 것을 권장하지만 docker 환경 내이고 쉽게 테스트를 하기 위해 여기에서는 qemu를 실행할 때 user networking 환경인 slirp를 이용하여 구성한다. 이전 글에서도 설명했지만 실행은..

Yocto 2023.05.23

[yocto] ld: cannot find /lib/libc.so.6: No such file or directory

Yocto 빌드는 원칙적으로 툴체인을 포함한 모든 컴포넌트를 직접 빌드해서 사용한다. 컴포넌트를 빌드할 때 host 빌드 서버의 라이브러리들을 참고해서는 안된다. 이번에는 dunfell에서 잘 빌드되던 컴포넌트가 kirkstone으로 오면서 아래와 같은 에러가 발생했다. aarch64-poky-linux/11.3.0/ld: cannot find /lib/libc.so.6: No such file or directory /lib/libc.so.6 이 경로를 참조하면 안된다. sysroot의 경로를 제대로 참고해야하기 때문에 LDFLAGS += "-L${STAGING_LIBDIR}" 한줄을 yocto recipe에 라이브러리 PATH를 staging 에 명시적으로 넣어주면 된다.

Yocto 2023.05.19

M1 Macbook에서 Yocto 빌드 환경 설정

M1 Macbook Pro를 필자는 사용하고 있고 여기서 Yocto (OpenEmbedded) 오픈소스 기여를 하기 위해 Poky master 를 Docker (Apple Silicon 버전)를 활용하여 빌드하고 있다. 이 글에서는 M1 Macbook에서 Yocto 빌드 환경을 설정하기 위한 방법을 간략히 소개하고자 한다. Intel (linux/amd64) 버전의 docker image는 https://hub.docker.com/r/crops/poky 에서 docker pull crops/poky 명령을 통해 받을 수 있지만 arm64 버전은 받을 수 없어서 https://github.com/crops/yocto-dockerfiles 에서 제공하는 dockerfile를 이용하여 docker image를..

Yocto 2023.04.23

Yocto (kirkstone) build for raspberrypi4 64 on M1 pro macbook

M1 Macbook Pro에서 Docker를 설치하고 그 안에서 Yocto 빌드한 결과를 간단히 공유하고자 한다. 빌드하는 동안 약간의 발열 있었지만 팬이 돌아갈 정도는 아니였고 Intel (Core i9) Mackbook 처럼 엄청 뜨거워지지 않았고, 소음도 거의 없었다. 이부분에서 특히 Apple Silicon 에 감탄하였다. Docker 이미지는 간단하게 docker pull ubuntu 명령어로 통해 설치하였고 그 내부에서 apt로 빌드에 필요한 라이브러리와 도구를 설치하였다. M1 Mackbook Pro 16 inch Spec OS: macOS Monterey (12.6) Chip: Apple M1 Pro (10 Cores - 8 performance and 2 efficiency) Memory..

Yocto 2023.04.23

Yocto vs Debian (package-based) build system

Yocto 프로젝트와 Package-based 기반의 Debian 빌드 시스템을 비교한 자료이다. 요약하자면 Debian 빌드 시스템은 잘 갖추어진 환경에서 빠른 PoC 를 진행하기에 좋고, 오랫동안 유지하면서 플랫폼을 개발하려면 Yocto 가 좋은 것 같다. 물론 둘다 장단점이 있다. 좀 더 두 다른 시스템을 공부해서 비교해보면 좋을 것 같긴하다. Package-based 기반이 Suse에서 제공하고 삼성 Tizen에서 사용하고 있는 OBS도 있고 레드햇의 RPM 기반도 있다. Reference https://www.bytesnap.com/debian-vs-yocto-for-embedded-systems/ https://www.prevas.dk/download/18.58aaa49815ce6321a327..

Yocto 2023.04.23

Yocto Project Dev Day Virtual North America 2020 후기

ELC 2020 Virtual Conference가 끝나고 Yocto Project Dev Day가 Zoom 으로 진행되었다. https://www.yoctoproject.org/yocto-project-dev-day-virtual-north-america-2020/ 에 가면 세션이 있고 발표자료는 https://wiki.yoctoproject.org/wiki/YP_DevDay_Austin_2020에서 받을 수 있다. 필자가 느낀점을 간단히 이야기해보려고 한다. 약 200명정도가 들어왔고 전체적으로 진행이 부드러웠다. zoom이 보안이슈가 있었지만 개인적으로 제일 안정적인 것으로 생각된다. 곧 Automotive Software Conference Korea Virtual 2020을 아주 가볍게 진행해보..

Yocto 2023.04.22

Heading for the yocto project (Yocto 프로젝트를 처음 시작하는 개발자들을 위한 오픈 소스 책)

Yocto 프로젝트를 처음 시작하는 독자들을 위한 50 page 정도의 입문서가 오픈 소스로 github, https://github.com/CollaborativeWritersHub/heading-for-the-yocto-project에서 작업되고 있다 https://github.com/CollaborativeWritersHub/heading-for-the-yocto-project/releases 에 가보면 첫번째 버전을 볼 수 있고 아주 기초적인 내용들을 볼 수 있다. 안타깝지만 영어로 되어 있고, 곧 필자가 시간이 되면 번역하여 한국어판으로도 github에서 볼 수 있게 할 예정이다. 이 책은 Yocto 프로젝트의 기술적인 내용보다는 Yocto 프로젝트가 무엇이며 프로젝트에 적용하면 어떤 점이 좋고..

Yocto 2023.04.21

Yocto Project vs Buildroot

Yocto Project와 Buildroot 모두 Embedded Linux를 쉽게 만들기 위한 빌드 프레임워크이고, 많은 프로젝트에서 사용중에 있다. 필자는 Yocto Project 경험이 있지만 Buildroot 경헙은 거의 없고 단지 문서만 읽고 둘간의 차이를 간단히 비교해 보고자 한다. Yocto Project/OpenEmbedded는 Python 기반의 Task scheduler인 bitbake와 metadata로 이루어져 있고, Buildroot는 make 문법 기반이고 대부분 shell script로 이루어져 있다. 빌드 및 환경 설정은 kernel 과 유사하다. 가볍고 확장성이 적은 프로젝트를 한다면 Buildroot를, 대규모 프로젝트이며 다양한 SoC, 확장성을 고려하면 Yocto Pr..

Yocto 2023.04.21

Yocto 프로젝트(morty, 2.2)를 사용한 라즈베리파이 QT(v5.7) 빌드

Yocto를 이용하여 Raspberry Pi 3에 QT(v5.7)를 빌드하는 방법을 설명한다. 1. Poky morty(2.2) branch를 다운로드 한다. $ git clone git://git.yoctoproject.org/poky -b morty 2. Poky 디렉토리에 meta-raspberrypi morty branch를 다운로드 한다. $ git clone git://git.yoctoproject.org/meta-raspberrypi -b morty 3. Poky 디렉토리에 meta-qt5 morty branch를 다운로드 한다. $ git clone git://github.com/meta-qt5/meta-qt5 -b morty 4. meta-poky/conf/local.conf.sample..

Yocto 2023.04.20

Yocto Project Developer Day EU 2016 참석 후기

Yocto Project Developer Day 소개 ELCE (Embedded Linux Conference Europe) 2016이 시작되기 하루전 같은 장소(독일 베를린)에서 Yocto Project Developer Day가 열렸다. 매년 2번 ELC, ELCE에 붙여서 하루를 진행한다. 올해도 Intro와 Advanced 두개로 나누어서 진행을 했고 필자는 Advanced에 참석을 했다. Advanced에는 주로 새로운 기능들에 대한 소개 및 고급 기술(?) 들에 대해 소개한다. 중요한 것은 Yocto를 지원하는 개발보드를 주는데 올해는 Intel Minnowboard Turbot, Beaglebon Black, Qualcomm Dragonboard 410c 중 한 개를 선택할 수 있었고, 작..

Yocto 2023.04.20
728x90
반응형