7 poin oleh xguru 2024-07-12 | 1 komentar | Bagikan ke WhatsApp
  • Tim rekayasa bootloader Red Hat sedang mengembangkan pendekatan baru untuk menggantikan bootloader GRUB
  • Mengusulkan nmbl (no more boot loader), solusi ruang pengguna berbasis Linux yang cepat dan aman
  • Masalah pada bootloader GRUB
    • GRUB adalah bootloader yang kuat dan fleksibel, digunakan di berbagai arsitektur (x86_64, aarch64, ppc64le OpenFirmware)
    • Namun, karena fiturnya kompleks, pemeliharaannya sulit, dan sering kali tumpang tindih dengan kernel Linux atau tertinggal darinya
    • Selain itu, GRUB juga menyebabkan banyak kerentanan keamanan
  • Keunggulan kernel Linux
    • Kernel Linux memiliki basis pengembang yang besar sehingga pengembangan fitur dan penanganan kerentanan dapat dilakukan dengan cepat
    • Peninjauan secara keseluruhan juga dilakukan dengan lebih menyeluruh
  • Solusi baru: menggunakan kernel sebagai bootloader
    • Dimuat di UEFI oleh EFI stub, dan dikemas sebagai Unified Kernel Image (UKI)
    • Kernel, initramfs, dan baris perintah kernel mencakup semua yang diperlukan untuk mencapai target boot akhir
    • Semua driver yang diperlukan, dukungan sistem berkas, dan jaringan sudah tertanam, sehingga mencegah duplikasi kode

1 komentar

 
xguru 2024-07-12

Opini Hacker News

  • Sudah menggunakan UEFI sejak 10 tahun lalu. Waktu boot memang sedikit lebih singkat, tetapi boot loader punya beberapa kelebihan

    • Memudahkan dual boot dengan Windows
    • Bisa mengedit cmdline kernel untuk menyelesaikan masalah saat boot
    • Bisa dengan mudah memilih beberapa image kernel dan initrd
    • Bisa dengan mudah mengakses menu pengaturan UEFI
    • Bisa mem-boot aplikasi EFI lain
  • Boot loader FreeBSD bisa melakukan boot tanpa initramfs. Yang dibutuhkan adalah boot loader yang lebih pintar

    • Bisa memahami ZFS dan memuat modul yang diperlukan terlebih dahulu
    • Bisa memahami dependensi modul dan memuat semua modul yang diperlukan terlebih dahulu
  • Ada banyak kesalahpahaman tentang fungsi dan batasan lingkungan UEFI. Banyak yang salah memahami tujuan sebenarnya dari proyek ini

    • Tulisan kritik Lennart mengangkat kekhawatiran yang lebih menarik
  • Mengingatkan pada MILO yang digunakan untuk mem-boot Linux di sistem DEC Alpha pada era 90-an

    • Tetap memerlukan boot loader perantara, dan butuh siklus rilis yang mengutamakan stabilitas
    • Diperlukan lapisan menu/konfigurasi berbasis data
  • Dulu pernah memakai Linux+Coreboot di Chromebook. Karena bug driver di Tianocore UEFI BIOS, akhirnya langsung menggunakan Linux

    • Menulis Rust TUI untuk me-mount semua partisi dan melakukan kexec pada image kernel
    • Rasanya tidak perlu menduplikasi semua driver
  • Lebih baik memanfaatkan lebih banyak kemampuan UEFI dan Linux. ZFSBootMenu sudah menyediakan aplikasi EFI selama 4 tahun

    • Boot kernel tahap pertama memakan waktu sekitar 1,5~2 detik
  • Ada kekhawatiran soal masalah kompatibilitas dengan kexec

    • Misalnya, modul NVidia harus di-unload sebelum kexec
    • Ada juga masalah ACPI dan kompatibilitas
    • Diduga mekanisme kexec memang dirancang agar mendukung berbagai versi kernel
  • EFI stub cukup sederhana: menyiapkan multi-boot, kernel, dan initrd lalu melakukan jump

    • Loader perantara tidak perlu menjadi terlalu besar dan rumit
    • Tidak perlu memasukkan seluruh Linux hanya untuk menghindari UEFI API dan lingkungan pemrograman yang berbeda
  • Ingin tahu apakah solusi yang diusulkan bisa menangani boot multi-OS

    • grub bisa mem-boot Linux, Windows, dan bahkan OS ketiga
    • Ada kekhawatiran solusi Red Hat akan dibatasi hanya untuk penggunaan komersial
    • Sulit memahami masalah apa yang sedang dipecahkan untuk sistem yang hanya reboot sekali atau dua kali setahun
  • Tidak paham alasan memakai solusi ini dibanding EFISTUB biasa

    • Menggunakan EFISTUB di Arch, dan memakai menu BIOS saat ingin boot Windows
    • Tidak melihat keuntungan dari boot loader berbasis Linux