반응형

Yocto 50

Yocto에서 icecc (icecream) 테스트 중간 결과

Yocto 환경에서 병렬 빌드로 icecc (icecream)을 사용할 수 있고, 회사 내에 workstation farm을 만들어서 사용하려고 테스트 중에 있다. 아직 완벽하게 테스트가 끝난 것은 아니기 때문에 현재 상태와 문제점 및 개선점을 중간에 정리해보려고 적어 놓았다. icecc 설정 방법에 대해서는 나중에 블로그 글 하나로 쓸 예정이니 기다려주거나 구글링을 해서 직접 설정해보기 바란다.icecc (icream란)?IceCC (Icecream)은 컴파일 작업을 여러 대의 컴퓨터에 분산시켜 컴파일 속도를 높이는 오픈소스 툴이다. 주로 리눅스 환경에서 대규모 소프트웨어 빌드에 사용되며, GNU make나 CMake와 같은 빌드 시스템과 함께 사용될 수 있다. 주요 특징:분산 컴파일: 네트워크에 연결..

Yocto 2024.11.04

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 소스 코드 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

Yocto Shared State Cache 디버깅 하기

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

Yocto 2024.07.31

AWS에서 Yocto Shared State Cache 설정 (CI 환경)

빌드 속도 최적화 및 AWS 비용 최적화 작업을 진행중에 있다. MR (Merge Request) / PR (Pull Request) 하나에 10개 이상의 빌드가 동시에 돌아가고 이에 따라 AWS 비용이 엄청나게 증가하고 있다. 또한 경우에 따라 빌드가 안정적이지 않아 다양한 이슈가 생기고 있다. Yocto Shared State CacheYocto 프로젝트의 sstate cache(Shared State Cache)는 빌드 속도를 크게 향상시키기 위해 사용되는 기능이다. 이를 통해 Yocto는 재빌드 시 동일한 작업을 반복하지 않고 이미 완료된 작업을 재사용할 수 있다. 이전 글 (https://www.yocto.co.kr/291) 에서 Shared State Cache에 대해서 조금 더 이야기 했으니..

Yocto 2024.06.25

Yocto의 PREMIRROR와 Shared State Cache (빌드 속도 향상)

Yocto 빌드 속도를 향상시키는 방법 여러가지가 있다. 대표적으로 소스코드의 파일을 다운로드해서 미리 저장해 놓는 PREMIRROR, 그리고 Yocto에서 지원하는 Shared State Cache이다.PREMIRRORYocto 프로젝트에서 premirror는 빌드 속도를 향상시키기 위한 중요한 기능 중 하나다. premirror는 빌드 중 다운로드되는 소스 코드, 패치 파일, 그리고 기타 필요한 파일들을 저장하는 미러 서버를 설정하는 기능을 말한다. 이를 통해 네트워크 다운로드 시간을 줄이고, 빌드 환경에 필요한 파일들을 신속하게 접근할 수 있다. premirror를 설정하면 Yocto 빌드 시스템이 소스 파일을 다운로드할 때 먼저 지정된 미러 서버를 확인한다. 만약 미러 서버에서 파일을 찾지 못하면..

Yocto 2024.06.13

Yocto 병렬 빌드 옵션 최적화

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

Yocto 2024.06.10

git send-email 에서 gmail 사용시 비밀번호는?

오랜만에 Yocto 커뮤니티에서 iptables 버그 리포트가 날라왔다. 이유인 즉슨 이전 iptables 1.8.10 업그레이드 할 때 특정 패치도 함께 뺐기 때문이다. 다시 살리려고 빌드 환경을 셋업해서 테스트를 하고 아래 명령어를 통해 yocto에 올렸다. OE에 기여하는 방법과 gmail 환경 설정하는 방법은 https://www.yocto.co.kr/26 글을 참고하기 바란다. git send-email --to=openembedded-core@lists.openembedded.org --confirm=always -M -1 --subject-prefix="OE-core][PATCH" git send-email 명령어로 메일 주소와 함께 날리려고 하니 비밀 번호를 묻는다. 아주 오래전에 보안 문..

Yocto 2024.05.28

Yocto 프로젝트 Release

2024년 5월 16일 기준 Yocto 최신 릴리스는 5.0 Scarthgap 이다. 2024년 4월에 릴리스 되었고 4년동안 유지되는 LTS (Long Term Support) 버전이다. 기본적으로 Yocto 프로젝트는 6개월 단위로 릴리스를 하고 그 다음 릴리스가 나오면 유지보수를 종료시킨다 2020년에 Dunfell 3.1 버전부터 커뮤니티의 요구에 따라 2년 단위의 LTS 버전과 2년 유지보수를 결정했었다. 하지만 최근에 LTS 유지보수 기간을 2년에서 4년으로 연장하는 결정을 하였다. 위는 최근 릴리스 버전을 https://wiki.yoctoproject.org/wiki/Releases 에서 캡쳐해서 올려놓았다. https://docs.yoctoproject.org/next/migration-g..

Yocto 2024.05.16
반응형