반응형

bitbake 7

systemd logind 서비스 idle 상태에서 꺼짐 방지 (background 서비스)

systemd의 logind 서비스에서 서버의 상태가 idle일 때 poweroff를 하도록 설정하려면 아래와 같이 하면 된다. 파일: /etc/systemd/logind.confIdleAction=poweroffIdleActionSec=30min 이후 아래 명령어로 systemd 서비스를 재시작해주면 반영된다.$ systemctl daemon-reload$ systemctl restart systemd-logind.service 여기서 문제는 idle 상태에 대한 판단은 사용자 인터랙션이기 때문에 background로 빌드가 돌아가고 사용자가 세션을 나가버리면 idle 상태로 인식하고 30분후에 자동으로 꺼진다는 것이다. 이에 대한 해결 방법은 다음과 같이 명령어를 주면 background로 돌아가는..

Linux 2024.08.29

Yocto Shared State Cache 디버깅 하기

Yocto 프로젝트의 shared state cache (SSTATE)는 빌드 시스템의 빌드 속도와 효율성을 높이기 위해 사용하는 메커니즘이다. 이 캐시 시스템은 이전에 빌드된 결과물을 재사용할 수 있도록 하여, 매번 전체 빌드 과정을 다시 수행하지 않아도 되게 한다. 위의 그림은 Bazel의 Remote cache에 대해 설명한 그림인데, Yocto의 Shared State Cache 또는 PREMIRROR 도 비슷하다. 원격의 공유할 수 있는 공간에 Cache를 담아 놓고 빌드할 때 접근해서 캐시를 사용한다. 캐시는 이미 빌드해 놓은 결과물로써 변경이 없으면 그대로 사용하여 빌드 속도를 향상시키는데 주 목적이 있다. 하지만 가끔 변경이 없거나 잘못된 의존성 등으로 인해서 Cache Hit이 되지 않아..

Yocto 2024.07.31

Yocto 병렬 빌드 옵션 최적화

Yocto 프로젝트에서 병렬 빌드 옵션을 설정하면 빌드 속도를 크게 향상시킬 수 있다. 일반적으로 Yocto 프로젝트는 OpenEmbedded 빌드 시스템을 사용하며, 병렬 빌드 옵션을 설정할 때 다음 두 가지 주요 변수를 설정해야 한다.BB_NUMBER_THREADS: BitBake가 병렬로 실행할 수 있는 스레드의 수를 지정한다.PARALLEL_MAKE: make가 병렬로 실행할 수 있는 작업의 수를 지정한다.이 변수의 기본 값은 빌드하는 호스트의 CPU 개수 값으로 meta/conf/bitbake.conf 파일에 설정 되어 있다. 작은 프로젝트나 Yocto 프로젝트의 레퍼런스인 Poky를 빌드할 때 기본 옵션을 사용해도 크게 상관은 없지만 이 옵션들은 빌드 호스트 머신의 성능과 프로젝트에 맞게 커스..

Yocto 2024.06.10

[도서 리뷰] Yocto, 쉽게 이해하고 깊게 다루기

국내 최초의 Yocto 저서 "Yocto, 쉽게 이해하고 깊게 다루기"를 구매해서 3일 동안 편하게 훓어보았다. 작년인가 제작년에 에이콘 출판사에서 이 책을 출간한다고 해서 리뷰를 간단히 한 적이 있는데 .. 기술적인 내용을 더 얻기 보다는 궁금해서 읽어보았다. 전반적으로 Yocto 를 처음 접하거나 개념을 잡을 때 시작하기 좋은 책인 것 같다. 지금까지 나온 다른 원서보다 내용도 쉽게 설명되어 있고 필요한 대부분의 내용이 초보자 수준에서 다 기술되어 있다. 물론 여기서 말하는 초보자는 약간의 임베디드 지식을 알고 있는 Yocto 초보자에 해당된다. 이 책을 읽기전에 임베디드 리눅스 개발에 대한 지식이 있으면 훨씬 더 이해하기 좋을 것 같다. 600쪽이 넘지만 글자도 크고 내용이 (필자 기준) 어렵지 않..

Book 2024.05.04

Yocto (OpenEmbedded) 의존성 관리

Yocto 프로젝트에서 의존성 관리하는 방법과 의존성을 쉽게 추출하여 볼 수 있는 도구가 있어 간단히 소개하고자 한다. 의존성 (Dependency) 관리 의존성에는 크게 런타임 의존성과 빌드타임 의존성이 있다. 말 그대로 런타임 의존성은 실제 시스템 동작시 필요한 의존성이다. 예를 들면 시스템에서 실행 중 A라는애플리케이션에서 버튼을 눌러 특정 동작을 하라고 명령을 내리면 IPC를 통해 다른 프로세스로 실행중인 B라는서비스의 API를 실행할 A 애플리케이션은 B 서비스에 런타임 의존성을 가진다고 할 수 있다. 빌드 타임 의존성은 빌드 과정중에 필요한 의존성으로 빌드할 때 필요한 라이브러리가 그 하나의 예가 될 수 있다. Yocto에서는 각 레시피에서 DEPENDS와 RDEPENDS 변수를 통해 빌드타임..

Yocto 2023.09.22

Yocto 개발 환경 (SDK, eSDK, devtool 등)

Yocto 기반으로 임베디드 리눅스를 개발할때 일반적으로 많이 사용하는 개발 환경을 소개하고자 한다. 다들 알고 글을 읽고 있겠지만 간단히 Yocto에 대해서 다시 소개하자면 하드웨어 아키텍처와 무관하게 커스텀 임베디드 리눅스를 만들기 위한 빌드 프레임워크이다. 자세한 내용은 https://www.yoctoproject.org/ 를 방문해서 문서와 함께 살펴보면 된다. Yocto 기반으로 개발을 해본 분들은 알고 있겠지만 일단 Yocto 자체를 배우는 것에 대한 시간이 소요된다. 오죽하면 "욕나오고 토나온다고 해서" 욕토라고 하겠는가? :) 물론 Yocto 원어는 10의 -24승, 아주 작은 단위를 말한다. 이유야 어찌되었건 그만큼 Yocto 환경에서 개발하는데 어렵다는 의미이다. 그럼 왜그렇게 다들 어..

Yocto 2023.09.21
728x90
반응형