2.1. Ondersteunde hardware

Debian stelt geen extra vereisten inzake hardware bovenop de vereisten die gesteld worden door de Linux- of de KFreeBSD-kernel en de GNU-gereedschapssets. Daardoor kan Debian gebruikt worden op elke architectuur of elk platform waarvoor de Linux- of de KFreeBSD-kernel, libc, gcc, enz. geschikt gemaakt werden en waarvoor een Debian-uitgave bestaat. Raadpleeg de pagina's over geschikte architecturen (ports) op http://www.debian.org/ports/arm/ voor meer informatie over systemen van de architectuur 64-bit ARM waarop Debian GNU/Linux getest werd.

Eerder dan alle verschillende ondersteunde hardwareconfiguraties van 64-bit ARM te proberen beschrijven, bevat dit hoofdstuk algemene informatie en verwijzingen naar plaatsen waar bijkomende informatie gevonden kan worden.

2.1.1. Ondersteunde architecturen

Debian GNU/Linux 9 ondersteunt tien hoofdarchitecturen en verschillende variaties van elk van die architecturen, varianten (flavors) genoemd.

Architectuur Aanduiding in Debian Onderarchitectuur Variant
Gebaseerd op Intel x86 i386 standaard x86-systemen standaard
enkel Xen PV domeinen xen
AMD64 & Intel 64 amd64    
ARM armel Marvell Kirkwood en Orion marvell
ARM met hardware-FPU armhf multiplatform armmp
64bits ARM arm64    
64bits MIPS (big endian) mips MIPS Malta 4kc-malta
Cavium Octeon octeon
64bits MIPS (little endian) mips64el MIPS Malta 5kc-malta
Cavium Octeon octeon
Loongson 3 loongson-3
32bits MIPS (little endian) mipsel MIPS Malta 4kc-malta
Cavium Octeon octeon
Loongson 3 loongson-3
Power Systems ppc64el IBM POWER8 of recentere machines  
64bits IBM S/390 s390x IPL van VM-reader en DASD generieke

Dit document behandelt de installatie op de architectuur 64-bit ARM met de kernel Linux. Indien u op zoek bent naar informatie over een van de andere door Debian ondersteunde architecturen, raadpleeg dan de webpagina Architecturen waarop Debian werkt (Ports).

Dit is de eerste officiële release van Debian GNU/Linux voor de architectuur 64-bit ARM . We zijn van mening dat het een voldoende staat van dienst heeft om uitgebracht te worden. Maar aangezien het niet dezelfde verspreiding gekend heeft als sommige andere architecturen (en dus minder getest werd door gebruikers), kan het zijn dat u op enkele bugs stoot. Gebruik ons Bugopvolgingssysteem om eventuele problemen te signaleren. Vermeld zeker het feit dat de bug zich manifesteerde op het platform 64-bit ARM met de kernel Linux. Het kan ook nodig zijn om de mailinglijst voor debian-arm te gebruiken.

2.1.2. Drie verschillende uitgaven voor ARM

Mettertijd is de ARM-architectuur geëvolueerd en moderne ARM-processors hebben functionaliteit die in oudere modellen niet aanwezig was. Daarom brengt Debian drie verschillende uitgaven (ports) uit voor ARM om op die manier de best mogelijke ondersteuning te bieden voor een zeer ruim scala van verschillende machines:

  • Debian/armel is bedoeld voor oudere 32-bits ARM-processoren zonder ondersteuning voor een hardware floating point unit (FPU),

  • Debian/armhf werkt alleen op recentere 32-bits ARM-processoren die minstens de architectuur ARMv7 met versie 3 van de ARM vector floating point specificatie (VFPv3) toepassen. Ze maakt gebruik van de uitgebreide functionaliteit en de verbeterde prestaties van deze modellen.

  • Debian/arm64 werkt op 64-bits ARM-processoren die minstens de architectuur ARMv8 toepassen.

