반응형

bazel 4

[빌드 시스템] Bazel 기본 개념 및 안드로이드 AOSP 전환 실패 이유

Bazel 빌드 시스템의 기본 개념, 장단점, 원격 캐시(Remote Cache) 메커니즘을 알아보고, 안드로이드 AOSP의 Bazel 마이그레이션 실패 이유와 Yocto, Buildroot 등 타 시스템과의 차이점을 분석합니다.1. Bazel 탄생 배경대규모 소프트웨어 프로젝트를 진행하다 보면 필연적으로 "내 PC에서는 빌드되는데 서버에서는 안 돼요"라는 문제에 직면하게 된다. 구글 내부 빌드 툴인 'Blaze'에서 파생된 오픈소스 빌드 시스템 Bazel(베이젤)은 바로 이 문제를 근본적으로 해결하기 위해 탄생했다. 최신 버전을 기준으로 보더라도 Bazel의 존재 이유는 명확하다. 완벽한 재현성(Reproducibility)과 빌드 속도의 극단적인 단축이다. 이번 글에서는 Bazel의 뼈대가 되는 핵심..

Development 2026.07.27

Yocto Shared State Cache 디버깅 하기

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

Yocto 2024.07.31

QNX와 QNX 빌드 시스템

QNX는 실시간 운영 체제 (Real-Time Operating System, RTOS)로, 마이크로커널 아키텍처를 기반으로 하며 주로 임베디드 시스템에 사용된다. QNX는 1980년대에 캐나다의 QNX 소프트웨어 시스템즈에 의해 개발되었으며, 높은 안정성과 실시간 처리 능력, 작은 메모리 사용량을 특징으로 한다. Blackberry가 2010년에 인수했으며 QNX 하이퍼바이저 ASIL D 인증 획득하고 많은 양산 레퍼런스를 보유하여 비싼 라이선스 값에도 불구하고 차량용 OS에 많이 사용되고 있다. QNX SDP (Software Development Platform)QNX SDP(Software Development Platform)는 QNX 운영 체제에서 응용 프로그램을 개발하기 위한 포괄적인 도구 ..

Automotive 2024.07.22

MB.OS VSM (Value Stream Mapping) Workshop - CI/CD, Integration

월요일부터 수요일까지 Sindelfingen에서 VSM (Value Stream Mapping) Workshop - CI/CD와 Integration 부분에 대해서 진행을 했고 Kaizen을 도출해냈다. 이번 워크샾은 MB.OS (Mercedes-Benz Operating Sytstem)의 두 큰 축인 Infotainment와 Autonomous Driving 이 시너지를 얻게 하기 위해 진행을 하였고 매니저, Devops 엔지니어 등이 참여를 하여 서로의 아키텍처, 개발 환경, CI/CD 등을 이해하고 기술을 공유했으며 함께 나아갈 방향을 이야기했다. 첫날은 서로의 아키텍처와 환경을 이해하는 날이였고, 두 번째날은 3개로 Breakout session을 나누어 주제에 대해 조금 더 심도 있게 이야기하였..

Automotive 2024.03.14
728x90
반응형