728x90

Yocto 40

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

[Yocto,OE] devtool 소개

devtool은 Yocto 빌드 시스템에서 개발을 편리하게 하기위해 도와주는 도구로 1.8 fido 버전부터 적용되고 있다. Usage 신규 recipe 생성, 기존 recipe 수정, 버전 upgrade 하여 개발하는 것을 기본적으로 지원한다. devtool add devtool modify devtool upgrade 일반적으로 기존 recipe를 수정하여 개발하는 것을 많이 사용하지 않을까 생각하여, 이를 중심으로 설명하고자 한다. devtool modify를 사용하는 방법으로, 기본적으로 workspace 디렉토리가 생성되고 그 아래 append recipe와 source 코드가 받아져서 개발을 할 수 있게 도와준다. 일반적으로 Yocto를 사용하여 빌드할 때, 소스는 WORKDIR에 받아져서, ..

Yocto 2023.04.20

Yocto Project로 빌드한 이미지 디버깅

Yocto Project로 이미지를 만들면 빌드 최적화(-O2 적용)가 되고, 디버깅 심볼 및 소스들이 포함되지 않는다. 이 글에서는 gdb로 디버깅 하기 위한 환경을 제공하고자 빌드 최적화 제외, 디버깅 심볼 및 소스를 루트 파일 시스템에 포함시키는 방법에 대해 간단히 설명하고자 한다. 아래 두가지 방법을 적용한 후 gdb, gdbserver+gdb를 사용하여 디버깅을 할 수 있다. 빌드 심볼 및 소스 포함 conf/local.conf 파일 내 EXTRA_IMAGE_FEATURES 변수에 "dbg-pkgs" 를 추가한 후 빌드한다. "dbg-pkgs" - Adds -dbg packages for all installed packages including symbol information for debu..

Yocto 2023.04.20
728x90
반응형