2012-10-12

La solución de Linux para UEFI

Si la intención de Microsoft de exigir a los OEMs la instalación de Windows 8 en placas base con UEFI y Secureboot era mejorar la seguridad de los sistemas, no lo han conseguido. Y si su intención era tocar las pelotas a los usuarios de Linux, tampoco lo han logrado.

Si en este blog no hemos escrito nada sobre el tema UEFI es porque no somos tan agoreros como otros blogs que anunciaban el armageddon para las distros que no se pudieran instalar en ordenadores nuevos. Sabíamos que tarde o temprano, alguien encontraría una solución sencilla y satisfactoria. Las grandes distros ya estaban trabajando en distintas alternativas. Ubuntu iba a firmar con su propio certificado GRUB y Fedora iba a adquirir un certificado de Microsoft para firmar el pre-bootloader shim y que su SO fuera compatible con el molesto Secureboot. SUSE habría tomado una solución intermedia y bastante rara. Iba a firmar dos pre-bootloaders, uno con su propia firma y otro con una adquirida a Microsoft. Está aprehensión me parece algo innecesaria. La versión de shim firmada por Microsoft era suficiente para cargar el sistema.

Confieso que la opción que más me gustaba era la de Ubuntu. Los de Canonical propusieron, en un primer momento, firmar un cargador de arranque EFILinux de Intel porque firmar GRUB iba en contra de la GPLv3 pero los de la FSF les dejaron claro que podían firmar GRUB sin tener que liberar el código de la firma. Yo (y parece que el gabinete jurídico de Canonical) creo que en los términos en los que está redactada la GPLv3, no podían pero si la FSF les autoriza, como es la propietaria de los derechos, Canonical podría hacerlo en cualquier caso.

La vía que ha tomado la Linux Foundation se parece más a la de Fedora. Van a adquirir una firma de Microsoft para autenticar un pre-bootloader propio (loader.efi) que solo se encargaría de lanzar el cargador de arranque que utilice cada distro. Además también se ocuparía de ejecutar los Live-CDs o Live-USBs que permitirían la instalación de las distros sobre la UEFI.

Esta es una solución universal y muy satisfactoria ya que se aplicaría a todos los SOs que utilizaran las nuevas versiones de Linux, de forma transparente. Problema zanjado. Ya nadie volverá a hablar más de UEFI y su maldito Secure Boot.

Os dejo el código fuente del pre-bootloader de Linux para demostrar su pequeño tamaño y sencillez.