Debian stellt keine zusätzlichen Anforderungen an die Hardware außer denen des Linux- bzw. kFreeBSD-Kernels und der GNU-Werkzeuge. Daher läuft Debian auf jeder Architektur oder Plattform, auf die der Linux- bzw. kFreeBSD-Kernel, libc, gcc usw. portiert wurden und für die eine Debian-Portierung existiert. Bitte besuchen Sie die Portierungs-Webseite https://www.debian.org/ports/arm/ für weitere Informationen über Systeme der 32-Bit Hard-float-ARMv7-Architektur, die mit Debian GNU/Linux getestet wurden.
Dieser Abschnitt versucht nicht, all die verschiedenen Hardware-Konfigurationen zu erläutern, die auf der 32-Bit Hard-float-ARMv7-Architektur unterstützt werden, sondern bietet vielmehr allgemeine Informationen und Verweise, wo zusätzliche Informationen zu finden sind.
Debian GNU/Linux 12 unterstützt 9 Haupt-Architekturen und einige Variationen dieser Architekturen, auch als „Flavours“ bekannt:
Architektur | Debian-Bezeichnung | Unterarchitektur | Flavour |
---|---|---|---|
AMD64 & Intel 64 | amd64 | ||
Intel x86-basiert | i386 | Standard-x86-Maschinen | default |
Nur für Xen PV-Domains | xen | ||
ARM | armel | Marvell Kirkwood und Orion | marvell |
ARM mit Hardware-Fließkommaeinheit | armhf | Multiplattform | armmp |
64-Bit ARM | arm64 | ||
64-Bit MIPS (Little-Endian) | mips64el | MIPS Malta | 5kc-malta |
Cavium Octeon | octeon | ||
Loongson 3 | loongson-3 | ||
32-Bit MIPS (Little-Endian) | mipsel | MIPS Malta | 4kc-malta |
Cavium Octeon | octeon | ||
Loongson 3 | loongson-3 | ||
Power Systems | ppc64el | IBM POWER8 oder neuer | |
64-Bit IBM S/390 | s390x | IPL von VM-Reader und DASD | generic |
Dieses Dokument umfasst die Installation für die 32-Bit Hard-float-ARMv7-Architektur bei Verwendung des Linux-Kernels. Wenn Sie Informationen über eine der anderen von Debian unterstützten Architekturen suchen, besuchen Sie Debians Portierungs-Webseiten.
Die ARM-Architektur hat sich über die Zeit weiterentwickelt und moderne ARM-Prozessoren bieten Funktionalitäten, die in älteren Modellen nicht verfügbar waren. Debian bietet daher drei ARM-Portierungen an, um aus einem breiten Spektrum verschiedener Maschinen das beste herauszuholen:
Debian/armel zielt auf ältere 32-Bit ARM-Prozessoren ohne eigene Hardware-Fließkommaeinheit (FPU) ab;
Debian/armhf läuft nur auf neueren 32-Bit ARM-Prozessoren, die mindestens die ARMv7-Architektur mit Version 3 der ARM-Vektor-Fließkomma-Spezifikation (VFPv3) implementieren. Debian/armhf nutzt die erweiterten Funktionalitäten und Performance-Steigerungen, die bei diesen Modellen möglich sind.
Debian/arm64 läuft auf 64-Bit ARM-Prozessoren, die mindestens die ARMv8-Architektur implementieren.
Technisch gesehen können alle derzeit verfügbaren ARM-CPUs in einem der beiden Endian-Modi (Big-Endian oder Little-Endian) betrieben werden, in der Praxis verwendet aber die große Mehrheit der derzeit verfügbaren System den Little-Endian-Modus. Alle drei ARM-Portierungen (Debian/arm64, Debian/armhf und Debian/armel) unterstützen nur Little-Endian-Systeme.
ARM-Systeme sind erheblich verschiedenartiger als die i386-/amd64-basierte PC-Architektur, daher kann die Situation bei der Unterstützung der CPUs deutlich komplizierter sein.
Die ARM-Architektur wird hauptsächlich in sogenannten „Systems-on-Chip“ (SoC - ein komplettes System auf einem einzigen Chip) verwendet. Diese SoCs werden von vielen verschiedenen Herstellern mit sich erheblich unterscheidenden Hardware-Komponenten (und dies sogar z.B. bei grundlegenden Funktionalitäten, die benötigt werden, um das System zu starten) entwickelt. Es wurde in der Vergangenheit viel daran gearbeitet, die Schnittstellen zur System-Firmware zu standardisieren, aber speziell auf älterer Hardware variieren die Firmware- und Boot-Schnittstellen teilweise erheblich, daher muss sich der Linux-Kernel bei ARM-Systemen um viele systemspezifische Themen auf der niedrigsten Hardware-Ebene kümmern, die in der PC-Welt vom BIOS/UEFI des Mainboards abgewickelt werden.
Zu Beginn der ARM-Unterstützung im Linux-Kernel führte dies dazu, dass ein separater Kernel für jedes ARM-System benötigt wurde, im Gegensatz zu dem „Einer-passt-für-alle“-Kernel bei PC-Systemen. Da dieser Ansatz nicht mit einer großen Anzahl verschiedener Systeme funktioniert, wurde damit begonnen, einen einzigen ARM-Kernel zu entwickeln, der auf verschiedenen ARM-Systemen laufen kann. Die Unterstützung für neue ARM-Systeme ist jetzt auf eine Art implementiert, die die Nutzung eines solchen Multiplattform-Kernels erlaubt, aber für mehrere ältere Systeme ist trotzdem noch ein spezifischer Kernel erforderlich. Aufgrunddessen unterstützt die standardmäßige Debian-Distribution nur die Installation auf einer auswählten Anzahl älterer ARM-Systeme, wobei zusätzlich die neueren Systeme von den ARM-Multiplattform-Kernel („armmp“ genannt) unter Debian/armhf unterstützt werden.
Folgende Systeme funktionieren bekanntermaßen mit Debian/armhf unter Verwendung des Multiplattform-Kernels (armmp):
Das IMX53QSB ist ein Entwickler-Board, das auf dem i.MX53 System-on-Chip beruht.
Das Versatile Express ist eine Entwickler-Board-Serie von ARM und besteht aus einer Basisplatine, die mit verschiedenen CPU-Schwester-Platinen ausgerüstet werden können.
Der armmp-Kernel unterstützt mehrere Entwickler-Boards und eingebettete Systeme, die auf den SoCs Allwinner A10 (Architektur-Codename „sun4i“), A10s/A13 (Architektur-Codename „sun5i“), A20 (Architektur-Codename „sun7i“), A31/A31s (Architektur-Codename „sun6i“) und A23/A33 (Teil der „sun8i“-Familie) basieren. Volle Installer-Funktionalität (inklusive der Beistellung von gebrauchsfertigen SD-Karten-Images mit dem Installer) ist derzeit für folgende sunXi-basierte Systeme verfügbar:
Cubietech Cubieboard 1 + 2 / Cubietruck
LeMaker Banana Pi und Banana Pro
LinkSprite pcDuino und pcDuino3
Olimex A10-Olinuxino-LIME / A20-Olinuxino-LIME / A20-Olinuxino-LIME2 / A20-Olinuxino Micro / A20-SOM-EVB
Xunlong OrangePi Plus
Die Systemunterstützung für Allwinner sunXi-basierte Systeme ist auf Treiber und Informationen aus dem Gerätedatei-Baum beschränkt, welche im Mainline-Linux-Kernel enthalten sind. Hersteller-spezifische Kernel (wie die Allwinner-SDK-Kernel) und die 3.4-Kernel-Serie des Android-Derivates linux-sunxi.org werden von Debian nicht unterstützt.
Der Mainline-Linux-Kernel unterstützt auf den SoCs Allwinner A10-, A10s/A13-, A20-, A23/A33- und A31/A31s grundsätzlich die serielle Konsole, Ethernet, SATA, USB und MMC-/SD-Karten. Der Grad der Unterstützung für lokale Displays (HDMI/VGA/LCD) und Audio-Hardware variert zwischen individuellen Systemen. Für die meisten Systeme enthält der Kernel keine nativen Grafiktreiber, sondern verwendet stattdessen die „simplefb“-Infrastruktur, in der der Bootloader das Display initialisiert und der Kernel dann lediglich den bereits initialisierten Framebuffer weiter nutzt. Dies funktioniert grundsätzlich ziemlich gut, allerdings führt es zu einigen Einschränkungen (die Bildschirmauflösung kann nicht während des Laufens geändert werden und Powermanagement für das Display ist nicht möglich).
Fest eingebauter Flash-Speicher, der als Massenspeicher genutzt werden kann, existiert auf sunXi-basierten Systemen grundsätzlich in zwei verschiedenen Basisvarianten: als reiner NAND-Flash- oder als eMMC-Flash-Speicher. Die meisten älteren sunXi-basierten Boards mit fest eingebautem Flash-Speicher nutzen reinen NAND-Flash, für den im Mainline-Kernel - und daher auch in Debian - grundsätzlich keine Unterstützung vorhanden ist. Ein Reihe neuerer Systeme nutzt stattdessen eMMC-Flash-Speicher. Solch ein Speicher erscheint im Prinzip als schnelle, fest eingebaute SD-Karte und wird genauso wie reguläre SD-Karten unterstützt.
Der Installer enthält prinzipiell auch Unterstützung für einige sunXi-basierte Systeme, die oben nicht aufgeführt sind, allerdings ist dies überwiegend ungetestet, da das Debian-Projekt keinen Zugriff auf die entsprechende Hardware hat. Für solche Systeme stellen wir daher keine gebrauchsfertigen SD-Karten-Images bereit. Dazu gehören folgende Development-Boards:
Olimex A10s-Olinuxino Micro / A13-Olinuxino / A13-Olinuxino Micro
Sinovoip BPI-M2 (A31s-based)
Xunlong Orange Pi (A20-based) / Orange Pi Mini (A20-based)
Zusätzlich zu den oben genannten SoCs und Systemen enthält der Installer sehr reduzierte Unterstützung für das Allwinner H3-SoC und darauf basierende Systeme. Unterstützung im Mainline-Kernel für H3-Systeme ist zu der Zeit des Freezes für Debian 9 noch überwiegend in den Anfängen, so dass der Installer hier derzeit nur die serielle Konsole, MMC-/SD-Karten und den USB-Host-Controller unterstützt. Es gibt noch keinen Treiber für den Onboard-Ethernet-Port auf H3-Systemen, daher ist eine Netzwerkverbindung nur über einen USB-Ethernet-Adapter oder einen USB-Wifi-Stick möglich. Zu H3-Systemen mit solch reduzierter Installer-Unterstützung gehören:
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
Das NVIDIA Jetson TK1 ist ein Developer-Board, das auf dem Tegra K1-Chip (auch bekannt als Tegra 124) basiert. Der Tegra K1 enthält eine Quad-core 32-Bit ARM Cortex-A15 CPU und eine Kepler GPU (GK20A) mit 192 CUDA-Kernen. Andere Systeme, die auf dem Tegra 124 basieren, könnten auch von Debian unterstützt sein.
Seagate Personal Cloud und Seagate NAS sind NAS-Geräte basierend auf Marvells Armada 370-Plattform. Debian unterstützt Personal Cloud (SRN21C), Personal Cloud 2-Bay (SRN22C), Seagate NAS 2-Bay (SRPD20) und Seagate NAS 4-Bay (SRPD40).
Die Serie der Cubox-i ist eine Sammlung kleiner würfelförmiger Systeme, die auf der Freescale i.MX6-SoC-Familie aufbauen. Die Systemunterstützung für die Cubox-i-Serie ist auf Treiber und Informationen aus dem Gerätedatei-Baum beschränkt, welche im Mainline-Linux-Kernel enthalten sind. Die 3.0-Kernel-Serie von Freescale für Cubox-i wird von Debian nicht unterstützt. Die im Mainline-Kernel verfügbaren Treiber unterstützen die serielle Konsole, Ethernet, USB und MMC-/SD-Karten sowie Grafikausgabe über HDMI (Konsole und X11). Außerdem wird auf dem Cubox-i4Pro auch der eSATA-Port unterstützt.
Die Wandboards Quad, Dual und Solo sind Development-Boards, die auf der Freescale i.MX6-Quad-SoC-Familie basieren. Die Systemunterstützung ist auf Treiber und Informationen aus dem Gerätedatei-Baum beschränkt, welche im Mainline-Linux-Kernel enthalten sind. Die Wandboard-spezifischen Kernel der Serien 3.0 und 3.10 von wandboard.org werden von Debian nicht unterstützt. Die im Mainline-Kernel verfügbaren Treiber unterstützen die serielle Konsole, Grafikausgabe über HDMI (Konsole und X11), Ethernet, USB, MMC-/SD-Karten, SATA (nur Quad) und analoges Audio. Unterstützung für andere Audio-Funktionalitäten (S/PDIF, HDMI-Audio) sowie für das Onboard-WLAN/Bluetooth-Modul ist ungetestet oder in Debian 9 nicht verfügbar.
Grundsätzlich erlaubt die ARM-Multiplattform-Unterstützung im Linux-Kernel, den debian-installer
auch auf Systemen laufen zu lassen, die hier nicht explizit aufgeführt sind, solange der vom debian-installer
genutzte Kernel Unterstützung für die Systemkomponenten des Zielsystems hat und eine Gerätebaum-Datei dafür vorhanden ist. In diesen Fällen kann der Installer normalerweise eine ordnungsgemäße Installation durchführen, aber möglicherweise kann das System nicht automatisch boot-fähig gemacht werden, da dies in vielen Fällen gerätespezifische Informationen erfordert.
Wenn Sie den debian-installer
auf solchen Systemen einsetzen, müssen Sie das System am Ende der Installation von Hand boot-fähig machen, z.B. indem Sie die erforderlichen Befehle in einer innerhalb des debian-installer
gestarteten Shell ausführen.
Mehrprozessor-Unterstützung – auch „symmetrisches Multiprocessing (SMP)“ genannt – ist für diese Architektur verfügbar. Das Standard-Kernel-Image in Debian 12 wurde mit SMP-alternatives-Unterstützung kompiliert. Das bedeutet, dass der Kernel die Zahl der Prozessoren (oder Prozessor-Kerne) erkennt und bei Ein-Prozessor-Systemen automatisch die SMP-Unterstützung deaktiviert.
Mehrere Prozessoren in einem Computer zu haben war ursprünglich nur auf High-End-Servern ein Thema, ist aber in den letzten Jahren mit der Einführung sogenannter „Multi-Core“-Prozessoren fast überall gängig geworden. Diese enthalten zwei oder mehr Prozessoreinheiten, sogenannte „Cores“ (Kerne), in einem physikalischen Chip.
Die Unterstützung für Grafikkarten in Debian wird bestimmt von der zugrundeliegenden Unterstützung im X.Org-X11-System und dem Kernel. Basis-Grafikfunktionalitäten über Framebuffer wird durch den Kernel bereitgestellt, während Desktop-Umgebungen X11 verwenden. Ob erweiterte Funktionen der Grafikkarte, wie 3D-Hardware-Beschleunigung oder hardware-beschleunigte Anzeige, verfügbar sind, hängt von der letztendig im System verwendeten Grafik-Hardware ab und manchmal ist die Installation von zusätzlichen „Firmware“-Dateien erforderlich (siehe Abschnitt 2.2, „Hardware, die Firmware erfordert“).
Nahezu alle ARM-Maschinen haben die Grafik-Hardware fest eingebaut, und nicht als Erweiterungskarte. Es gibt Systeme mit Erweiterungssteckplätzen, die auch Grafikkarten aufnehmen können, aber diese sind eher Raritäten. Hardware, die entwickelt wurde, um komplett ohne eine lokale Grafikanzeige zu arbeiten, ist hier eher die Regel. Während eine Basis-Grafikfunktionalität über Framebuffer (durch den Kernel bereitgestellt) auf allen Geräten, die Grafik-Hardware haben, funktionieren sollte, benötigt 3D-Grafik ausnahmslos Binärtreiber. Die Situation ändert sich hier sehr schnell, aber zur Zeit der Freigabe von Bookworm sind freie Treiber für nouveau (Nvidia Tegra-K1-SoC) und freedreno (Qualcomm Snapdragon-SoCs) in der Veröffentlichung enthalten. Andere Hardware benötigt nicht-freie Treiber von Drittanbietern.
Details über unterstützte Grafikkarten und Zeigegeräte finden Sie unter https://wiki.freedesktop.org/xorg/. Debian GNU/Linux 12 enthält X.Org in Version 7.7.
Nahezu alle Netzwerkkarten (NIC), die vom Linux-Kernel unterstützt werden, sollten auch vom Installationssystem unterstützt werden; Treiber werden normalerweise automatisch geladen.
Auf 32-Bit Hard-float-ARMv7-Systemen werden die meisten integrierten (Onboard-) Ethernet-Schnittstellen unterstützt und für zusätzliche PCI- und USB-Geräte werden Module angeboten.