7P by xguru 2달전 | favorite | 댓글 1개
  • Red Hat 부트로더 엔지니어링 팀은 GRUB 부트로더를 대체할 새로운 방안을 개발 중임
  • nmbl (no more boot loader)이라는 빠르고 안전한 리눅스 기반 사용자 공간 솔루션을 제안
  • GRUB 부트로더의 문제점
    • GRUB은 강력하고 유연한 부트로더로 여러 아키텍처에서 사용됨 (x86_64, aarch64, ppc64le OpenFirmware)
    • 그러나 기능이 복잡하여 유지보수가 어렵고, 리눅스 커널과 중복되거나 뒤처지는 경우가 많음
    • 또한 많은 보안 취약점을 야기함
  • 리눅스 커널의 장점
    • 리눅스 커널은 큰 개발자 기반을 가지고 있어 빠른 기능 개발과 취약점 대응이 가능함
    • 전반적인 검토가 더 철저하게 이루어짐
  • 새로운 솔루션: 커널을 부트로더로 사용
    • EFI 스텁에 의해 UEFI에서 로드되고, 통합 커널 이미지(UKI)로 패키징됨
    • 커널, initramfs, 커널 명령줄이 최종 부트 타겟에 도달하는 데 필요한 모든 것을 포함함
    • 필요한 모든 드라이버, 파일 시스템 지원, 네트워킹이 이미 내장되어 있어 코드 중복이 방지됨

Hacker News 의견

  • 10년 전부터 UEFI를 사용해왔음. 부팅 시간은 약간 단축되지만, 부트로더는 여러 이점이 있음

    • Windows와의 듀얼 부팅을 쉽게 할 수 있음
    • 커널 cmdline을 편집하여 부팅 문제를 해결할 수 있음
    • 여러 커널과 initrd 이미지를 쉽게 선택할 수 있음
    • UEFI 설정 메뉴에 쉽게 접근할 수 있음
    • 다른 EFI 애플리케이션을 부팅할 수 있음
  • FreeBSD의 부트로더는 initramfs 없이 부팅할 수 있음. 더 스마트한 부트로더가 필요함

    • ZFS를 이해하고 필요한 모듈을 미리 로드할 수 있음
    • 모듈 의존성을 이해하고 필요한 모든 모듈을 미리 로드할 수 있음
  • UEFI 환경의 기능과 제약에 대한 오해가 많음. 프로젝트의 실제 목표를 잘못 이해하고 있음

    • Lennart의 비판 글이 더 흥미로운 우려를 제기함
  • 90년대 DEC Alpha 시스템에서 Linux를 부팅하던 MILO를 떠올리게 함

    • 중간 부트로더가 필요하며, 안정성을 중시하는 릴리스 주기가 필요함
    • 데이터 기반 메뉴/설정 레이어가 필요함
  • 이전에 Chromebook에서 Linux+Coreboot를 사용했음. Tianocore UEFI BIOS의 드라이버 버그로 인해 Linux를 직접 사용했음

    • Rust TUI를 작성하여 모든 파티션을 마운트하고 커널 이미지를 kexec함
    • 모든 드라이버를 중복할 필요가 없다고 생각함
  • UEFI와 Linux의 기능을 더 많이 수용하는 것이 좋음. ZFSBootMenu는 4년 동안 EFI 애플리케이션을 제공해왔음

    • 첫 번째 단계 커널 부팅이 1.5~2초 정도 걸림
  • kexec와의 호환성 문제에 대한 우려가 있음

    • 예를 들어, NVidia 모듈은 kexec 전에 언로드해야 함
    • ACPI 문제와 호환성 문제도 있음
    • kexec 메커니즘이 다양한 커널 버전을 지원하도록 설계되었을 것이라고 추측함
  • EFI 스텁이 멀티 부팅, 커널 및 initrd를 설정한 후 점프하는 것은 간단함

    • 중간 로더가 너무 크고 복잡해질 필요가 없음
    • UEFI API와 다른 프로그래밍 환경을 피하기 위해 Linux 전체를 포함하는 것은 불필요함
  • 제안된 솔루션이 멀티 OS 부팅을 처리할 수 있을지 궁금함

    • grub은 Linux와 Windows, 그리고 세 번째 OS까지 부팅할 수 있음
    • Red Hat의 솔루션이 상업적 용도로만 제한될까 우려됨
    • 1년에 한두 번만 재부팅하는 시스템에 어떤 문제를 해결하는지 이해하기 어려움
  • plain EFISTUB보다 이 솔루션을 사용하는 이유를 모르겠음

    • Arch에서 EFISTUB을 사용하고 있으며, Windows 부팅 시 BIOS 메뉴를 사용함
    • Linux 기반 부트로더의 이점을 이해하지 못함