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 http://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 9 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    
AMD64 & Intel 64 amd64    
ARM armel Marvell Kirkwood kirkwood
Marvell Orion orion5x
Versatile versatile
ARM avec matériel FPU armhf multiplate-forme armmp
multiplate-forme pour les systèmes à extension d'adressage (LPAE) armmp-lpae
ARM 64 bits arm64    
MIPS (grand boutien) mips SGI IP22 (Indy/Indigo 2) r4k-ip22
SGI IP32 (O2) r5k-ip32
MIPS Malta (32 bits) 4kc-malta
MIPS Malta (64 bits) 5kc-malta
MIPS (petit boutien) mipsel MIPS Malta (32 bits) 4kc-malta
MIPS Malta (64 bits) 5kc-malta
IBM/Motorola PowerPC powerpc PowerMac pmac
PReP prep
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 petit-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 (« systems-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é « armmp ») dans Debian/amhf.

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

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 ») A10/A13 (nom de code d'architecture « sun5i ») et A20 (nom de code d'architecture « sun7i »). Les systèmes basés sur sunXi suivants sont totalement pris en charge par l'installateur :

  • Cubietech Cubieboard 1 + 2 / Cubietruck

  • LeMaker Banana Pi et Banana Pro

  • LinkSprite pcDuino et pcDuino3

  • Mele A1000

  • Miniand Hackberry

  • Olimex A10-Olinuxino-LIME, A10s-Olinuxino Micro, A13-Olinuxino, A13-Olinuxino Micro, A20-Olinuxino-LIME, A20-Olinuxino-LIME2 et A20-Olinuxino Micro

  • PineRiver Mini X-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. La branche linux-sunxi.org 3.4 dérivée d'Android n'est pas prise en charge par Debian.

La branche principale du noyau Linux prend généralement en charge la console série, Ethernet, SATA, USB et les cartes MMC/SD sur les puces Allwinner A10, A10/A13 et A20, mais il n’y pas d'affichage local (HDMI/VGA/LVDS) ni de prise en charge de l'audio. La mémoire flash NAND intégrée sur certains systèmes basés sur sunXi n'est pas non plus prise en charge.

L'utilisation d'un affichage local est techniquement possible sans les pilotes d'affichage natifs grâce à l'infrastructure « simplefb » de la branche principale du noyau Linux, qui s'appuie sur le gestionnaire d'amorçage « U-Boot » pour initialiser le matériel d'affichage. Malheureusement cela n'est pas pris en charge par la version de U-Boot incluse dans Debian 8.

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 Quad

La Wanboard Quad est une carte de développement basée 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 et SATA. La prise en charge de l'audio embarqué (analogique, S/PDIF et HDMI-Audio) et du module WLAN/Bluetooth embarqué n'est pas disponible dans Debian 8.

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 9 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 stretch, 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 http://xorg.freedesktop.org/. Debian 9 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 modems, les cartes réseau, les périphériques PCMCIA/CardBus/ExpressCard et USB, etc. Cependant, aucun de ces périphériques n'est requis lors de l'installation du système.