yocto 80

Yocto 빌드를 위한 최신 AMD Ryzen 7985WX

4년 정도 전에 회사에서 Yocto 빌드를 하기 위해 32 Core CPU를 가진 AMD Ryzen™ Threadripper™ 2990WX 을 구매했다. 이 당시만 해도 전체 Core를 사용해서 빌드하면 빌드하다가 멈추고, PC가 죽어버리는 문제가 발생해서 안정적이지 않았고 어쩔 수 없이 32 Core, 64 Thread 전체를 사용하지 못하고 절반 정도밖에 사용하지 못했다. 결국 1달 전에 저 PC가 고장이 났고 새로 구매하는 상황이 발생했다. IT에서 위의 그림에 있는 3가지 옵션 (7995WX, 7985WX, 7975WX)을 주었고 팀내 현재 남은 예산에 맞게 최종적으로 7985WX를 구매했다. 7995WX는 96코어 192 스레드여서 그만큼 메모리도 많이 필요해 DDR5 4800 64GB짜리 8개..

Development 05:54:02

repo manifest 명령어 사용

Repo는 안드로이드 오픈소스 프로젝트(Android Open Source Project, AOSP)에서 주로 사용하는 도구로, 여러 개의 Git 리포지토리를 관리하기 위해 설계되었다. Git은 강력한 버전 관리 시스템이지만, 대규모 프로젝트에서 여러 개의 리포지토리를 다루는 데는 불편함이 있을 수 있다. Repo는 이를 해결하기 위해 만들어졌으며, 여러 Git 리포지토리를 한꺼번에 클론하고 업데이트하며 동기화하는 기능을 제공한다. Repo의 주요 기능  1. 여러 Git 리포지토리 관리: 여러 리포지토리를 쉽게 클론하고 업데이트할 수 있다. 2. 명령어 자동화: 여러 리포지토리에 걸친 변경 사항을 동기화하거나 상태를 확인할 수 있는 명령어를 제공한다. 3. 메타데이터 관리: 각 리포지토리의 의존성, 버..

Development 2024.10.01

Yocto 회원 가입 (MBition)

드디어 MBition (Mercedes-Benz Innovation Lab)이 Yocto 회원으로 가입했다. LG전자에 근무할 때 Yocto 회원사에 필자가 2016년에 가입을 했고 2019년 퇴사할때까지 LG전자 대표로 Board 미팅에 참석했다. 그때 제일 등급이 낮은 Silver 멤버로 가입을 했고, 필자가 퇴사한 후 이제는 1억이 넘게 내고 제일 높은 위치의 PLATINUM MEMBERS로 변경했다. LG전자는 webOS에서 여전히 Yocto를 빌드 프레임워크로 사용하고 있고 앞으로도 계속 사용할 것으로 예상된다. Yocto 멤버십에 가입하면 등급에 따라 다음과 같은 비용과 혜택이 주어진다. https://www.yoctoproject.org/join/ 링크에서 자세한 내용을 볼 수 있다. 가장 ..

Yocto 2024.09.25

티스토리 블로그 구독 및 댓글 동작 안할 경우 (yocto.tistory.com 접속)

티스토리는 http://www.yocto.co.kr/ 과 같이 https://yocto.tistory.com/ 이 아닌 2차 도메인을 연결할 경우 블로그 구독 및 댓글 기능이 정상동작하지 않습니다. 이는 https://notice.tistory.com/2546 에 알려진 이슈입니다. 2020년도에 공지되어 알려져 있지만 4년이 지난 지금도 해결이 안되어 있습니다. 구독과 댓글을 남기고 싶으신 분들은 https://yocto.tistory.com/ 로 접속하여 해주시면 감사하겠습니다.

Etc 2024.09.02

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 소스 코드 MIRROR를에 AWS S3와 연결

