Debian no impone requisitos de hardware más allá de los que establecen el núcleo Linux o kFreeBSD y el conjunto de herramientas GNU. En cualquier caso, cualquier arquitectura o plataforma a la que se haya adaptado el núcleo Linux o kFreeBSD, libc, gcc, etc., y para los que exista una adaptación de Debian, puede ejecutar Debian. Por favor, diríjase a las páginas de adaptaciones en https://www.buy-develop.eu.org/ports/arm/ para más información sobre sistemas de arquitectura 32-bit hard-float ARMv7 probados con Debian GNU/Linux.
En lugar de intentar describir las diferentes configuraciones de hardware compatibles con 32-bit hard-float ARMv7, esta sección contiene información general y referencias adicionales donde puede encontrar más información.
Debian GNU/Linux 12 permite el uso de 9 arquitecturas principales y algunas variaciones de cada arquitectura conocidas como “sabores”.
Arquitectura | Debian Designación | Subarquitectura | Sabor |
---|---|---|---|
AMD64 e Intel 64 | amd64 | ||
Basada en Intel x86 | i386 | máquinas x86 por defecto | por defecto |
Sólo dominios Xen PV | xen | ||
ARM | armel | Marvell Kirkwood y Orion | marvell |
ARM con hardware FPU | armhf | multiplataform | armmp |
64bit ARM | arm64 | ||
64bit MIPS («little-endian») | mips64el | MIPS Malta | 5kc-malta |
Cavium Octeon | octeon | ||
Loongson 3 | loongson-3 | ||
32bit MIPS («little-endian») | mipsel | MIPS Malta | 4kc-malta |
Cavium Octeon | octeon | ||
Loongson 3 | loongson-3 | ||
Power Systems | ppc64el | IBM POWER8 o máquinas más nuevas | |
IBM S/390 64bit | s390x | IPL del lector VM y DASD | genérico |
Este documento cubre la instalación para la arquitectura 32-bit hard-float ARMv7 usando el núcleo Linux. Si busca información sobre cualquiera de las otras arquitecturas compatibles con Debian consulte las páginas de las adaptaciones de Debian.
La arquitectura ARM ha evolucionado con el tiempo y los procesadores ARM modernos proporcionan características que no están disponibles en modelos anteriores. Debian por lo tanto, proporciona tres puertos ARM para dar el mejor soporte a una amplia gama de máquinas diferentes:
Debian/armel se dirige a los procesadores ARM de 32 bits más antiguos sin soporte para una unidad de coma flotante (FPU),
Debian/armhf trabaja sólo en los nuevos procesadores ARM de 32 bits que implementan al menos la arquitectura ARMv7 con la versión 3 de la especificación de punto flotante vectorial ARM (VFPv3). Utiliza las funciones ampliadas y las mejoras de rendimiento disponibles en estos modelos.
Debian/arm64 funciona en procesadores ARM de 64 bits que implementan al menos la arquitectura ARMv8.
Técnicamente, todas las CPUs ARM actualmente disponibles pueden ejecutarse en modo endian (grande o pequeño), pero en la práctica la gran mayoría utiliza el modo «little-endian». Todos los sistemas Debian/arm64, Debian/armhf y Debian/armel soportan sólo sistemas «little-endian».
Los sistemas ARM son mucho más heterogéneos que los basados en la arquitectura de PC basada en i386/amd64, por lo que la situación de soporte puede ser mucho más complicada.
La arquitectura ARM se utiliza sobre todo en los diseños denominados “sistemas en chip” (SoC). Estos SoC son diseñados por numerosas empresas, las cuales utilizan una amplia variedad de componentes físicos para implementar hasta las funciones más fundamentales requeridas para poner en marcha el sistema. Con el paso del tiempo, las interfaces de «firmware» de cada sistema se han estandarizado; sin embargo, aún pueden encontrarse sistemas antiguos en los que las interfaces de «hardware» y de arranque varían bastante, por lo que el núcleo Linux debe lidiar con numerosos problemas de bajo nivel específicos de cada sistema, algo que correspondería a la BIOS/UEFI de la placa base en el mundo de los PC.
En los inicios del soporte ARM en el núcleo de Linux, la variedad de componentes requirió disponer de un núcleo individual para cada sistema ARM que contrastaba con el concepto de un kernel “para todo” en el entorno PC. Como este enfoque no se ajustaba a un número elevado de distintos sistemas, se llevó a cabo el trabajo necesario para permitir arrancar con un único núcleo ARM que se pudiera ejecutar en distintos sistemas ARM. El soporte para los nuevos sistemas ARM se ha llevado a cabo de tal manera que permite utilizar ese tipo de núcleo multiplataforma, pero para varios sistemas antiguos, todavía es necesario un núcleo separado específico. Por esto, la versión estándar de la distribución Debian solo puede instalarse en un número determinado de esos sistemas ARM antiguos, además de los sistemas actuales que admiten los núcleos ARM multiplataforma (denominados “armmp”) en Debian/armhf.
Se sabe que los siguientes sistemas funcionan con la adaptación Debian/armhf a través del núcleo multiplataforma (armmp):
IMX53QSB es una placa de desarrollo basada en el SoC i.MX53.
Versatile Express pertenece a la serie de placas de desarrollo de ARM que consiste en una placa base principal que se puede equipar con varias placas CPU hijas.
El núcleo armmp admite varias placas de desarrollo y sistemas integrados basados en los SoC Allwinner A10 (nombre en clave de la arquitectura “sun4i”), A10s/A13 (nombre en clave de la arquitectura “sun5i”), A20 (nombre en clave de la arquitectura “sun7i”), A31/A31s (nombre en clave de la arquitectura “sun6i”) y A23/A33 (parte de la familia “sun8i”). Los sistemas basados en sunXi que actualmente tienen soporte completo en el instalador (lo que incluye proporcionar imágenes en tarjetas SD listas para su uso), son los siguientes:
Cubietech Cubieboard 1 + 2 / Cubietruck
LeMaker Banana Pi y Banana Pro
LinkSprite pcDuino y pcDuino3
Olimex A10-Olinuxino-LIME / A20-Olinuxino-LIME / A20-Olinuxino-LIME2 / A20-Olinuxino Micro / A20-SOM-EVB
Xunlong OrangePi Plus
El mantenimiento del sistema para los dispositivos basados en Allwinner sunXi se limita a los controladores y la información de los dispositivos en estructura de árbol disponible en el núcleo de la línea principal. Los árboles del núcleo específicos del vendedor (como los núcleos de Allwinner SDK) y la serie 3.4 del núcleo derivado de android linux-sunxi.org, no se mantienen en Debian.
En general, el núcleo Linux de la línea principal admite la consola serie, Ethernet, SATA, USB y tarjetas MMC/SD en los sistemas SoC Allwinner A10, A10s/A13, A20, A23/A33 y A31/A31s. El nivel de soporte para la pantalla local (HDMI/VGA/LCD) y componentes de audio varia entre cada sistema. En la mayoría, el núcleo no dispone de controladores gráficos nativos pero utiliza en su lugar la infraestructura “simplefb” donde el cargador de arranque inicializa la pantalla y el núcleo simplemente reutiliza el framebuffer iniciado previamente. Este método suele funcionar razonablemente bien, aunque tiene algunas limitaciones (no permite cambiar al vuelo la resolución de la pantalla ni controlar la gestión de energía de la pantalla).
La memoria flash integrada que se utiliza como dispositivo de almacenamiento masivo, se encuentra disponible en dos variantes básicas en sistemas basados en sunXi: flash NAND en bruto y flash eMMC. La mayoría de las placas antiguas basadas en sunXi con almacenamiento flash integrado utilizan el tipo de memoria flash NAND en bruto, que no dispone de soporte en la versión de la línea principal del núcleo y por lo tanto, tampoco en Debian. Un número de sistemas recientes utilizan la memoria flash de tipo eMMC en lugar de NAND en bruto. Un chip de memoria flash eMMC básicamente se reconoce como una tarjeta no removible SD y dispone del mismo soporte que una tarjeta SD convencional.
El instalador incluye compatibilidad básica con determinados sistemas basados en sunXi no enumerados más arriba, pero por lo general no se han realizado pruebas en ellos, dado que el proyecto Debian no tiene acceso a este «hardware». Para estos sistemas no se han facilitado imágenes precompiladas para tarjetas SD. Entre estas placas con compatibilidad limitada se incluyen:
Olimex A10s-Olinuxino Micro / A13-Olinuxino / A13-Olinuxino Micro
Sinovoip BPI-M2 (basado en A31s)
Xunlong Orange Pi (basado en A20) / Orange Pi Mini (basado en A20)
Además de los SoC y los sistemas anteriores, el instalador dispone de un soporte muy limitado para los conjuntos de chip Allwinner H3 SoC y varias placas basadas en éstos. El soporte para el H3 del núcleo de la línea principal es todavía un trabajo que se encuentra en progreso en el momento de la fase de congelación de Debian 9, por lo que el instalador solo admite la consola serie, MMC/SD y el controlador de host USB en sistemas basados en H3. Todavía no existe un controlador para el puerto Ethernet integrado en el H3, por lo tanto solo se puede disponer de red mediante un adaptador USB Ethernet o un adaptador USB WiFi. Entre los sistemas basados en H3 que disponen de soporte básico en el instalador, se incluyen:
FriendlyARM NanoPi NEO
Xunlong Orange Pi Lite / Orange Pi One / Orange Pi PC / Orange Pi PC Plus / Orange Pi Plus / Orange Pi Plus 2E / Orange Pi 2
NVIDIA Jetson TK1 es una placa de desarrollo basada en el chip Tegra K1 (también conocido como Tegra 124). Esta placa dispone de una CPU de cuatro núcleos ARM Cortex-A15 y una GPU Kepler (GK20A) con 192 núcleos CUDA. También podrían funcionar otros sistemas basados en el chip Tegra 124.
Seagate Personal Cloud y Seagate NAS son dispositivos NAS basados en la plataforma Armada 370 de Marvell. Debian admite los dispositivos Personal Cloud (SRN21C), Personal Cloud 2-Bay (SRN22C), Seagate NAS 2-Bay (SRPD20) y Seagate NAS 4-Bay (SRPD40).
La serie Cubox-i es un conjunto de sistemas pequeños con forma de cubo basados en la familia SoC Freescale i.MX6. El soporte del sistema para la serie Cubox-i se limita a los controladores y la información de los dispositivos en estructura de árbol disponible en el núcleo de la línea principal. La serie del núcleo Freescale 3.0 para Cubox-i no se mantienen en Debian. Los controladores disponibles en la línea principal del núcleo incluyen la consola serie, Ethernet, USB, tarjeta MMC/SD y soporte de pantalla sobre HDMI (consola y X11). Además de lo anterior, se mantiene la adaptación eSATA para el Cubox-i4Pro.
Wandboard Quad, Dual y Solo son placas de desarrollo basadas en el SoC Freescale i.MX6 Quad. El mantenimiento de este sistema se limita a los controladores y la información de los dispositivos en estructura de árbol disponible en el núcleo de la línea principal. El núcleo de las series 3.0 y 3.10 específico para wandboard no se mantienen en Debian. Los controladores disponibles en la línea principal del núcleo incluyen la consola serie, pantalla a través de HDMI (consola y X11), ethernet, USB, MMC/SD, SATA (sólo para Quad) y audio analógico. El soporte para otras opciones de audio (S/PDIF, HDMI-Audio) y para el módulo integrado WLAN/Bluetooth no se ha probado o no se encuentra disponible en Debian 9.
En general, el soporte multiplataforma de ARM en el núcleo de Linux permite ejecutar debian-installer
en sistemas armhf que no se han enumerado antes explícitamente, siempre y cuando el núcleo que utiliza debian-installer
tenga soporte para los componentes del sistema donde se quiera llevar a cabo la instalación y disponga de un archivo de dispositivos en forma de árbol. En estos casos, el instalador puede proporcionar una instalación funcional, pero es posible que no pueda hacer el sistema arrancable automáticamente. En muchos casos, para hacerlo se requiere información concreta del dispositivo.
Cuando se utiliza debian-installer
en estos sistemas, es posible que deba hacer autoarrancable el sistema manualmente al finalizar la instalación, por ejemplo, mediante la ejecución de órdenes obligatorias en un intérprete iniciado desde debian-installer
.
Se permite el uso de múltiples procesadores (también llamado “multi-procesamiento simétrico” o SMP) con esta arquitectura. La imagen estándar del núcleo de Debian 12 ha sido compilada con compatibilidad con SMP-alternatives. Esto implica que el núcleo detectará el número de procesadores (o núcleos de procesador) y desactivará SMP de forma automática para sistemas de un solo procesador.
Tener múltiples procesadores en un ordenador era originalmente sólo un problema para los sistemas de servidores de gama alta, pero se ha vuelto común en los últimos años en casi todos los lugares con la introducción de los llamados procesadores “multi-core”. Éstos contienen dos o más unidades de procesador, llamadas “cores”, en un solo chip físico.
el soporte Debian para interfaces gráficas está determinado por el soporte subyacente que se encuentra en el sistema X11 de X.Org, y en el kernel. El kernel proporciona los gráficos básicos del framebuffer, mientras que los entornos de escritorio utilizan X11. La disponibilidad de funciones avanzadas de la tarjeta gráfica, como la aceleración de hardware 3D o el vídeo acelerado por hardware, depende del hardware gráfico real utilizado en el sistema y, en algunos casos, de la instalación de elementos adicionales “firmware” (véase Sección 2.2, “Dispositivos que requieren firmware”).
Casi todos los sistemas ARM disponen del componente gráfico integrado, en lugar de tener en una tarjeta dedicada. Algunos sistemas disponen de ranuras de expansión para conectar tarjetas gráficas, pero no es lo habitual. Es bastante común encontrar equipos diseñados para funcionar sin monitor que no disponen de ningún adaptador gráfico. Si bien el soporte básico de vídeo framebuffer que proporciona el núcleo debería funcionar en todos los dispositivos que tienen un adaptador gráfico, los gráficos 3D rápidos necesitan inevitablemente controladores binarios para funcionar. Esta situación está cambiando rápidamente, pero en el momento de la versión bookworm se encuentran disponibles los controladores libres para nouveau (Nvidia Tegra K1 SoC) y freedreno (Qualcomm Snapdragon SoCs). Otros sistemas necesitan controladores propietarios de terceros.
Los detalles sobre el hardware gráfico y los dispositivos de señalización compatibles se encuentran en https://wiki.freedesktop.org/xorg/. Debian 12 incluye la versión de X.Org 7.7.
Casi cualquier tarjeta de interfaz de red (también llamadas «network interface card» o NIC, n. del t.) compatible con el núcleo de Linux es también compatible con el sistema de instalación. Por regla general, los controladores modulares se cargarán automáticamente.
Para 32-bit hard-float ARMv7, la mayoría de dispositivos incorporados Ethernet son compatibles, y se proporcionan módulos para dispositivos adicionales PCI e USB.