Vanuit technisch oogpunt kunnen alle momenteel beschikbare ARM CPU's volgens beide endian-modi (big of little) functioneren, maar in de praktijk gebruikt het grootste deel de modus little-endian. Zowel Debian/arm64, Debian/armhf als Debian/armel ondersteunen enkel little-endian systemen.

2.1.3. Variaties in het design van ARM CPU's en hun complexe ondersteuning

ARM-systemen zijn veel heterogener dan systemen die een i386/amd64 PC-architectuur als basis hebben. Daardoor kan de situatie wat ondersteuning betreft, veel gecompliceerder zijn.

De ARM-architectuur wordt hoofdzakelijk gebruikt in zogenaamde system-on-chip (SoC) designs (geïntegreerde schakelingen). Dergelijke SoC's worden ontworpen door zeer veel verschillende bedrijven die gebruik maken van erg uiteenlopende hardwarecomponenten, zelfs voor de meest basale functionaliteit die het systeem activeert. Bij oudere versies van de ARM-architectuur zag men grote verschillen tussen de ene en de daaropvolgende SoC. ARMv8 (arm64) is echter veel meer gestandaardiseerd en kan daarom makkelijker ondersteund worden door de Linuxkernel en door andere software.

Serverversies van de ARMv8-hardware worden meestal geconfigureerd volgens de standaarden van de 'Unified Extensible Firmware Interface' (UEFI) en de 'Advanced Configuration and Power Interface' (ACPI). Deze beide standaarden voorzien in een gemeenschappelijke en apparaatonafhankelijke manier om computerhardware op te starten en te configureren. Ook in de wereld van x86 PC's zijn ze gebruikelijk.

2.1.4. Door Debian/arm64 ondersteunde platformen

Arm64/AArch64/ARMv8-hardware werd slechts vrij laat in de releasecyclus van Debian Stretch beschikbaar. Daardoor was er op het ogenblik van de release nog niet voor veel platformen ondersteuning ingebouwd in de standaardversie van de kernel. Dit is de belangrijkste vereiste voor een werkende debian-installer. Het is bekend dat in deze release de volgende platformen ondersteund worden door Debian/arm64. Eén kernelimage ondersteunt al de vermelde platformen.

Applied Micro (APM) Mustang/X-Gene

De APM Mustang was het eerste voor Linux geschikte ARMv8 systeem dat beschikbaar was. Het gebruikt het X-gene SoC, dat nadien ook in andere machines gebruikt werd. Het heeft een CPU met 8 kernen, ethernet, USB en een seriële poort. Een gebruikelijk model ziet er uit als een desktopcomputer, maar men verwacht voor de toekomst nog veel andere versies. Het grootste deel van de hardware wordt door de standaardkernel ondersteund, maar op dit ogenblik ontbreekt USB-ondersteuning in de kernel van Stretch.

ARM Juno Development Platform

Juno is een degelijk ontwikkelingsbord met een ARMv8-A CPU van 800Mhz en 6 kernen (2xA57, 4xA53), Mali (T624) grafische interface, 8GB DDR3 RAM, ethernet, USB, seriële poort. Het werd ontwikkeld voor het activeren van systemen en doorgedreven testing en het is dus niet klein en niet goedkoop, maar het was een van de eerst beschikbare borden. Alle ingebouwde hardware wordt ondersteund door de standaardkernel en in Stretch.

Indien u debian-installer gebruikt op niet-UEFI-systemen, moet u op het einde van de installatie het systeem handmatig gereed maken om te kunnen opstarten, bijvoorbeeld door de vereiste commando's uit te voeren in een shell die vanuit debian-installer opgestart wordt. flash-kernel is in staat om een X-Gene systeem te bouwen dat met U-Boot opstart.

2.1.4.1. Andere platformen

De multiplatform-ondersteuning in de Linuxkernel voor arm64 kan het ook mogelijk maken om debian-installer te gebruiken op arm64-systemen die hierboven niet expliciet vermeld werden. Zolang de kernel die door debian-installer gebruikt wordt de componenten van het systeem ondersteunt, en er voor dat doelsysteem een bestand met een apparatenlijst (device-tree file) beschikbaar is, kan een nieuw doelsysteem perfect werken. In dergelijke gevallen kan het installatieprogramma gewoonlijk voor een werkende installatie zorgen, en zolang UEFI gebruikt wordt, zou het ook mogelijk moeten zijn om het systeem opstartbaar te maken. Als geen UEFI gebruikt wordt, zult u handmatig een aantal configuratiestappen moeten uitvoeren om het systeem opstartbaar te maken.

2.1.5. Meerdere processoren

Ondersteuning voor meerdere processoren — ook wel symmetric multiprocessing of SMP genoemd — is voor deze architectuur beschikbaar. De aanwezigheid van meerdere processoren in een computer was oorspronkelijk slechts weggelegd voor serversystemen uit het topsegment, maar is de laatste jaren ongeveer overal een gewone zaak geworden met de introductie van de zogenaamde multi-core-processoren (multikernprocessoren). Deze hebben in één enkele fysieke chip twee of meer processoreenheden, die cores of kernen genoemd worden.

Het standaard kernelimage van Debian 9 werd gecompileerd met SMP-ondersteuning. Het kan ook probleemloos gebruikt worden op niet-SMP-systemen.

2.1.6. Ondersteuning voor grafische hardware

De ondersteuning van Debian voor grafische interfaces wordt bepaald door de onderliggende ondersteuning ervan in het X11-systeem van X.Org en in de kernel. Basale grafische weergave via de framebuffer wordt door de kernel geleverd, terwijl een desktopomgeving gebruik maakt van X11. Of geavanceerde functionaliteit van grafische kaarten, zoals 3D hardwareacceleratie of video met hardwareacceleratie beschikbaar is, hangt af van de grafische hardware die in het systeem gebruikt wordt en in sommige gevallen ook van het extra installeren van firmware-images (zie Paragraaf 2.2, “Apparaten waarvoor firmware vereist is”).

Bijna alle ARM-machines hebben de grafische hardware ingebouwd in plaats van op een in te pluggen grafische kaart. Sommige machines hebben expansiesloten waarin een grafische kaart geplaatst kan worden, maar dat is een rariteit. Hardware die bedoeld is als een systeem zonder toetsenbord en beeldscherm (headless) heeft vrij courant geen grafische hardware. Terwijl basale grafische weergave via de framebuffer waarvoor de kernel instaat, op elk apparaat met grafische hardware zou moeten werken, moet snelle 3D grafische hardware steevast binaire stuurprogramma's hebben om te kunnen functioneren. De situatie verandert snel, maar op het ogenblik van de release van stretch zijn vrije stuurprogramma's voor nouveau (Nvidia Tegra K1 SoC) en freedreno (Qualcomm Snapdragon SoC's) beschikbaar in de release. Andere hardware heeft niet-vrije stuurprogramma's nodig van derden.

Meer informatie over ondersteunde grafische hardware en aanwijsapparaten is te vinden op http://xorg.freedesktop.org/. Debian 9 bevat versie 7.7 van X.Org.

2.1.7. Hardware voor verbinding met het netwerk

Zowat elke netwerkkaart (NIC) die door de kernel Linux ondersteund wordt, zou ook moeten ondersteund worden door het installatiesysteem. Stuurprogramma's zouden normaal automatisch geladen moeten worden.

Op 64-bit ARM worden de meeste ingebouwde ethernetapparaten ondersteund en worden modules voorzien voor bijkomende PC- en USB-apparaten.

2.1.8. Randapparatuur en andere hardware

Linux ondersteunt een grote variëteit van hardware-apparaten, zoals muizen, printers, scanners, PCMCIA/CardBus/ExpressCard- en USB-apparaten. Maar de meeste van deze apparaten heeft u tijdens de installatie van het systeem niet nodig.