Posts Yocto Configuration -1
Post
Cancel

Yocto Configuration -1

Yocto Configuration

Yocto project를 이용하여 뭔가 일을 진행해야하는 경우에는 보통 나, 혹은 우리 회사가 만든 Software를 레시피화 하고 이를 포함한 다양한 레이어들을 합쳐, 하나의 리눅스 이미지를 만들어 사용하게된다. 이때, Yocto Project는 다양한 레이어들을 합쳐서 하나의 이미지를 만들어주는 역할을 한다.

그리고 생각해보면 우리의 Software는 다양한 환경(아키텍쳐)에서 동작해하는 경우도있고, 같은 소스코드를 기반으로 Configuration만 다르게하여 빌드해야하는 경우도 있다.

Yocto는 현재 Automotive 업계에서 많이 사용되므로 Automotive 업계에서 사용되는 Yocto의 Configuration을 예를 들어보자.

현재 우리가 빌드해야하는 소프트웨어 모듈의 이름이 TestModule이라고 가정하고 TestModule은 한차종만 지원해야하는 것이아니라 다양한 차종을 지원해야한다고 생각해보자.

그렇다면 우리는 TestModule을 빌드할때, 다양한 차종을 지원하기 위해 다양한 Configuration을 소스코드레벨부터 지원해야한다. TestModule이 Python이나 Bash같은 스크립트기반의 어플리케이션이면 좋겠지만, 대부분은 C/C++ 혹은 Rust, Go같은 언어로 작성되어있을 것이다. 이는 소스코드 뿐아니라 Build를 하기위한 Makefile, CMake, Scons, Meson, Bazel등의 Build System도 다양하게 사용되고 있을 것이다.

이를 Build System의 Configure Tool이라고 명하면, 이 Configure Tool에도 다양한 옵션들을 지원해야한다.

즉 소스코드레벨, Configure tool 레벨, 그리고 Yocto 레벨에서도 다양한 Configuration을 지원해야한다.

Configuration의 설계가 참 중요하고 이 설계가 Yocto와 같은 High level의 Build Framework을 통해 관리가 된다면, Build System의 Configure Tool을 통해 Configuration을 관리하는 것보다 훨씬 편리하고, 유연하게 Configuration을 관리할 수 있다.

이번 포스트에서는 Yocto에서 Configuration을 어떻게 관리하는지에 대해 알아보고자한다.

Yocto Configuration

Yocto에서 Configuration을 관리하는 방법 여러가지가 있지만, 이번 포스트에서는 Yocto의 Bitbake를 이용하여 Configuration을 관리하는 방법에 대해 알아보고자한다.

  1. Yocto의 Bitbake를 이용하여 Configuration을 관리하는 방법
  2. Yocto의 Bitbake를 이용하지 않고, Yocto의 Bitbake를 이용하여 빌드할때, Bitbake에게 Configuration을 전달하는 방법

다음 포스팅에 이어서 작성하도록 하겠다….

Reference

This post is licensed under CC BY 4.0 by the author.

DH Lee chatbot 만들기의 여정-1

2024-01-06 P의 하루

Comments powered by Disqus.