En ce qui concerne le matériel, Debian n'a pas plus d'exigences que le noyau Linux ou kFreeBSD et les outils GNU. Par conséquent, toute architecture ou plate-forme sur laquelle le noyau Linux ou kFreeBSD, la libc, le compilateur gcc, etc., ont été portés, et pour laquelle un portage de Debian existe, peut faire fonctionner Debian. Reportez-vous aux pages sur les portages https://www.buy-develop.eu.org/ports/arm/ pour plus de précisions concernant les systèmes d'architecture ARMv7 32 bits avec unité de calcul flottant qui ont été testés avec Debian GNU/Linux.
Plutôt que d'essayer de décrire les différentes configurations matérielles acceptées par ARMv7 32 bits avec unité de calcul flottant , cette section contient des informations générales et des liens vers des informations complémentaires.
Debian GNU/Linux 12 fonctionne sur 9 architectures principales et sur de nombreuses variantes de celles-ci, appelées « saveurs ».
Architecture | Étiquette Debian | Sous-Architecture | Saveur |
---|---|---|---|
AMD64 & Intel 64 | amd64 | ||
Intel x86-based | i386 | systèmes x86 | variante par défaut |
domaines Xen PV uniquement | xen | ||
ARM | armel | Marvell Kirkwood et Orion | marvell |
ARM avec matériel FPU | armhf | multiplate-forme | armmp |
ARM 64 bits | arm64 | ||
MIPS 64 bits (petit-boutien) | mips64el | MIPS Malta | 5kc-malta |
Cavium Octeon | octeon | ||
Loongson 3 | loongson-3 | ||
MIPS 32 bits (petit-boutien) | mipsel | MIPS Malta | 4kc-malta |
Cavium Octeon | octeon | ||
Loongson 3 | loongson-3 | ||
Power Systems | ppc64el | Machines IBM POWER8 ou plus récentes | |
IBM S/390 64 bits | s390x | IPL avec lecteur de machine virtuelle (VM-reader) et accès direct au périphérique de stockage (DASD) | generic |
Ce document décrit l'installation pour l'architecture ARMv7 32 bits avec unité de calcul flottant avec le noyau Linux. Des versions pour les autres architectures disponibles existent sur les pages Debian-Ports.
L'architecture ARM a évolué et les processeurs ARM récents fournissent des fonctionnalités qui ne sont pas disponibles dans les anciens modèles. Debian fournit donc trois portages ARM pour assurer la meilleure prise en charge d'une très grande variété de machines :
Debian/armel est destiné aux anciens processeurs ARM 32 bits qui n'ont pas d'unité de calcul flottant au niveau matériel (« FPU »).
Debian/armhf ne fonctionne que sur les nouveaux processeurs ARM 32 bits qui implémentent au moins l'architecture ARMv7 avec la version 3 des spécifications de calcul flottant (VFPv3). Il utilise les fonctionnalités étendues et les améliorations de performances disponibles sur ces modèles.
Debian/arm64 fonctionne sur les processeurs ARM 64 bits qui implémentent au moins l'architecture ARMv8.
Techniquement, la plupart des CPU ARM peuvent fonctionner en mode petit-boutien ou en mode grand-boutien. Cependant les systèmes les plus courants utilisent le mode petit-boutien. Debian/arm64, Debian/armel et Debian/armhf fonctionnent tous les trois uniquement sur les processeurs ARM petits-boutiens.
Les systèmes ARM sont beaucoup plus hétérogènes que l'architecture PC de type i386/amd64. La situation de la prise en charge (matérielle) peut donc être plus compliquée.
L'architecture ARM est utilisée surtout dans les systèmes sur puce (« system-on-chip » (SOC)). Ces SOC sont conçus par différentes entreprises, avec une grande diversité de composants matériels, même pour les fonctionnalités les plus élémentaires nécessaires pour démarrer le système. Ces systèmes n'ont généralement pas de microprogramme commun et la conséquence est que le noyau Linux, sur les systèmes ARM, doit s'occuper de tous les problèmes de bas niveau liés au matériel, qui seraient gérés par le BIOS ou l'UEFI de la carte mère dans le monde PC.
Au début de la prise en charge d'ARM dans le noyau Linux, cela conduisait à avoir un noyau différent pour chaque système ARM, à l'opposé de l'approche « one-fits-all » pour le noyau des systèmes de type PC. Comme cette approche ne s'adaptait pas bien à un grand nombre de systèmes différents, un travail a commencé pour fournir un noyau ARM unique qui pourrait s'exécuter sur différents systèmes. La prise en charge de nouveaux systèmes est implémentée de manière à avoir un tel noyau multiplate-forme, mais pour plusieurs anciens systèmes, un noyau spécifique est toujours nécessaire. À cause de cela, la distribution standard Debian ne prend en charge l'installation que sur un nombre restreint de ces anciens systèmes ARM, en plus des systèmes plus récents pris en charge par les noyaux ARM multiplates-formes (appelés « armmp ») dans Debian/armhf.
Les systèmes suivants sont connus pour fonctionner avec Debian/armhf en utilisant le noyau multiplate-forme (armmp) :
La IMX53QSB est une carte de développement basée sur la puce i.MX53.
La Versatile Express est une série de cartes de développement d'ARM constituée d'une carte de base qui peut être équipée avec diverses cartes filles avec CPU.
Le noyau armmp prend en charge différentes cartes de développement et systèmes embarqués basés sur les puces Allwiner A10 (nom de code d'architecture « sun4i »), A10s/A13 (nom de code d'architecture « sun5i »), A20 (nom de code d'architecture « sun7i »), A31/A31s (nom de code d'architecture « sun6i ») et A23/A33 (une partie de la famille « sun8i »). Les systèmes suivants, basés sur sunXi sont totalement pris en charge par l'installateur (et des images de cartes SD sont disponibles) :
Cubietech Cubieboard 1 + 2 / Cubietruck
LeMaker Banana Pi et Banana Pro
LinkSprite pcDuino et pcDuino3
Olimex A10-Olinuxino-LIME, A20-Olinuxino-LIME, A20-Olinuxino-LIME2, A20-Olinuxino Micro et A20-SOM-EVB.
Xunlong OrangePi Plus
La prise en charge des périphériques d'Allwinner basés sur sunXi est limitée aux informations des pilotes et arbre de périphériques disponibles dans la branche principale du noyau. Les autres branches spécifiques du noyau (comme les noyaux Allwinner SDK) et la branche linux-sunxi.org 3.4 dérivée d'Android ne sont pas prises en charge par Debian.
La branche principale du noyau Linux prend généralement en charge la console série, l'ethernet, le SATA, l'USB et les cartes MMC/SD pour les puces Allwinner A10, A10s/A13, A20, A23/A33 et A31/A31s. Le niveau de prise en charge de l'affichage local (HDMI/VGA/LCD) et du matériel audio varie d'un système à l'autre. Pour la plupart des systèmes, le noyau ne possède pas de pilote graphique natif mais utilise à la place l'infrastructure « simplefb » dans laquelle le gestionnaire d'amorçage initialise l'affichage, le noyau se contentant de réutiliser le framebuffer. Généralement, cela fonctionne plutôt bien malgré quelques limitations (la résolution ne peut pas être changée à la volée, et la gestion d'alimentation de l'affichage n'est pas possible).
La mémoire flash embarquée prévue pour le stockage de masse existe en deux versions sur les systèmes sunXi : la mémoire flash NAND brute et la mémoire flash eMMC. La plupart des anciens systèmes sunXi utilisent une mémoire flash NAND brute, pour laquelle il n'existe pas de prise en charge dans la branche principale du noyau, pas plus que dans Debian. Un certain nombre de systèmes plus récents utilisent la mémoire flash eMMC à la place. Une puce eMMC apparaît comme une carte SD non amovible et est prise en charge de la même manière qu'une carte SD.
Certains systèmes sunXi qui ne sont pas listés ici peuvent être en partie pris en charge par l'installateur, mais ce matériel n'est pas testé car le projet Debian n'y a pas accès. Il n'y a pas d'image de carte SD pour ces systèmes. Les cartes de développement suivantes ont une prise en charge limitée :
Olimex A10s-Olinuxino Micro, A13-Olinuxino et A13-Olinuxino Micro
Sinovoip BPI-M2 (basé sur A31s)
Xunlong Orange Pi et Orange Pi Mini (basé sur A20)
En plus des puces et systèmes listés ci-dessus, l'installateur possède une prise en charge très limitée de la puce Allwinner H3 et certaines cartes basées dessus. La prise en charge de H3 dans la branche principale du noyau est en cours à l'heure du gel de Debian 9, l'installateur ne prend donc en charge que la console série, les contrôleurs MMC/SD et USB hôte. Il n'y a pas de pilote disponible pour le port ethernet embarqué, la mise en réseau n'est donc possible qu'avec un adaptateur USB ou un dongle wifi USB. Les systèmes H3 suivants font partie de cette prise en charge restreinte :
FriendlyARM NanoPi NEO
Xunlong Orange Pi Lite, Orange Pi One, Orange Pi PC, Orange Pi PC Plus, Orange Pi Plus, Orange Pi Plus 2E et Orange Pi 2
La NVIDIA Jetson TK1 est une carte de développement basée sur la puce Tegra K1 (connue aussi sous le nom Tegra 124). La Tegra K1 possède un processeur quad-core ARM 32 bits Cortex-A15 et un GPU Kepler (GK20A) avec 192 cœurs CUDA. D'autres systèmes basés sur la Tegra 124 pourraient aussi fonctionner.
Le Seagate Personal Cloud et le NAS Seagate sont des périphériques basés sur la plate-forme Armada 370 de Marvell. Debian prend en charge le Personal Cloud (SRN21C), le Personal Cloud 2 bay (SRN22C), le NAS Seagate 2 bay (SRPD20) et le NAS Seagate 4 bay (SRPD40).
La série Cubox-i est un ensemble de systèmes petits et cubiques basés sur la famille de puce Freescale i.MX6. La prise en charge de la série Cubox-i est limitée aux informations de pilotes et arbre de périphériques disponibles dans la branche principale du noyau ; la branche du noyau Freescale 3.0 pour les Cubox-i n'est pas prise en charge par Debian. Les pilotes pris en charge dans la branche principale du noyau comprennent la console série, Ethernet, USB, les cartes MMC/SD et la prise en charge de l'affichage par HDMI (console et X11). En plus de cela, le portage de eSATA est pris en charge sur le Cubox-i4Pro.
Les Wanboard Quad, Dual et Solo sont des cartes de développement basées sur la puce Freescale i.MX6 Quad. La prise en charge est limitée aux informations de pilotes et arbre de périphériques disponibles dans la branche principale du noyau ; la branche du noyau wanboard 3.0 et 3.10 de wanboard.org n'est pas prise en charge par Debian. Les pilotes pris en charge dans la branche principale du noyau comprennent la console série, l'affichage par HDMI (console et X11), Ethernet, USB, les cartes MMC/SD, SATA (Quad uniquement) et audio analogique. La prise en charge des autres sorties audio embarquées (S/PDIF et HDMI-Audio) et du module WLAN/Bluetooth embarqué n'est pas testée ou n'est pas disponible dans Debian 9.
Généralement, la prise en charge d'ARM multiplate-forme dans le noyau Linux permet d'exécuter l'installateur sur les systèmes armhf qui ne sont pas listés ci-dessus tant que le noyau utilisé par l'installateur prend en charge les composants de la cible et qu'un arbre de périphériques est disponible. Dans ce cas, l'installateur peut fournir une installation fonctionnelle mais ne pourra probablement pas rendre le système automatiquement amorçable, car il faudrait parfois pour cela avoir des informations spécifiques aux périphériques.
Si vous utilisez l'installateur sur de tels systèmes, vous devrez le rendre amorçable vous-même à la fin de l'installation, par exemple en exécutant les commandes nécessaires dans un terminal démarré à l'intérieur de l'installateur.
Cette architecture accepte les systèmes à plusieurs processeurs (« symmetric multiprocessing » ou SMP). L'image standard du noyau Debian 12 a été compilée avec l'option SMP-alternatives. Le noyau détectera si votre système possède plusieurs processeurs et désactivera automatiquement la gestion SMP sur les systèmes avec un seul processeur.
À l'origine, sur certains serveurs haut de gamme, un système à multiples processeurs pouvait provoquer des problèmes. Aujourd'hui, un simple ordinateur de bureau ou un portable possède plusieurs processeurs sous la forme d'un processeur multicœur, une puce contenant deux processeurs ou plus, appelés cœurs.
Debian reconnaît les interfaces graphiques dans la mesure où elles sont reconnues par le système X11 de X.Org et par le noyau. Le noyau fournit le tampon vidéo (framebuffer), tandis que les environnements de bureau utilisent X11. Certaines fonctionnalités avancées des cartes graphiques, comme l'accélération 3D ou l'accélération matérielle (hardware-accelerated video), dépendent parfois de la carte graphique installée et demandent l'installation de microprogrammes supplémentaires, consultez la Section 2.2, « Périphériques demandant des microprogrammes (firmware) ».
Presque toutes les machines ARM possèdent du matériel graphique intégré, plutôt que sous forme de carte externe. Quelques rares machines ont des connecteurs d'extension qui acceptent les cartes graphiques, mais le matériel conçu pour fonctionner sans écran est commun. Alors que le tampon vidéo fourni par le noyau devrait fonctionner sur tous les périphériques, les cartes graphiques rapides 3D nécessitent toujours des binaires supplémentaires. La situation évolue rapidement, mais au moment de la publication de bookworm, les pilotes libres nouveaux (Nvidia Tegra K1 SoC) et freedreno (Qualcomm Snapdragon SoCs) sont disponibles. Les autres matériels nécessitent des pilotes non libres.
Des précisions sur les matériels graphiques acceptés et les dispositifs de pointage sont disponibles sur https://wiki.freedesktop.org/xorg/. Debian 12 propose la version 7.7 de X.Org.
Toute carte réseau (NIC, network interface card) reconnue par le noyau Linux devrait aussi être reconnue par l'installateur. Les pilotes devraient être chargés de manière automatique.
Sur ARMv7 32 bits avec unité de calcul flottant , la plupart des périphériques Ethernet intégrés sont reconnus et des modules pour les périphériques USB et PCI sont fournis.