Comparado Raspberry Pi OS vs. Armbian vs. Debian Gnu/Linux

Comparado Raspberry Pi OS vs. Armbian vs. Debian Gnu/Linux
Muchos programadores pueden tener la misma pregunta: Es armbian solo otro sabor de Debian Gnu/Linux, o es algo completamente diferente? ¿Cuáles son las diferencias entre Raspberry Pi OS, Armbian y Debian?? En este artículo, discutiremos en detalle los sistemas operativos de Armbian, Debian y Raspberry PI, incluida una comparación entre estos diferentes sistemas.

Despertar afrutado

En 2012, Raspberry Pi popularizó la clase de computadoras de una sola placa (SBC) para el público en general. En aquel entonces, cualquier persona con conocimiento sobre dispositivos como el enrutador de Mikrotik [9] o el tablero Alix de los motores PC [11] fue visto como exótico. Hoy, es imposible imaginar la existencia cotidiana sin estas poderosas mini-computadora. Puede encontrar estos dispositivos en todas partes: en enrutadores wifi, estaciones meteorológicas, dispositivos de automatización del hogar e instrumentos de medición de polvo fino. Estos dispositivos se ejecutan con distribuciones de Linux o BSD especialmente adaptadas, de las cuales Armbian y RaspberryPi son solo dos representantes de muchos.

'Armbian' es una palabra artificial que combina las palabras 'brazo', para la arquitectura del procesador RISC correspondiente [3], y las dos últimas sílabas, 'Bian' de 'Debian.'Esto deja muy claro qué distingue a Armbian de Debian GNU/Linux; A diferencia de Debian, Armbian está enfocado y optimizado para la arquitectura Arm.

Además, mientras que la distribución de Debian GNU/Linux admite una variedad de arquitecturas de hardware, incluidos ARM7 (32 bits) [4] y ARM8, la distribución de Armbian se centra solo en una amplia gama de tableros de desarrollo basados ​​en ARM. Desde el sitio web del proyecto, puede descargar imágenes de distribución para el naranja PI [5], el CubieBoard [6],

y el asus tinkerboard [7], entre otras imágenes. Cubian [12], una bifurcación de Debian GNU/Linux para el Cubieboard, parece que ya no se debe mantener, ya que el último lanzamiento se remonta a 2014.

Raspberry Pi OS [8] es el sistema operativo oficial de la Fundación Raspberry Pi [17] para sus SBCS. Inicialmente, se llamaba Raspbian, para el proyecto Raspbian [15] en el que se basa. La Fundación Raspberry Pi luego agregó otro repositorio de paquetes con software de código parcialmente cerrado a sus imágenes. El proyecto Raspbian nunca publicó sus propias imágenes, sino que siempre se refería a las imágenes de la Fundación Raspberry Pi. La fundación finalmente agregó su propio sabor de escritorio y muchas más personalizaciones, llegando mucho más allá de la reconstrucción de Raspbian y el parche mínimo de los paquetes de Debian. Para distinguir claramente entre el proyecto Raspbian y el derivado de la Fundación Raspberry Pi, este último pasó a llamarse Raspberry Pi OS en 2019.

En comparación con Armbian, el proyecto Raspbian y Raspberry Pi OS siguen un enfoque opuesto: estas distribuciones dependen de docenas de contribuyentes para centrarse en una sola plataforma SBC. Basado en la versión 'ARMHF' de 32 bits de Debian GNU/Linux, está destinada a ejecutarse en todas las versiones del tablero de Raspberry Pi, pero no está diseñado para funcionar en ningún otro brazo SBCS. El hardware Raspberry Pi 3 y 4 puede ejecutar sistemas operativos de 64 bits. Mientras tanto, el Raspberry Pi OS siempre ejecuta 32 bits, con la excepción del núcleo de Linux, que puede ser un kernel de 64 bits. Algunos paquetes fabricados específicamente para el sistema operativo Raspberry Pi también están disponibles para la arquitectura Intel (variantes de 32 y 64 bits) e incluso pueden ejecutarse en una PC de escritorio normal con Debian Gnu/Linux.

Solo por tiempo limitado, también hay imágenes (no oficiales) de Debian GNU/Linux ofrecidas para la familia Raspberry Pi de SBC [16]. La principal diferencia de Raspberry Pi OS es que las imágenes para esos sistemas Raspberry Pi, capaces de ejecutar un sistema operativo de 64 bits (Raspberry Pi 3 y 4), también contienen un sistema operativo de 64 bits ('ARM64' en Debian); Mientras que las otras imágenes ejecutan las arquitecturas 'ARMHF' (Raspberry Pi 2) o 'Armel' (Raspberry Pi 1 y Zero). Los dos últimos difieren de los paquetes 'armhf' proporcionados por Raspbian y Raspberry Pi OS. Históricamente, varias distribuciones, incluidas Debian GNU/Linux y Fedora, decidieron un conjunto mínimo de instrucciones de CPU [19] necesarias para la arquitectura 'ARMHF'. El primer sistema operativo Raspberry Pi se publicó poco después y admitió todas menos una de las instrucciones de CPU requeridas.

