Microordenadores - Desarrollos modernos para sistemas retro

La Raspberry Pi NO es hardware libre
13 de Julio de 2017

Aunque la fundación ofrece los esquemáticos, no es cierto que la Raspberry Pi sea hardware abierto (Open Hardware) ya que su corazón, el chip Broadcom BCM2835, no está documentado, y esto impide que se pueda estudiar el comportamiento del circuito sin recurrir a la ingeniería inversa, y evita que proyectos libres como OpenBSD soporten al 100% todos los componentes de esta placa.

Broadcom fabrica los chips para las Raspberry Pi, y les exige firmar un NDA (Non Disclosure Agreement o acuerdo de no desclasificación) que impide publicar la documentación.

Toda máquina ARM necesita algún tipo de driver binario (BLOB) que no puede ser estudiado (salvo por ingeniería inversa) para funcionar. En el caso de la Raspberry Pi estos blobs se encuentran en la tarjeta SD y no pueden ser compilados. Al arrancar la máquina se ejecutan antes de cargar el sistema operativo desde la tarjeta SD, por lo que no se puede considerar un dispositivo medianamente seguro al tener un componente crítico que no es auditable.

Esto no quita que sea una placa interesante y útil. Este problema de los blobs no es exclusivo de la arquitectura ARM, y ocurre en prácticamente todo el hardware que tenemos disponible en la actualidad, donde en muchos casos los blobs son invisibles y se ejecutan en el dispositivo. Hay un interesante documento sobre los problemas de seguridad de la arquitectura x86 y amd64 donde se explican sus debilidades y problemas.

¿Existe alguna placa de desarrollo que sea hardware libre?

Afortunadamente si, aunque en proceso de desarrollo. Se trata del proyecto lowRISC, cuyo objetivo es producir ordenadores de bajo coste y 100% abiertos, aplicando los beneficios del software libre al hardware.

La placa en desarrollo está basada en el set libre de instrucciones RISC-V de 64 bits. Se trata de una especificación abierta que puede ser libremente implementada, a diferencia de ARM. Además, incorpora funcionalidades de seguridad como memoria etiquetada, y todas las partes del diseño pueden ser auditadas.

Otro proyecto que cabe mencionar al ser 100% Open Hardware, aunque con un propósito distinto, es el ZX-Uno, el primer clon de ZX Spectrum en FPGA que también implementa otros sistemas retro de 8 bits, donde está disponible toda la documentación para que puedas fabricarlo tú mismo o incluso venderlo. La única pega es que la programación de la FPGA que usa se hace con herramientas no libres, aunque el diseño y los fuentes del ZX-Uno sí que lo son.

Las FPGA son muy interesantes para el desarrollo del hardware libre ya que es capaz de reproducir el comportamiento de cualquier circuito digital, permitiendo ser reconfiguradas sin necesidad de volver a grabar la memoria físicamente como ocurre con las EPROM. Si te interesa este tema te recomiendo el sitio FPGA Libre y Opencores.


Contenido relacionado: