2.1. Unterstützte Hardware

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 64-Bit ARM-Architektur, die mit Debian GNU/Linux getestet wurden.

Dieser Abschnitt versucht nicht, all die verschiedenen Hardware-Konfigurationen zu erläutern, die auf der 64-Bit ARM-Architektur unterstützt werden, sondern bietet vielmehr allgemeine Informationen und Verweise, wo zusätzliche Informationen zu finden sind.

2.1.1. Unterstützte Architekturen

Debian GNU/Linux 11 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 64-Bit ARM-Architektur bei Verwendung des Linux-Kernels. Wenn Sie Informationen über eine der anderen von Debian unterstützten Architekturen suchen, besuchen Sie Debians Portierungs-Webseiten.

Dies ist die erste offizielle Veröffentlichung von Debian GNU/Linux für die 64-Bit ARM-Architektur. Wir finden, dass sie sich ausreichend bewährt hat, um veröffentlicht zu werden. Nachdem sie jedoch noch nicht eine so starke Verbreitung (und daher auch nicht so viel Erprobung bei den Benutzern) gefunden hat, könnten Sie hin und wieder auf Fehler stoßen. Verwenden Sie unsere Fehlerdatenbank (Bug Tracking System, BTS), um Probleme zu melden; geben Sie jedoch auf jeden Fall an, dass der Fehler auf 64-Bit ARM bei Verwendung des Linux-Kernels vorgekommen ist. Es könnte auch notwendig sein, die Debian arm-Mailingliste zu kontaktieren.

2.1.2. Drei verschiedene ARM-Portierungen

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.

2.1.3. Variationen beim ARM-CPU-Design und die komplexe Situation bei der CPU-Unterstützung

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. In älteren Ausprägungen der ARM-Architektur gab es massive Unterschiede von einem System zum nächsten, aber ARMv8 (arm64) ist erheblich mehr standardisiert, und daher ist es für den Linux-Kernel und andere Software einfacher, diese zu unterstützen.

Server-Versionen der ARMv8-Hardware verwenden typischerweise Standards gemäß Unified Extensible Firmware Interface (UEFI) und Advanced Configuration and Power Interface (ACPI). Diese beiden Standards bieten allgemeingültige, geräteunabhängige Methoden zum Booten und Konfigurieren von Computer-Hardware. Sie sind auch in der x86-PC-Welt weit verbreitet.

2.1.4. Plattformen, die von Debian/arm64 unterstützt werden

Arm64-/AArch64-/ARMv8-Hardware wurde erst recht spät innerhalb des Entwicklungszyklus' von Debian Bullseye verfügbar, somit hatten in diesem Entwicklungsstand nur wenige Plattformen Unterstützung im Mainline-Kernel verfügbar. Dies ist jedoch die Hauptanforderung, um debian-installer auf diesen Geräten zum Laufen zu bringen. Folgende Plattformen werden bekanntermaßen von Debian/arm64 in dieser Veröffentlichung unterstützt. Es gibt nur ein Kernel-Image, das alle aufgelisteten Plattformen unterstützt.

Applied Micro (APM) Mustang/X-Gene

Der APM Mustang war das erste Linux-fähige ARMv8-System. Er nutzt das X-Gene System-on-Chip, das seitdem auch in anderen Maschinen zum Einsatz kam. Dies ist eine 8-Kern-CPU mit Ethernet, USB und seriellem Anschluß. Einer der verfügbaren Formfaktoren sieht einem Arbeitsplatz-PC sehr ähnlich, aber es werden in Zukunft noch andere Varianten erwartet. Die meiste Hardware wird im Mainline-Kernel unterstützt, allerdings fehlt derzeit im Bullseye-Kernel die Unterstützung für USB.

ARM Juno Entwickler-Plattform

Juno ist ein leistungsfähiges Entwickler-Board mit 6-Kern-CPU (2xA57, 4xA53, ARMv8-A, 800Mhz), Mali-Grafik (T624), 8GB DDR3-RAM, Ethernet, USB und seriellem Anschluß. Es war gedacht für Entwicklungen beim Systemstart und den Test von Leistungsdaten, daher ist es weder klein noch billig, aber es war eines der ersten verfügbaren Boards. Die komplette Onboard-Hardware wird im Mainline-Kernel und inBullseye unterstützt.

Wenn der debian-installer auf nicht-UEFI-Systemen eingesetzt wird, müssen Sie das System am Ende des Installationsprozesses von Hand boot-fähig machen, z.B. indem Sie die erforderlichen Befehle in einer Shell, die in der debian-installer-Umgebung gestartet wurde, ausführen. Das Programm flash-kernel kann X-Gene-Systeme korrekt einrichten, die mit U-Boot gebootet werden.

2.1.4.1. Andere Plattformen

Die Multiplattform-Unterstützung im arm64-Linux-Kernel kann auch den Einsatz von debian-installer auf arm64-Systemen ermöglichen, die nicht explizit oben aufgelistet sind. Solange der vom debian-installer genutzte Kernel Unterstützung für die Komponenten des Zielsystems hat und ein Gerätedatei-Baum für das Zielsystem vorhanden ist, könnte auch die Installation auf ein neues Zielsystem korrekt funktionieren. In diesen Fällen kann der Installer normalerweise eine ordnungsgemäße Installation durchführen, und wenn UEFI eingesetzt wird, sollte es auch möglich sein, das System boot-fähig zu machen. Wird UEFI nicht genutzt, müssen Sie eventuell einige händische Konfigurationsschritte ausführen, um das System boot-fähig zu machen.

2.1.5. Mehrprozessor-Systeme

Mehrprozessor-Unterstützung – auch symmetrisches Multiprocessing (SMP) genannt – ist für diese Architektur verfügbar. 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.

Das Standard-Kernel-Image in Debian 11 wurde mit SMP-Unterstützung kompiliert. Es ist auch auf Nicht-SMP-Systemen ohne Probleme nutzbar.

2.1.6. Unterstützung für Grafik-Hardware

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-Images nötig (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 Bullseye 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 11 enthält X.Org in Version 7.7.

2.1.7. Hardware für Netzwerkverbindungen

Nahezu alle Netzwerkkarten (NIC), die vom Linux-Kernel unterstützt werden, sollten auch vom Installationssystem unterstützt werden; Treiber werden normalerweise automatisch geladen.

Auf 64-Bit ARM-Systemen werden die meisten integrierten (Onboard-) Ethernet-Schnittstellen unterstützt und für zusätzliche PCI- und USB-Geräte werden Module angeboten.

2.1.8. Peripherie und andere Hardware

Linux unterstützt eine breite Auswahl an Geräten wie Mäuse, Drucker, Scanner, PCMCIA-/CardBus-/ExpressCard- und USB-Geräte. Allerdings werden die meisten dieser Geräte während der Installation des Systems nicht benötigt.