Hello LinuxBoot, Goodbye UEFI: llega la alternativa libre del firmware
En el mundo de la tecnología se han hecho muchos “crímenes”, y en este artículo vamos a hablar de dos de ellos aunque hay algunos más. Uno de los lastres más importantes en el mundo del IBM PC era la BIOS, pero luego llegó la esperanza que no era tal con UEFI y el Secure Boot que tantos quebraderos de cabeza ha dado a la comunidad de software libre y a los que se dedican a crear otros sistemas operativos que no sean Microsoft Windows, ya que se veían con la impotencia de no poder arrancarlos bajo un equipo por este sistema implantado por Microsoft…
También recordaremos la alianza conocida como Wintel, es decir, Windows (Microsoft) + Intel, que consiguieron llevar los productos de estas compañías a dominar todo el sector con mano de hierro, como aún siguen haciendo a día de hoy. Si no sabes qué es Wintel, pues se trata de aquellos ordenadores con el sistema operativo de Microsoft y algún microprocesador de Intel. Esto no tiene que ver con el término MacIntel, es decir, la alianza de Apple con Intel por la cual cambiaron los antiguos PowerPC (AIM) por esta nueva asociación tecnológica…
Wintel: comienza el complot
En los años 80s hubo un cáos de compatibilidad en cuanto a equipos informáticos con varios estándares en la industria (Amiga, Apple, Atari, Acorn,…), lo que obligó a los fabricantes de software y hardware a tener que innovar y crear tecnologías mejores de forma más rápida para captar a los dispersos clientes que había en la época. Pero claro, eso no era manera de dominar el sector y monopolizarlo, de hecho fue una era en la que ninguna empresa monopolizaba la industria.
En cambio, esa tendencia de innovación se iba a transformar en una excepción por la alianza Wintel, cuando Microsoft e Intel intentaron posicionarse para dominar el sector e implantar sus sistemas operativos Microsoft Windows y los microprocesadores Intel respectivamente. Eso los llevó al dominio casi absoluto que tienen en la actualidad, aunque según estas dos empresas fue una alianza fructífera, lo cierto es que solo lo fue para ellos. Ya que nosotros lo que tenemos ahora es a una Intel muy poderosa cuyos competidores han ido desapareciendo progresivamente a excepción de AMD (porque les conviene a la propia Intel para evitar más demandas por monopolio).
Quizás muchos de ustedes recordarán nombres como IBM, STMicroelectronics, NEC, muchas compañías del bloque soviético, y tantos otros que fabricaban chips compatibles con los x86 de Intel. Todos ellos fueron dejando de hacerlo, incluso compañías que se dedicaban expresamente a ello como IDT, Cyrix, VIA, Transmeta, etc., han ido desapareciendo poco a poco. De todas ellas solo queda AMD y VIA, pero esta última prácticamente no representan ningún porcentaje del mercado…
El IBM PC que representaba una pequeña franja del sector de la computación personal crecío al publicar esquemas y documentación sobre las especificaciones de sus equipos (open architecture) para que terceros pudieran crear hardware compatible con estos equipos. Y con la llegada de la alianza Wintel, ese incremento de popularidad fue exponencial, y ahora no hay más que ver a nuestro alrededor para saber de lo que hablo…
Esto tuvo un impacto directo sobre la industria del software, ya que todos los desarrolladores comenzaron a mirar con buenos ojos a la plataforma que se había creado, ya que al ser la más popular se garantizaban tener la mayor parte de los clientes para sus productos. Escribir un programa para otra plataforma significaban gastos de implementación para escasas ventas, mientras que hacerlo para los IBM PC significó el éxito garantizado. Esto es otra de las lacras que ha tenido Linux y otros sistemas libres en el pasado a la hora de compatir con Windows en cuanto a drivers y software nativo, como bien hemos hablado aquí.
Y seguimos la historia en el siguiente apartado…
BIOS: objeto de controversia
Ya tenemos la dominación de Wintel con el estándar IBM PC, pero a este capítulo de la historia se les unieron otras compañías para dar el toque final a esta historia. Esas fueron empresas como Award, Phoenix, AMI, Chips and Technologies, etc., que comenzaron a crear chips con un firmware compatible con los IBM PC para que cualquier otro fabricante de equipos pudiese crear equipos compatibles con el hardware que quisiese. Esto sería el principio del fin del IBM PC para dar comienzo a la era PC y la inclusión de todos los fabricantes que hoy día conocemos en este sector. IBM perdió fuerza y su herencia la recogían ahora otras firmas que ensamblaban equipos PCs compatibles (p.e.: Compaq).
Microsoft ganaba ya grandes cantidades de dinero por su MS-DOS o por las licencias de DOS concedidas a otras empresas, Intel ídem, ya que fabricaba una buena cantidad de chips o recibía regalías de los que fabricaban chips compatibles, excepto de las empresas del bloque soviético que he citado anteriormente que en muchas ocasiones eran clones sin licencia, producidos a espaldas de Intel. Pero bien, vamos a resumir y reconducir la historia hacia donde nos interesa, y es hacia esas empresas que he remarcado en negrita en el párrafo anterior…
Ellas lo que estaban creando no era ni más ni menos que chips BIOS (Basic Input Output System), es decir, los chips con el firmware necesario para realizar la rutina de arranque en los PCs aunque los fabricantes fueran muy diversos, agregando modularidad. El acrónimo BIOS fue indeado por Gary Kildall y apareció en 1975 para los sistemas operativos CP/M para implementar lo necesario en una ROM para que el hardware pudiese arrancar el SO. Esto fue adoptado por los sitemas DOS.
En los DOS se tiene la necesidad de incluir una ROM con un firmware BIOS llamado BIOS DOS que es capaz de realizar una configuración inicial del hardware cargando unas rutinas para iniciar el sistema, y luego ser capaz de realizar un test denominado POST (Power-On-Self-Test) para finalmente localizar el sistema operativo instalado y arrancarlo, en ese momento pasa el control a éste. ¿Y qué?
Pues que como Microsoft ya dominaba el mercado, todos los fabricantes de equipos implantaron estos sistemas para dar soporte a los sistemas de la compañía, ya que no hacerlo suponía operar en una cuota de mercado minoritaria. El BIOS no es el mejor de los sistemas y tiene muchos techos y problemas, pero eso importó poco, siendo la necesidad también heredada por Windows y siguiendo con este lastre a pesar de que había alternativas mejores como EFI, Open Firmware de los PowerPC, o proyectos más recientes como CoreBoot (del que hemos hablado ya en LxA), etc. Y por tanto, GNU/Linux, FreeBSD, o cualquier otro sistema operativo que se quisiese instalar en un PC, tendría que lidiar con este lastre…
UEFI: la nueva traición disfrazada de esperanza…
Y entonces entra en escena UEFI (Universal Extensible Firmware), un sistema que parecía traer la esperanza para sustituir al BIOS y derrotar al viejo y primitivo sistema BIOS. Lo cierto es que lo consiguió, pero no trajo luz, sino oscuridad, y el principal motivo vuelve a ser Microsoft y su presión para implantar Secure Boot en los equipos para que san compatibles con Windows 8 o versiones posteriores.
UEFI era un sistema más moderno, pero todos sabemos lo que ha supuesto Secure Boot para la comunidad de software libre. Hemos escrito ríos de posts sobre ello, e incluso a día de hoy sigue habiendo algunos problemas en ciertas distros minoritarias para poderlas instalar en un equipo. Las soluciones aportadas han sido de lo más variado, algunas pasan por comprar keys o firmas a la propia Microsoft (ya que evita el arranque de sistemas operativos no firmados por, supuestamente, motivos de seguridad, y los únicos que a priori están firmados son los de la propia Microsoft, vamos un negocio redondo…), por lo que todo está orientado para que la gran beneficiada sea Microsoft…
Sí, es cierto que con UEFI tenemos una interfaz de usuario más moderna e incluso con gráficos para dejar atrás la interfaz primitiva tipo DOS de BIOS, pasar a ejecutarse en 32 y 64-bits en vez de los 16 de la BIOS, soporte más allá de las cuatro particiones soportadas en BIOS y los 2,2TB de tamaño máximo manejable para llegar a los 9,4 ZB, arranque más rápido, mayor flexibilidad y modularidad, e independencia del propio sistema operativo.
LinuxBoot: la solución final
Como vemos, solo parches puestos durante toda la historia que al final han sido meras artimañas para seguir con los problemas de siempre para la comunidad libre, no solo por las limitaciones de BIOS o por Secure Boot, sino porque seguía siendo un sistema cerrado. Pero ahora parece que hay luz al final del túnel con LinuxBoot, un sistema abierto que llega a servidores y espero tenerlo en equipos domésticos pronto.
LinuxBoot se presenta como la alternativa abierta al UEFI propietario. Un firmware que se lanzó el pasado año 2017 bajo el paragüas de la Linux Foundation, y que poco a poco se está incrementando en popularidad y cuenta cada vez con más apoyos por parte de las empresas manufactureras de equipos.
LinuxBoot ha sido una iniciativa de Ron Minnich, autor del también conocido proyecto LinuxBIOS y líder de Coreboot de Google. Ahora ha conseguido la colaboración de empresas como Google, Facebook, Hoirzon Computing Solutions, y Two Sigma que colaborarán en LinuxBoot (formalmente llamado NERF). Se pretende llevarlo a las máquinas servidor con Linux, permitiendo a los usuarios y administradores poder tener mayor control sobre sus sistemas (personalizar sus propios scripts de inicio, corregir errores, construir sus propios runtimes, realizar reflash en el firmware usando sus propias keys, etc).
Las ventajas de LinuxBoot frente a UEFI son:
- Los servidores pueden arrancar considerablemente más rápido, con solo unos 20 segundos frente a los varios minutos que se tarda con UEFI en este tipo de máquinas.
- Más flexible como he dicho, ya que puede usarse cualquier dispositivo, sistema de archivos (FS) o protocolos.
- Potencialmente más seguro, ya que los controladores y sistemas FS de Linux son significativamente más robustos que los usados por UEFI.
- Es totalmente libre.
Podéis ver la adopción cada vez mayor que se ha hecho de LinuxBoot, como ejemplo por el proyecto Open Compute Project, un proyecto iniciado por Facebook para crear centros de datos más potentes, y eficientes. Y no es el único, en el emulador QEMU que tanto usamos también se ha dado soporte para LinuxBoot, incluso en Intel S2600wf, Dell R630, etc.
No olvides dejar tus comentarios, dudas y tu opinión sobre este nuevo sistema… Espero que te haya servido de ayuda y puedas tener una idea más clara sobre el firmware y también mayor esperanza sobre este tipo de sistemas.
El artículo Hello LinuxBoot, Goodbye UEFI: llega la alternativa libre del firmware ha sido originalmente publicado en Linux Adictos.