Entonces, había dos opciones: 1) Use la arquitectura 'Armel' mucho más lenta pero no optimizada, como DeBian Gnu/Linux todavía lo hace para Raspberry Pi 1 y 0, o 2) redefinir la arquitectura 'ArmHF'. Debian GNU/Linux no quería hacer la segunda opción, ya que esta opción se desviaría de lo que ya se había decidido e implementado. Este fue el momento en que nació el proyecto Raspbian: el desarrollador de Debian Peter Green (también conocido por la etiqueta complemento en IRC) recompiló todos los paquetes de Debian 'Armhf' para las CPU de Raspberry Pi 1 (en aquel entonces, solo Raspberry Pi 1 existió) con el Falta la instrucción de la CPU única. Esta es también la razón por la que no puedes mezclar los lanzamientos de 'ArmHF' y 'ArmHF' de Raspbian.

Tamaño de la imagen

Las imágenes de instalación ofrecidas por los tres proyectos son bastante diferentes. Armbian requiere que seleccione una categoría (como General, IoT, NAS, Networking o Desktop) y el SBC, primero. A continuación, elegirá la imagen correspondiente ofrecida con el 4.9 o 5.9 Linux Kernel para Oldstable (lanzamiento anterior), estable (lanzamiento actual) y pruebas (próxima versión). El tamaño de la imagen es entre 270 y 600 m. Cada archivo de imagen se puede recuperar como una descarga directa o a través de BitTorrent desde el sitio web del proyecto. La actualización de una instalación de Armbian existente se realiza utilizando las mismas instrucciones que las utilizadas para mantener Debian GNU/Linux.

En contraste, las opciones para Raspberry Pi OS son un poco más limitadas. Raspberry Pi requiere que elija entre OS Lite, OS con escritorio y sistema operativo con escritorio y software recomendado. Todas las imágenes están equipadas con la versión de 32 bits de un 5.4 núcleo de Linux. El tamaño de la imagen varía de 440 m a 3 g. La descarga de la imagen se puede hacer directamente, como una secuencia de datos de torrent o a través de la imagen Raspberry Pi, una herramienta de configuración basada en GUI disponible para Windows, MacOS y Ubuntu. Al igual que con Armbian, la actualización de una versión existente de Raspberry Pi se realiza utilizando las mismas instrucciones que las utilizadas para mantener Debian GNU/Linux.

Finalmente, para la mayoría de los dispositivos, incluidos la mayoría de los dispositivos ARM, Debian GNU/Linux ofrece una variedad de imágenes de instalador preparadas, incluida una configuración básica, una pequeña imagen para la instalación basada en la red, diferentes variantes de escritorio que se ajustan en un CD o DVD, CD en vivo e incluso un conjunto de imágenes completas de CD/DVD. Aunque estas imágenes no son imágenes listas para ejecutar, contienen el instalador Debian, un sistema operativo mínimo que es únicamente para realizar la instalación del sistema operativo. Las imágenes en vivo se ejecutan directamente desde una instalación de solo lectura también contienen el instalador de Debian.

El tamaño de la imagen es de entre 250 my 3 g. Descargar una imagen es posible como una descarga directa o a través de BitTorrent. Los comandos regulares de empaque de Debian se utilizan para actualizar una instalación existente.

