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.
Debian GNU/Linux 10 podporuje deset hlavních počítačových architektur a několik jejich variant.
Architektura | Označení v Debianu | Podarchitektura | Varianta |
---|---|---|---|
založené na Intel x86 | i386 | standardní počítače x86 | výchozí |
Xen PV | xen | ||
AMD64 & Intel 64 | amd64 | ||
ARM | armel | Marvell Kirkwood a Orion | marvell |
ARM s hardwarovým FPU | armhf | multiplatformní | armmp |
64 bitové ARM | arm64 | ||
32 bitové MIPS (big endian) | mips | MIPS Malta | 4kc-malta |
Cavium Octeon | octeon | ||
64 bitové MIPS (little-endian) | mips64el | MIPS Malta | 5kc-malta |
Cavium Octeon | octeon | ||
Loongson 3 | loongson-3 | ||
32bit 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.
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“.
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ší. Architektura ARM se používá hlavně v řešeních vše v jednom, tzv. SoC („system-on-chip“). Tyto SoC navrhuje spousta společností z nejrůznějších hardwarových součástí, které se liší i v tak základní funkcionalitě, jako je zavedení systému.
Systémy využívající tyto čipy obvykle postrádají jednotné rozhraní v podobě systémového firmwaru a ve výsledku se linuxové jádro na architektuře ARM musí starat o spousty nízkoúrovňových detailů specifických pro konkrétní systém, o což by se ve světě PC postaral BIOS.
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ů.
O následujících systémech je známo, že fungují s Debian/armhf
používajícím multiplatformní jádro armmp
:
IMX53QSB je vývojářská deska založená na SoC i.MX53.
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.
X
iJá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
sunX
i 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 sunX
i 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 sunX
i,
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 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 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).
Ř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 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-installer
u 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-installer
u.
Platforma EfikaMX (Genesi Efika Smartbook a Genesi EfikaMX nettop) byla podporovaná v Debianu 7 specifickým jádrem, ale jelikož byla v roce 2012 podpora této platformy z oficiálního linuxového jádra odstraněna, nemůže ani Debian dále pokračovat v podpoře.
Řešením by bylo použití multiplatformního jádra armmp, ale pro platformu EfikaMX v současnosti není dostupný příslušný strom zařízení.
Podpora pro platformu Intel IXP4xx byla odstraněna v Debianu 9. Na této platformě byl založen populární Linksys NSLU2.
S Debianem 9 byla z platformy Orion5x odebrána podpora pro zařízení D-Link DNS-323 a Conceptronic CH3SNAS, protože se linuxové jádro na těchto zařízeních již nevešlo do flash paměti. Ostatní Orion zařízení jako Buffalo Kurobox a HP mv2120 jsou nadále podporovány.
Tato architektura umožňuje využití více procesorů — tzv. symetrický multiprocesing (SMP). Standardní jádro v distribuci Debian GNU/Linux 10 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.
Podpora grafických karet v grafickém režimu závisí na tom, zda pro kartu existuje ovladač v projektu X.Org a v jádru. Základní podpora grafického framebufferu je poskytována jádrem, desktopová prostředí používají X.org. Podpora pokročilých vlastností, jako je hardwarová akcelerace 3D a videa, závisí na použitém hardwaru a v některých případech i na instalaci dodatečného „firmware“ (viz 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í buster 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 10 je dodáván se systémem X.Org verze 7.7.
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í.