반응형

toolchain 2

clang toolchain의 위력 (빌드 최적화, build time profiling)

인포테인먼트 제품을 개발하고 있고 Yocto 프로젝트 기반의 임베디드 리눅스를 기반으로 하고 있다. Yocto 버전은 dunfell을 사용하다가 작년에 kirkstone으로 고생해서 마이그레이션을 해서 사용중이다. 컴포넌트 하나가 이전에 4시간 걸렸던 것이 LTO (Link Time Optimization) 옵션을 적용해서 2시간으로 줄었다. 이 컴포넌트는 ARXML 기반으로 프로토콜이 작성되어 있고 이것이 code generator을 통해 헤더와 코드가 생성되고 라이브러리가 생성되는 구조이다. 그렇기에 엄청나게 많은 파일이 linking 단계에서 사용되어 오래걸렸던 것이다. LTO는 빌드 시간이 더 걸릴 수 있다고 봤지만 이 경우에는 엄청나게 단축되었다. 3가지 variant가 있는데 최근 업그레이드 ..

Linux 2024.06.06

Cross-Development Toolchain Generation in Yocto Project (OE)

다음은 Yocto Project Reference Manual 4장의 일부 글이다. 기본적으로 Yocto Project (OE)에서는 cross toolchain을 직접 빌드하여 만든다. 다음은 Yocto Project (OE)를 이용하여 host에서 cross toolchain을 생성하는 단계이다. gcc -> binutils-cross -> gcc-cross-initial -> linux-libc-headers -> glibc-initial -> glibc -> gcc-cross -> gcc-runtime gcc: The build host's GNU Compiler Collection (GCC). binutils-cross: The bare minimum binary utilities needed ..

Yocto 2023.04.19
728x90
반응형