코어부트

코어부트(coreboot, 구명칭 LinuxBIOS)는 자유 소프트웨어 재단(Free Software Foundation)의 지원을 받는 오픈 소스 펌웨어 프로젝트이다. 전통적인 BIOS 혹은 UEFI와 같은 독점 펌웨어를 대체하기 위해 설계되었으며, 하드웨어 초기화와 운영체제 로딩에 필요한 최소한의 작업만을 수행한다.

역사
코어부트는 1999년 겨울, 미국 로스 알라모스 국립 연구소(Los Alamos National Laboratory, LANL) 내 Advanced Computing Laboratory에서 시작되었다. 초기 명칭은 LinuxBIOS였으며, 이후 프로젝트 명을 coreboot로 변경하였다. 현재는 자유 소프트웨어 재단(FSF) 및 다양한 기업·커뮤니티의 지원을 받아 활발히 개발되고 있다.

주요 목표

  • 빠른 부팅: 불필요한 펌웨어 기능을 제거하고, 최소한의 초기화만 수행함으로써 부팅 시간을 크게 단축한다.
  • 보안 강화: 오픈 소스 코드와 검증 가능한 빌드 체인을 통해 펌웨어 수준의 백도어나 비밀 코드 삽입 위험을 최소화한다.
  • 유연성 및 커스터마이징: 사용자는 필요에 따라 펌웨어를 수정·재구성할 수 있으며, 다양한 페이로드(payload)를 선택해 운영체제를 로드한다.

구조 및 구성 요소
코어부트는 두 단계로 구성된다.

  1. 코어부트 자체: CPU 및 메모리 초기화, 장치 탐색, 기본적인 하드웨어 설정을 수행한다.
  2. 페이로드(payload): 초기화가 끝난 뒤 실행되는 별도의 소프트웨어로, 대표적인 예로 SeaBIOS(전통 BIOS 호환), Tianocore(UEFI 구현), depthcharge(크롬북용), GRUB, Linux 커널 직접 로드 등이 있다.

지원 플랫폼
x86, x86‑64, ARM, RISC‑V, PowerPC 등 다양한 아키텍처를 지원한다. 서버·데스크톱·임베디드·IoT 기기 등 폭넓은 하드웨어에서 활용되고 있다. 다만, 모든 상용 마더보드가 완전 지원되는 것은 아니며, 일부 플랫폼은 제한된 기능만 제공한다.

라이선스
코어부트의 대부분 코드는 GNU 일반 공중 라이선스 버전 2(GPLv2) 하에 배포된다. 페이로드는 각각의 라이선스 정책에 따라 배포될 수 있다.

활용 사례

  • 구글, 인텔, 레노버 등 주요 기업의 서버 및 워크스테이션에서 코어부트를 기본 펌웨어로 채택하고 있다.
  • 크롬북(Chromebook)에서는 Google이 맞춤화한 depthcharge 페이로드와 함께 사용된다.
  • 임베디드 시스템·산업용 컴퓨터에서도 빠른 부팅과 보안성을 이유로 채택 사례가 보고된다.

한계 및 현황
코어부트는 오픈 소스 펌웨어이지만, 상용 BIOS/UEFI와 달리 일부 최신 하드웨어에 대한 지원이 아직 미비하거나 제한적일 수 있다. 또한, 펌웨어 업데이트 과정에서 서명 검증 및 보안 정책을 적절히 관리해야 한다는 점이 요구된다. 현재도 활발히 개발 중이며, 정기적인 릴리스와 커뮤니티 기여를 통해 기능이 확대되고 있다.

둘러보기

더 찾아볼 만한 주제