macOS에서 네이티브로 Linux 커널 빌드하기: 컴파일 지옥으로의 여정

2025-07-03
macOS에서 네이티브로 Linux 커널 빌드하기: 컴파일 지옥으로의 여정

이 글에서는 macOS에서 네이티브로 Linux 커널(RISC-V 아키텍처)을 빌드하는 과정에서 저자가 겪은 경험을 자세히 설명합니다. 이 여정은 많은 어려움으로 가득했습니다. 오래된 make 버전, macOS의 ld가 Linux의 기대와 호환되지 않는 문제, elf.h와 byteswap.h 헤더 파일 누락, uuid_t와 sed의 버전 충돌 등이 있었습니다. 저자는 Homebrew를 사용하여 최신 툴체인(make, llvm, lld, libelf, gnu-sed)을 설치하고, 헤더 파일 불일치와 자료형 정의 충돌을 해결하기 위해 패치를 생성하여 이러한 문제들을 극복했습니다. 커널은 성공적으로 빌드되었으며, 깨끗한 빌드에서는 macOS가 Docker보다 빠르지만, 증분 빌드에서는 느렸습니다. 저자는 빌드 문제 해결이 지속적인 통합과 마찬가지로 지속적이고 반복적인 프로세스라는 결론을 내렸습니다.

개발