2.1. Podporovaná zařízení

Debian neklade na hardware jiná omezení než ta, která jsou dána jádrem Linuxu nebo kFreeBSD a programy GNU. Tedy na libovolné počítačové architektuře, na kterou bylo přeneseno jádro Linuxu nebo kFreeBSD, knihovna libc, překladač gcc atd., a pro kterou existuje port Debianu, můžete Debian nainstalovat. Viz stránka s porty (https://www.debian.org/ports/arm/).

Než abychom se snažili popsat všechny podporované konfigurace hardwaru pro architekturu 32-bit hard-float ARMv7, zaměříme se spíše na obecné informace a uvedeme odkazy na doplňující dokumentaci.

2.1.1. Podporované počítačové architektury

Debian GNU/Linux 12 podporuje 9 hlavních počítačových architektur a několik jejich variant, někdy označované jako příchutě.

Architektura Označení v Debianu Podarchitektura Varianta
AMD64 & Intel 64 amd64    
založené na Intel x86 i386 standardní počítače x86 výchozí
Xen PV xen
ARM armel Marvell Kirkwood a Orion marvell
ARM s hardwarovým FPU armhf multiplatformní armmp
64 bitové ARM arm64    
64 bitové MIPS (little-endian) mips64el MIPS Malta 5kc-malta
Cavium Octeon octeon
Loongson 3 loongson-3
32 bitové MIPS (little-endian) mipsel MIPS Malta 4kc-malta
Cavium Octeon octeon
Loongson 3 loongson-3
Power Systems ppc64el IBM POWER8 nebo novější  
64 bitové IBM S/390 s390x IPL z VM-reader a DASD generic

Tato verze dokumentu se zabývá instalací Debianu s jádrem Linux na architektuře 32-bit hard-float ARMv7. Pro ostatní podporované architektury jsou návody na stránkách Debian-Ports.

2.1.2. Tři hlavní ARM porty

Architektura ARM se vyvíjí a moderní ARM procesory nabízí možnosti, které nejsou na starších modelech dostupné. Debian proto nabízí tři základní ARM porty pro nejlepší podporu širokého spektra systémů:

  • Debian/armel cílí na starší 32 bitové ARM procesory bez hardwarové podpory výpočtů s plovoucí desetinnou čárkou (nemají FPU).

  • Debian/armhf běží jen na novějších 32 bitových ARM procesorech, které implementují alespoň architekturu ARMv7 s 3. verzí ARM specifikace pro vektorové výpočty s plovoucí desetinnou čárkou (VFPv3). Debian/armhf využívá tyto rozšířené možnosti a vyšší výkon nových modelů.

  • Debian/arm64 funguje na 64 bitových ARM procesorech implementujících alespoň architekturu ARMv8.

Technicky mohou všechny aktuálně dostupné ARM procesory běžet v obou režimech adresování (little-endian i big-endian), avšak v praxi používá drtivá většina ARM systémů adresování little-endian. V tomto duchu podporuje Debian/arm64, Debian/armhf i Debian/armel pouze systémy little-endian.

2.1.3. Různé návrhy ARM procesorů a náročnost podpory

Systémy ARM jsou mnohem různorodější, než systémy založené na architektuře i386/amd64, takže podpora může být složitější.

The ARM architecture is used mainly in so-called system-on-chip (SoC) designs. These SoCs are designed by many different companies with vastly varying hardware components even for the very basic functionality required to bring the system up. System firmware interfaces have been increasingly standardised over time, but especially on older hardware firmware/boot interfaces vary a great deal, so on these systems the Linux kernel has to take care of many system-specific low-level issues which would be handled by the mainboard's BIOS/UEFI in the PC world.

To znamenalo, že když Linux získal podporu architektury ARM, muselo se pro každý systém sestavovat speciální jádro, na rozdíl od architektury i386/amd64, kde jedno jádro běží na téměř libovolném hardwaru. Tento přístup samozřejmě nebyl s ohromným počtem různých systémů udržitelný a vývojáři začali pracovat na tom, aby se podobně jako u PC dalo jedno jádro použít na různých ARM systémech. Toto jádro se pak nazývá multiplatformní a podporuje většinu novějších systémů. V Debianu je na architektuře Debian/armhf označeno jako armmp. Stále však existují starší systémy, které vyžadují speciální jádro. Z tohoto důvodu podporuje standardní Debian instalaci jen na několik vybraných starších systémů.

2.1.4. Platformy podporované v Debian/armhf

O následujících systémech je známo, že fungují s Debian/armhf používajícím multiplatformní jádro armmp:

Freescale MX53 Quick Start Board (MX53 LOCO Board)

IMX53QSB je vývojářská deska založená na SoC i.MX53.

Versatile Express

Versatile Express je série vývojářských desek od ARMu skládající se ze základní desky, která se dá osadit různými dceřinnými CPU.

Některé vývojářské desky a embeded systémy Allwinner založené na sunXi

Jádro armmp podporuje několik vývojářských desek a embeded systémů založených na SoC Allwinner A10 (architektura sun4i), A10s/A13 (architektura sun5i), A20 (architektura sun7i), A31/A31s (architektura sun6i) a A23/A33 (součást rodiny sun8i). Instalační systém plně podporuje následující systémy:

  • Cubietech Cubieboard 1 + 2 / Cubietruck

  • LeMaker Banana Pi a Banana Pro

  • LinkSprite pcDuino a pcDuino3

  • Olimex A10-Olinuxino-LIME / A20-Olinuxino-LIME / A20-Olinuxino-LIME2 / A20-Olinuxino Micro / A20-SOM-EVB

  • Xunlong OrangePi Plus

Podpora pro zařízení Allwinner založená na architektuře sunXi je daná ovladači a stromy zařízení dostupnými v oficiálním linuxovém jádře. Jádra jednotlivých dodavatelů (jako třeba jádra z Allwinner SDK) a jádra linux-sunxi.org 3.4 odvozená z Androidu nejsou v Debianu podporována.

Oficiální linuxové jádro na SoC Allwinner A10, A10s/A13, A20, A23/A33 a A31/A31s obvykle podporuje sériovou konzoli, ethernet, SATA, USB a karty MMC/SD. Míra podpory lokálního displeje (HDMI/VGA/LCD) a integrovaného audio hardwaru se liší systém od systému. Pro většinu systémů jádro neobsahuje nativní ovladače grafiky a místo toho využívá infrastrukturu simplefb, která spoléhá na to, že se o inicializaci zobrazovacího hardwaru postará zavaděč a jádro pak již jen znovu-použije předpřipravený framebuffer. V praxi to funguje poměrně dobře, ale přináší to s sebou několik omezení, jako je nemožnost měnit za běhu rozlišení a nefunkční správa napájení.

Integrovaná flash paměť sloužící jako mass storage se na systémech založených na sunXi vyskytuje ve dvou základních variantách: NAND a eMMC. Většina starších desek používá NAND flash, pro kterou obvykle neexistují ovladače v oficiálním jádře a proto ani v Debianu. Mnohé novější systémy používají místo NAND flash eMMC flash. Čip s eMMC se navenek tváří jako rychlá, nevyměnitelná SD karta a je tedy podporována stejně, jako běžná SD karta.

Instalátor obsahuje základní podporu pro mnoho dalších, výše neuvedených systémů založených na sunXi, avšak tyto povětšinou nejsou otestovány, protože projekt Debian nemá k danému hardwaru přístup. Pro tyto systémy neexistují předpřipravené obrazy SD karet s instalačním systémem. Mezi tyto vývojářské desky s omezenou podporou patří:

  • Olimex A10s-Olinuxino Micro / A13-Olinuxino / A13-Olinuxino Micro

  • Sinovoip BPI-M2 (založená na A31s)

  • Xunlong Orange Pi (založená na A20) / Orange Pi Mini (založená na A20)

Kromě výše uvedených systémů obsahuje instalátor velice omezenou podporu pro platformu Allwinner H3 a desky na ní založené. V době vydání Debianu 9 je podpora H3 v oficiálním jádře stále ve vývoji a instalátor tedy na systémech založených na H3 podporuje pouze sériovou konzoli, MMC/SD a USB řadič. Chybí podpora integrovaného ethernetu, takže síťování je možné pouze přes externí ethernetovou nebo Wifi kartu do USB. Mezi systémy založené na H3, které mají základní podporu instalátoru, patří:

  • 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

NVIDIA Jetson TK1

NVIDIA Jetson TK1 je vývojářská deska založená na čipu Tegra K1 (též známým jako Tegra 124). Tegra K1 se pyšní čtyřjárovým 32 bitovým procesorem ARM Cortex-A15 a grafickou kartou Kepler (GK20A) se 192 CUDA jádry. Je možné, že budou fungovat i jiné systémy založené na Tegra 124.

Seagate Personal Cloud a Seagate NAS

Seagate Personal Cloud a Seagate NAS jsou NAS zařízení založené na platformě Armada 370 od Marvellu. Debian podporuje Personal Cloud (SRN21C), Personal Cloud 2-Bay (SRN22C), Seagate NAS 2-Bay (SRPD20) a Seagate NAS 4-Bay (SRPD40).

SolidRun Cubox-i2eX / Cubox-i4Pro

Řada Cubox-i jsou malé systémy ve tvaru kostky založené na rodině SoC Freescale i.MX6. Podpora pro řadu Cubox-i je daná ovladači a stromy zařízení dostupnými v oficiálním linuxovém jádře. Jádra Freescale 3.0 pro Cubox-i nejsou v Debianu podporována. Oficiální linuxové jádro podporuje sériovou konzoli, ethernet, USB, karty MMC/SD a podporu zobrazování přes HDMI (konzole i X11). Na Cubox-i4Pro je navíc podporován i eSATA port.

Wandboard

Wandboard Quad, Dual a Solo jsou vývojářské desky založená na SoC Freescale i.MX6 Quad. Podpora je daná ovladači a stromy zařízení dostupnými v oficiálním linuxovém jádře. Speciální jádra řady 3.0 a 3.10 z wandboard.org nejsou v Debianu podporována. Oficiální linuxové jádro podporuje sériovou konzoli, zobrazování přes HDMI (konzole i X11), ethernet, USB, karty MMC/SD SATA (jen Quad) a analogové audio. V Debianu 9 nejsou podporovány ostatní audio výstupy (S/PDIF a HDMI) a ani integrovaný WLAN/Bluetooth modul.

Pokud má jádro použité v debian-installeru podporu daných systémových komponent a je dostupný soubor se stromem zařízení, umožňuje multiplatformní linuxové jádro spustit debian-installer i na armhf systémech výše explicitně neuvedených. Na takových systémech obvykle instalace funguje, nicméně se asi nepodaří automaticky nastavit zavádění, jelikož to často vyžaduje konkrétní informace přesně pro dané zařízení.

V takovém případě je nutno před dokončením instalace nastavit zavádění ručně, například spuštěním požadovaných příkazů v shellu spuštěném z prostředí debian-installeru.

2.1.5. Víceprocesorové systémy

Tato architektura umožňuje využití více procesorů — tzv. symetrický multiprocesing (SMP). Standardní jádro v distribuci Debian GNU/Linux 12 bylo sestaveno s podporou SMP-alternatives, což znamená, že jádro samo rozpozná počet procesorů (nebo procesorových jader) a na jednoprocesorových počítačích podporu SMP automaticky vypne.

Více procesorů v počítači bylo původně doménou výkonných serverů, ale s uvedením konceptu vícejádrových procesorů, kdy jeden fyzický čip obsahuje několik procesorových jednotek, tzv. jader, se s nimi dnes setkáváme prakticky všude.

2.1.6. Podpora grafických karet

Debian's support for graphical interfaces is determined by the underlying support found in X.Org's X11 system, and the kernel. Basic framebuffer graphics is provided by the kernel, whilst desktop environments use X11. Whether advanced graphics card features such as 3D-hardware acceleration or hardware-accelerated video are available, depends on the actual graphics hardware used in the system and in some cases on the installation of additional firmware blobs (see 2.2 – „Ovladače vyžadující firmware“).

Téměř všechny ARMové počítače mají grafický hardware zabudovaný přímo v sobě. Počítače se slotem pro zasunutí samostatné grafické karty existují, ale je jich jako šafránu. Naopak celkem běžný je hardware navržený zcela bez grafického výstupu. Základní zobrazování přes jaderný framebuffer by mělo fungovat na všech zařízeních s grafickým hardwarem, avšak rychlá 3D grafika nutně vyžaduje binární ovladače. Situace se mění docela rychle, ale v době vydání bookworm jsou k dispozici svobodné ovladače pro nouveau (SoC Nvidia Tegra K1) a freedreno (SoC Qualcomm Snapdragon). Ostatní hardware vyžaduje nesvobodné ovladače třetích stran.

Podrobnosti o podporovaných grafických kartách a ukazovacích zařízeních naleznete na https://wiki.freedesktop.org/xorg/. Debian GNU/Linux 12 je dodáván se systémem X.Org verze 7.7.

2.1.7. Hardware pro připojení k síti

Libovolná síťová karta (NIC) podporovaná jádrem Linux by měla být podporována i instalačním systémem. Ovladače by se měly zavádět automaticky.

Na architektuře 32-bit hard-float ARMv7 je podporována většina integrovaných ethernetových zařízení a dostupné jsou i moduly pro přídavná PCI a USB zařízení.

2.1.8. Ostatní zařízení

Linux umožňuje používat nejrůznější hardwarové vybavení jako myši, tiskárny, scannery, televizní karty a zařízení PCMCIA/CardBus/ExpressCard a USB. Většina z nich však není pro instalaci nutná.