openSUSE ha anunciado la incorporación de systemd-boot como cargador de arranque opcional para Tumbleweed, el sistema operativo mutable y rolling release desarrollado por el proyecto comunitario del camaleón.
Los que sigan de cerca a openSUSE sabrán que el proyecto tiene la intención de sustituir GRUB por systemd-boot debido a que este último proporciona “simplicidad y eficiencia, especialmente cuando se maneja el cifrado completo de disco”. Dicho con otras palabras, el propósito es simplificar el soporte el torno al cargador de arranque, el cual se ha vuelto tanto complejo con GRUB.
openSUSE explica a través de su sección de noticias que “los cargadores de arranque tradicionales como GRUB requieren de la incorporación de código de descifrado y funciones de derivación de claves que pueden complicar el código del cargador de arranque y el proceso de arranque, lo que podría ralentizar el sistema en el inicio. Con systemd-boot, estas responsabilidades se delegan al kernel de Linux y al espacio del usuario, lo que ayuda a agilizar el proceso de arranque”.
Otra cosa importante es el soporte para acceder a las instantáneas de Btrfs a través del cargador arranque, sobre todo en Tumbleweed y MicroOS (en un futuro Aeon y Kalpa en el escritorio). Esta característica añade complejidad al propio proceso de arranque, por lo que desde el proyecto esperan mejorar en ese frente mediante la integración de systemd-boot con el sistema de administración de instantáneas, garantizando así que cada instantánea se inicie correctamente y que las actualizaciones del kernel sean bien gestionadas dentro un entorno que resulta bastante dinámico.
Para integrar la gestión de las versiones del kernel, las instantáneas y el propio arranque en systemd-boot, en openSUSE han empaquetado scripts y herramientas como sdbootutil
, con el que el sistema creará nuevas entradas de arranque Type #1 en la partición de sistema EFI (ESP) para representar todas las opciones de arranque disponibles, las cuales copiarán desde la instantánea los nuevos kernels instalados en la partición, además de generar initdr
para dichas instantáneas.
En caso de utilizar cifrado completo de disco, una característica cada vez más demandada para proteger los datos en dispositivos como portátiles y móviles principalmente, sdbootutil
se encargará de llamar también “a los diferentes comandos que actualizarán las políticas necesarias para desbloquear automáticamente las nuevas instantáneas utilizando el dispositivo Trusted Platform Module 2.0 (TPM2) del sistema”.
El soporte para TPM es algo importante para los responsables de systemd, y es que el framework ha incorporado en los últimos años muchas cosas orientadas a soportar las características de seguridad que han sido implementadas en placas base UEFI durante el transcurso de la última década, a pesar de la impopularidad de UEFI y de algunas de sus características entre muchos usuarios de Linux.
El soporte de systemd-boot en openSUSE Tumbleweed todavía está en fase experimental, así que GRUB sigue siendo el cargador de arranque predeterminado. Sin embargo, que no quepa duda que desde el proyecto tienen la intención de llevar acabo la transición, pero se trata de un proceso que apunta a durar unos cuantos meses como mínimo.
A pesar de que systemd-boot existe desde hace tiempo, hay pocas distribuciones que lo usan a la hora de la verdad, siendo Pop!_OS una de ellas. Curiosamente en Fedora todavía no hay nada sólido en torno a la sustitución del cargador de arranque, y eso que systemd es un desarrollo que nació en las instalaciones de Red Hat.