앞의 글 (https://yocto.tistory.com/315)에서 Yocto의 MIRROR에 대해서 설명했고 이를 설정할 수 있는 AWS EFS와 S3에 대해서 간단히 설명했다. 이제 실제로 AWS S3에 MIRROR를 어떻게 설정하고 테스트하는 것에 대해서 적어보고자 한다. PREMIRROR를 구성할 때 AWS S3가 EFS에 비해 좋은 점은 엄청난 비용 절감 및 같은 AWS 리전 내이면 네트워크 비용이 없고 속도가 빠르다는 장점이 있다. 솔직히 Yocto에서 S3를 지원하기 때문에 간단한 설정만으로도 사용할 수 있어 표준을 지원하지 않는 다는 단점은 없는 것 같다. 이제 본격적으로 AWS S3를 사용하여 MIRROR 서버를 구축하는 방법을 알아보자. 사전에 AWS S3에 들어가서 chanbae라는..

Yocto 2024.08.15

Yocto 소스 코드 MIRROR를에 대한 이해 및 AWS Storage Service

Yocto 프로젝트에서 MIRROR는 소스 코드를 다운로드할 때 참조할 수 있는 대체 저장소를 의미한다. 이는 빌드 시스템이 외부 인터넷 리소스에 의존하지 않고, 지정된 미러 서버나 로컬 저장소에서 필요한 소스를 먼저 다운로드할 수 있도록 하여, 빌드 효율성을 향상시키고, 네트워크 대역폭을 절약하며, 다운로드 실패 가능성을 줄이는 데 도움을 준다.MIRROR의 주요 기능과 이점 1. 속도 향상: 내부 네트워크에 위치한 미러 서버를 사용할 경우, 인터넷보다 훨씬 빠르게 소스를 다운로드할 수 있다. 2. 대역폭 절약: 외부 인터넷 트래픽을 줄이고, 내부 네트워크를 활용하여 대역폭을 절약할 수 있다. 3. 빌드 안정성: 외부 서버의 가용성 문제나 네트워크 연결 문제에도 불구하고 안정적으로 빌드를 진행할 수 있..

Yocto 2024.08.14

[번역] Embedded Linux Development Using Yocto Project 3판

작년 3월 아주 간단하게 https://www.yocto.co.kr/180 에서 Embedded Linux Development Using Yocto Project 3판에 대한 도서리뷰를 진행했다. 이후 출판사와 이야기하여 2023년 6월에 번역을 진행하기로 합의하고 연말까지 번역을 완료하기로 했다. 생각보다 2판에 비해 수정사항이 많아서 작지만 번역료는 처음부터 번역하는 가격과 동일하게 진행하기로 했다. 원래는 수정부분에 대한 페이지별로 번역료가 책정되지만 이 경우는 많은 부분이 최신 버전으로 업데이트 되고, 일부 장은 추가되기도 해서 그렇게 진행하기로 에이콘 출판사와 합의를 했다. 최종 번역 초안은 12월 중순에 출판사에 전달하였고 그 뒤로 자잘하게 1-2번 수정을 했다. 초안이 전달되고 정산일인 1..

Book 2024.08.07

Yocto Shared State Cache 디버깅 하기

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

Yocto 2024.07.31

빌드 성능 개선 (최적화)

작년 10월 https://www.yocto.co.kr/176 글에서 Yocto 빌드 성능 최적화에 대해서 글을 썼고 중간중간 clang 적용, ccache 적용 등 회사에서 작업한 내용들을 간단히 적어보았다. 이 글에서는 일반론적인 임베디드 소프트웨어 개발에서 빌드 성능을 개선할 수 있는 작업들을 경험을 토대로 적어보고자 한다. Yocto Linux, QNX, 안드로이드 등 OS를 포함하는 빌드에서 성능을 개선하는데 큰 그림이 될 수 있을 것으로 생각된다. 차량용 ECU가 여러 개에서 하나로 통합되면서 고성능의 SoC가 필요하고 그 위에 하이퍼바이저 기반으로 여러개의 OS가 올라가서 동작한다. 이 각각의 OS를 빌드하는데도 오랜 시간이 걸리고 클라우드를 사용하면 그 비용을 상당히 많이든다. 현재 프로젝..

Development 2024.07.25