Esto no es así para el sistema operativo Raspberry Pi. De hecho, no hay imágenes oficiales de Debian GNU/Linux para Rasberry Pi. Sin embargo, hay imágenes no oficiales listas para correr (sin imágenes del instalador) con Debian GNU/Linux para Raspberry Pi, hechas por los mismos desarrolladores detrás de los paquetes de firmware oficiales (pero no libres ") Raspberry Pi en Debian GNU/ Linux [16].

Primero, decidirá entre las imágenes diarias basadas en los paquetes más actuales en Debian GNU/Linux 10 Buster (la versión estable actual al momento de escribir este artículo) o imágenes "probadas" que se garantizarán. En comparación con el sistema operativo Raspberry Pi, que ofrece imágenes que funcionan en todas las tablas de Raspberry Pi, con esta distribución, debe elegir qué tablero de Raspberry Pi contendrá la imagen. Las imágenes para los sistemas operativos Raspberry Pi 1 y Raspberry Pi 0 (no 0W) son más o menos las mismas, ya que usan más o menos la misma CPU y no tienen componentes Wi-Fi. Dependiendo de eso, también obtienes diferentes arquitecturas del sistema operativo; a saber, 'armel' para Raspberry Pi 1, 0 y 0W; el 'ARMHF' original para Raspberry Pi 2; y 'ARM64' para Raspberry Pi 3 y 4.

Dispositivos soportados

Con respecto a las plataformas y dispositivos compatibles, los tres proyectos van en direcciones ligeramente diferentes. Para Armbian, la información del dispositivo para cada SBC compatible se puede encontrar en el sitio web de Armbian. Esto se acompaña de una lista de hardware de terceros probado para garantizar que todos los componentes de hardware funcionen bien juntos. En general, Armbian es compatible con varios SBC de ARM diferentes, pero no es compatible con la familia Raspberry Pi de SBCS.

Para Raspberry Pi OS, la información del dispositivo para cada versión de Raspberry Pi está disponible en línea, en el sitio web de Raspberry Pi. Y, por supuesto, Raspberry Pi OS proporciona soporte para todos los dispositivos Raspberry Pi.

Para Debian GNU/Linux, la información se organiza en una wiki, ordenada por OS Architecture, con secciones especializadas para información más específica. Actualmente, Debian admite nueve arquitecturas del sistema operativo oficialmente (de las cuales tres son para dispositivos ARM). Debian también construye sus paquetes e imágenes de instalador para 13 arquitecturas OS adicionales que no son compatibles oficialmente, que se ejecutan bajo la etiqueta 'Debian Ports' [21].

Desarrollo

Además, los métodos por los cuales se desarrollan cada una de las tres distribuciones de Linux difieren significativamente. Armbian y Debian GNU/Linux son proyectos comunitarios. Para Armbian, la página del proyecto GitHub correspondiente es la clave. Debian GNU/Linux utiliza su propia infraestructura distribuida que permite el desarrollo de la distribución de Linux de todo el mundo.

Mientras tanto, Raspberry Pi OS es mantenida por la Fundación Raspberry Pi sin fines de lucro como un proyecto interno. Las contribuciones a la Fundación Raspberry Pi se pueden hacer a través del Foro Raspberry Pi [20]. El proyecto Raspbian es en gran medida una recompilación de los paquetes de Debian creados para Raspberry Pi y no parece tener una gran comunidad propia. El sitio web obsoleto de Raspbian [16] a menudo se refiere a los usuarios a cualquiera de los sitios web de Fundación GNU/Linux o Raspberry PI de Debian.

Licencia

Armbian tiene licencia bajo GPL2, mientras que tanto Raspberry Pi OS como Debian GNU/Linux usan una mezcla de licencias, incluidas GPL y otras. La imagen de Raspberry Pi OS "con software recomendado" contiene varios paquetes de software comercial "gratuito", la mayoría de los cuales son versiones de demostración limitadas. El plan es de estas ofertas de paquetes gratuitos es enganchar a los usuarios para que compren ese software para sus otras computadoras.

Además, algunos blobs de firmware necesarios para Raspberry Pi y otros SBC de ARM solo están disponibles como "solo binario", i.mi., sin código fuente. En el mundo del software, estos paquetes de software se consideran "no libres."Las imágenes Debian no oficiales mencionadas anteriormente para Raspberry Pi contienen el repositorio" no libre "de Debian, habilitado de forma predeterminada porque incluye el paquete de software 'raspi-firmware'.

Paquetes de software y configuración

Armbian se describe a sí mismo como una "distribución liviana de Debian o Ubuntu especializada en tableros de desarrollo de brazos."Viene como una imagen lista para correr optimizada para dispositivos Flash de memoria, como NAND, SATA, EMMC y USB. Los servicios SSH y DHCP se activan desde el principio desde el principio. Un adaptador inalámbrico admite DHCP (si está presente), pero esta característica debe ser habilitada por el usuario. Esto permite una configuración fácil para conectar este sistema a su enrutador o crear un punto de acceso individual. XFCE se usa como entorno de escritorio [18].

Para aumentar la velocidad de ejecución para el código y los datos y minimizar las operaciones de E/S, se han transferido varias funcionalidades para trabajar tanto como sea posible desde la memoria. Por ejemplo, el servicio LOG2RAM mantiene los archivos de registro en la memoria y los guarda en el disco diariamente y en el cierre [13]. Los cachés de disco se mantienen en la memoria durante diez minutos utilizando la opción "Commit = 600" en la configuración del directorio en el archivo /etc /fstab [14].

Como se señaló anteriormente, el Raspberry Pi OS se dirige a los diferentes modelos Raspberry Pi, que comenzaron con componentes de hardware bastante limitados. Para lidiar con estas limitaciones como un entorno de escritorio, la configuración predeterminada inicia un escritorio LXDE modificado llamado Pixel (PI Beeding X-Windows Environment Lightweight), que también está disponible desde la base Raspberry Pi para PCS Linux basadas en Intel.

Por defecto, existe un usuario llamado "PI" con la contraseña "Raspberry", y el servicio SSH está deshabilitado para este usuario. Puede habilitarlo para un solo arranque editando la configuración del archivo.txt en la primera partición. Se recomienda cambiar la contraseña inmediatamente después del primer inicio de sesión. Solo entonces puede habilitar el servicio SSH de forma permanente para evitar contraseñas predeterminadas bien conocidas accesibles a través de SSH.

Las imágenes no oficiales de Raspberry Pi de Debian también vienen conectadas con la red habilitada de forma predeterminada a través de DHCP, pero el Wi-Fi no viene preconfigurado, a partir de este escrito. Otra diferencia con las imágenes de Raspberry Pi OS es que no hay un usuario normal, solo un usuario raíz sin contraseña y el inicio de sesión de raíz SSH deshabilitado. Configurar la contraseña de root o una clave pública SSH para inicio de sesión raíz de antemano se admite editando "SYSCONF.txt ”en la primera partición. Estas configuraciones se limpian después de que se hayan aplicado al sistema arrancado para evitar la filtración de la contraseña de texto plano.

Actualmente, la opción de configurar el acceso a una red Wi-Fi está en las etapas de planificación. Las versiones futuras de las imágenes de Raspberry Pi OS vendrán equipadas con esta función.

Conclusión

La comunidad de programación ha estado utilizando Debian GNU/Linux y Armbian en entornos de producción sin falta durante muchos años; Por ejemplo, una plataforma de colaboración móvil como cubierta ("Mobile Cloud"). Los dispositivos con Raspberry Pi OS se han utilizado en etapas experimentales, y también estábamos muy contentos con ellos. Es un gran placer tener acceso a máquinas tan pequeñas, confiables, asequibles y potentes. Deseamos tener más tiempo para explorarlos con aún más detalle.

Enlaces y referencias

[1] El proyecto Debian Gnu/Linux, https: // www.debian.org/
[2] El proyecto Armbian, https: // www.brazo.com/
[3] Arm, Wikipedia, https: // en.Wikipedia.org/wiki/arm_architecture
[4] ARM7, Wikipedia, https: // en.Wikipedia.org/wiki/arm7
[5] Orange PI, http: // www.anaranjado.org/
[6] Cubieboard, http: // cubieboard.org/
[7] Tinkerboard, https: // www.asus.com/US/Single-Board-Computer/Tinker-Board/
[8] Raspberry Pi OS, https: // www.fraspberrypi.org/software/sistemas operativos/
[9] Mikrotik, https: // Mikrotik.com/
[10] Frank Hofmann: ZwergenaUfstand. Das Cubietruck im alltagstest, Raspberrypi Geek 04/2016, https: // www.Raspberry-Piek.DE/AUSGABEN/RPG/2016/04/DAS-CUBIETRUCK-IM-ALLTAGSTEST/
[11] motores de PC, https: // www.pcengines.CH/
[12] cubiano, http: // cubiano.org/
[13] log2ram, https: // github.com/azlux/log2ram
[14] Ventajas/desventajas del aumento de la "compromiso" en FSTAB, https: // unix.cambio de stacex.com/Preguntas/155784/VENTAGES-DISADVANTAGES DE INCREADO-COMITO-IN-FSTAB
[15] Proyecto Raspbian, https: // www.raspbiano.org/
[16] Imágenes de Debian no oficiales para la familia Raspberry Pi SBC, https: // raspi.debian.neto/
[17] Fundación Raspberrypi, https: // www.fraspberrypi.org/sobre/
[18] XFCE, https: // xfce.org/
[19] "ARMHF" en Wikipedia, https: // en.Wikipedia.org/wiki/arm_architecture#vfp
[20] Raspberrypi Forum, https: // www.fraspberrypi.org/foros/
[21] Debian Ports, https: // www.puerto.debian.org/

Sobre los autores

Frank Hofmann trabaja en la carretera, preferiblemente de Berlín (Alemania), Ginebra (Suiza) y Ciudad del Cabo (Sudáfrica), como desarrollador, entrenador y autor para revistas como Linux -User y Linux Magazine.

Axel Beckert trabaja como administrador del sistema Linux y especialista para la seguridad de la red con los servicios centrales de TI de ETH Zurich. También es voluntario de la distribución de Debian GNU/Linux, el grupo de usuarios de Linux Switzerland (Lugs), Hackerfunk Radio Show and Podcast, y varios proyectos de código abierto.

Hofmann y Beckert también han escrito un libro de gestión de paquetes de Debian

(http: // www.dpmb.org).