2.1. Matériel reconnu

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.debian.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.

2.1.1. Architectures reconnues

Debian GNU/Linux 10 fonctionne sur dix architectures principales et sur de nombreuses variantes de celles-ci, appelées « saveurs ».

Architecture Étiquette Debian Sous-Architecture Saveur
Intel x86-based i386 systèmes x86 variante par défaut
domaines Xen PV uniquement xen
AMD64 & Intel 64 amd64    
ARM armel Marvell Kirkwood et Orion marvell
ARM avec matériel FPU armhf multiplate-forme armmp
ARM 64 bits arm64    
MIPS 32 bits (grand-boutien) mips MIPS Malta 4kc-malta
Cavium Octeon octeon
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.

2.1.2. Trois portages ARM différents

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.

2.1.3. Différences dans la conception des processeurs ARM et difficulté de la prise en charge

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 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.

2.1.4. Plates-formes prises en charge par Debian/armhf

Les systèmes suivants sont connus pour fonctionner avec Debian/armhf en utilisant le noyau multiplate-forme (armmp) :

Freescale MX53 Quick Start Board (MX53 LOCO Board)

La IMX53QSB est une carte de développement basée sur la puce i.MX53.

Versatile Express

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.

Certaines cartes de développement et systèmes embarqués basés sur Allwinner sunXi

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

NVIDIA Jetson TK1

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.

Seagate Personal Cloud et NAS Seagate

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).

SolidRun Cubox-i2eX / Cubox-i4Pro

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.

Wandboard

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.

2.1.5. Plates-formes qui ne sont plus prises en charge par Debian/armhf

EfikaMX

La plate-forme EfikaMX (Smartbook Genesi Efika et nettop Genesi EfikaMX) était prise en charge dans Debian 7 avec un noyau spécifique, mais n'est plus prise en charge dans Debian 8. Le code nécessaire pour construire ce noyau spécifique a été retiré de la source amont du noyau Linux en 2012. Debian ne peut donc plus fournir de nouvelles constructions. L'utilisation du noyau multiplate-forme armmp sur la plate-forme EfikaMX nécessiterait un arbre de périphériques qui n'est actuellement pas disponible.

2.1.6. Processeurs multiples

Cette architecture accepte les systèmes à plusieurs processeurs (« symmetric multiprocessing » ou SMP). L'image standard du noyau Debian 10 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.

2.1.7. Gestion du matériel graphique

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, voyez 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 buster, 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 10 propose la version 7.7 de X.Org.

2.1.8. Matériel de connexion réseau

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.

2.1.9. Périphériques et autres matériels

Linux reconnaît une large gamme de périphériques comme les souris, les imprimantes, les scanners, les périphériques PCMCIA/CardBus/ExpressCard et USB. Cependant, aucun de ces périphériques n'est requis lors de l'installation du système.