7 puntos por xguru 2024-07-12 | 1 comentarios | Compartir por WhatsApp
  • El equipo de ingeniería de bootloaders de Red Hat está desarrollando un nuevo enfoque para reemplazar el bootloader GRUB
  • Proponen nmbl (no more boot loader), una solución de espacio de usuario basada en Linux, rápida y segura
  • Problemas del bootloader GRUB
    • GRUB es un bootloader potente y flexible que se usa en varias arquitecturas (x86_64, aarch64, ppc64le OpenFirmware)
    • Sin embargo, sus funciones son complejas, lo que dificulta su mantenimiento, y con frecuencia duplica funcionalidades del kernel de Linux o queda rezagado frente a este
    • Además, ha provocado muchas vulnerabilidades de seguridad
  • Ventajas del kernel de Linux
    • El kernel de Linux tiene una gran base de desarrolladores, lo que permite desarrollar funciones rápidamente y responder con agilidad a las vulnerabilidades
    • La revisión general también se realiza de forma más exhaustiva
  • Nueva solución: usar el kernel como bootloader
    • Se carga en UEFI mediante EFI stub y se empaqueta como una Unified Kernel Image (UKI)
    • El kernel, initramfs y la línea de comandos del kernel incluyen todo lo necesario para llegar al objetivo final de arranque
    • Todos los drivers necesarios, el soporte de sistema de archivos y la red ya están integrados, lo que evita la duplicación de código

1 comentarios

 
xguru 2024-07-12

Opiniones en Hacker News

  • He estado usando UEFI desde hace 10 años. El tiempo de arranque se reduce un poco, pero el bootloader tiene varias ventajas

    • Permite hacer dual boot con Windows fácilmente
    • Se puede editar la cmdline del kernel para resolver problemas de arranque
    • Se pueden elegir fácilmente varios kernels e imágenes initrd
    • Se puede acceder fácilmente al menú de configuración de UEFI
    • Se pueden arrancar otras aplicaciones EFI
  • El bootloader de FreeBSD puede arrancar sin initramfs. Hace falta un bootloader más inteligente

    • Entiende ZFS y puede cargar por adelantado los módulos necesarios
    • Entiende las dependencias entre módulos y puede cargar previamente todos los módulos necesarios
  • Hay muchos malentendidos sobre las capacidades y limitaciones del entorno UEFI. Se está entendiendo mal el objetivo real del proyecto

    • La crítica de Lennart plantea preocupaciones más interesantes
  • Esto me recuerda a MILO, que se usaba para arrancar Linux en sistemas DEC Alpha de los 90

    • Hace falta un bootloader intermedio y un ciclo de lanzamientos enfocado en la estabilidad
    • Hace falta una capa de menú/configuración basada en datos
  • Antes usé Linux+Coreboot en un Chromebook. Debido a bugs en los drivers del BIOS UEFI de Tianocore, usaba Linux directamente

    • Escribí una TUI en Rust para montar todas las particiones y hacer kexec de la imagen del kernel
    • Creo que no hace falta duplicar todos los drivers
  • Sería mejor aprovechar más las capacidades de UEFI y Linux. ZFSBootMenu lleva 4 años ofreciendo una aplicación EFI

    • El arranque del kernel de la primera etapa tarda entre 1.5 y 2 segundos
  • Hay preocupación por problemas de compatibilidad con kexec

    • Por ejemplo, el módulo de NVidia debe descargarse antes de kexec
    • También hay problemas con ACPI y de compatibilidad
    • Supongo que el mecanismo de kexec fue diseñado para soportar distintas versiones del kernel
  • Hacer que un EFI stub configure el multiboot, el kernel y el initrd antes de saltar es algo simple

    • No hace falta que un loader intermedio se vuelva demasiado grande y complejo
    • Incluir Linux completo solo para evitar la API de UEFI y otro entorno de programación es innecesario
  • Me pregunto si la solución propuesta podrá manejar el arranque de múltiples sistemas operativos

    • grub puede arrancar Linux, Windows e incluso un tercer sistema operativo
    • Me preocupa que la solución de Red Hat quede limitada solo a usos comerciales
    • Cuesta entender qué problema resuelve en sistemas que solo se reinician una o dos veces al año
  • No sé por qué usar esta solución en lugar de EFISTUB puro

    • En Arch uso EFISTUB y, para arrancar Windows, uso el menú del BIOS
    • No entiendo la ventaja de un bootloader basado en Linux