2.1. Componente electronice compatibile (plăci și dispozitive)

Debian nu impune cerințe de componente electronice (plăci și dispozitive) dincolo de cerințele nucleului Linux sau kFreeBSD și ale setului de instrumente GNU. Prin urmare, orice arhitectură sau platformă la care au fost adaptate nucleul Linux sau kFreeBSD, libc, gcc etc. și pentru care o adaptare Debian există, poate rula Debian. Vă rugăm să consultați paginile de adaptări de la https://www.debian.org/ports/arm/ pentru mai multe detalii despre 32-bit hard-float ARMv7 sisteme de arhitectură care au fost testate cu Debian GNU/Linux.

În loc să încerce să descrie toate configurațiile de componente electronice diferite care sunt compatibile cu 32-bit hard-float ARMv7, această secțiune conține informații generale și indicații către unde pot fi găsite informații suplimentare.

2.1.1. Arhitecturi compatibile

Debian GNU/Linux 12 funcționează pe 9 arhitecturi principale și mai multe variante ale fiecărei arhitecturi cunoscute sub numele de savori.

Arhitectura Denumirea în Debian Subarhitectura Savoare
AMD64 și Intel 64 amd64    
Bazată pe Intel x86 i386 mașini x86 implicite varianta implicită
numai domenii Xen PV xen
ARM armel Marvell Kirkwood și Orion marvell
ARM cu componente FPU armhf multiplatformă armmp
ARM pe 64 de biți arm64    
MIPS pe 64 de biți (little-endian) mips64el MIPS Malta 5kc-malta
Cavium Octeon octeon
Loongson 3 loongson-3
MIPS pe 32 de biți (little-endian) mipsel MIPS Malta 4kc-malta
Cavium Octeon octeon
Loongson 3 loongson-3
Power Systems ppc64el mașini IBM POWER8 sau mai noi  
IBM S/390 pe 64 de biți s390x IPL de la VM-reader (lectorul de mașină virtuală) și DASD (accesul direct la dispozitivul de stocare) generic

Acest document acoperă instalarea pentru arhitectura 32-bit hard-float ARMv7 folosind nucleul Linux. Dacă căutați informații despre oricare dintre celelalte arhitecturi compatibile cu Debian, aruncați o privire la paginile Adaptările de Debian.

2.1.2. Trei adaptări ARM diferite

Arhitectura ARM a evoluat de-a lungul timpului, iar procesoarele ARM moderne oferă caracteristici care nu sunt disponibile la modelele mai vechi. Debian prin urmare, oferă trei adaptări ARM pentru a oferi cel mai bun suport pentru o gamă foarte largă de mașini diferite:

  • Debian/armel vizează procesoarele ARM mai vechi pe 32 de biți fără suport pentru o unitate în virgulă mobilă la nivel de hardware (FPU),

  • Debian/armhf funcționează numai pe procesoare ARM mai noi pe 32 de biți care implementează cel puțin arhitectura ARMv7 cu versiunea 3 a specificației vectorului ARM în virgulă mobilă (VFPv3). Utilizează funcțiile extinse și îmbunătățirile de performanță disponibile pentru aceste modele.

  • Debian/arm64 funcționează pe procesoare ARM pe 64 de biți care implementează cel puțin arhitectura ARMv8.

Din punct de vedere tehnic, toate procesoarele ARM disponibile în prezent pot fi rulate fie în modul endian („big” sau „little”), dar în practică marea majoritate utilizează modul „little-endian”. Toate sistemele Debian/arm64, Debian/armhf și Debian/armel funcționează numai în modul „little-endian”.

2.1.3. Variațiile în proiectarea procesoarelor ARM și complexitatea suportului

Sistemele ARM sunt mult mai eterogene decât cele bazate pe arhitectura PC bazată pe i386/amd64, astfel încât situația de suport poate fi mult mai complicată.

Arhitectura ARM este folosită în principal în așa-numitele sisteme pe cip (system-on-chip) (SoC). Aceste SoC-uri sunt proiectate de multe companii diferite cu componente hardware foarte variate, chiar și pentru funcționalitățile elementare necesare pentru a porni sistemul. Interfețele firmware-ului sistemului au fost din ce în ce mai standardizate de-a lungul timpului, dar mai ales pe echipamentele mai vechi interfețele firmware/pornire variază foarte mult, așa că pe aceste sisteme nucleul Linux trebuie să se ocupe de multe probleme de nivel scăzut specifice sistemului, care sunt gestionate de către BIOS/UEFI-ul plăcii de bază în lumea PC-urilor.

La începutul suportului ARM în nucleul Linux, varietatea de componente a dus la cerința de a avea un nucleu separat pentru fiecare sistem ARM, în contrast cu nucleul unul-pentru-toate (one-fits-all) pentru sistemele PC. Deoarece această abordare nu se extinde la un număr mare de sisteme diferite, s-a lucrat pentru a permite pornirea cu un singur nucleu ARM care poate rula pe sisteme ARM diferite. Suportul pentru sistemele ARM mai noi este acum implementat într-un mod care permite utilizarea unui astfel de nucleu multiplatformă, dar pentru mai multe sisteme mai vechi este încă necesar un nucleu specific separat. Din această cauză, distribuția standard Debian permite instalarea doar pe un număr restâns de astfel de sisteme ARM mai vechi, alături de sistemele mai noi care sunt suportate de nucleele multiplatformă ARM (numite armmp) în Debian/armhf.

2.1.4. Platforme compatibile cu Debian/armhf

Se știe că următoarele sisteme funcționează cu Debian/armhf utilizând nucleul multiplatformă (armmp):

Freescale MX53 Quick Start Board (MX53 LOCO Board)

IMX53QSB este o placă de dezvoltare bazată pe SoC i.MX53.

Versatile Express

Versatile Express este o serie de plăci de dezvoltare de la ARM constând dintr-o placă de bază care poate fi echipată cu diferite plăci fiice CPU.

Anumite plăci de dezvoltare și sisteme încorporate bazate pe Allwinner sunXi

Nucleul armmp acceptă mai multe plăci de dezvoltare și sisteme încorporate bazate pe Allwinner A10 (nume în cod al arhitecturii sun4i), A10s/A13 (nume în cod al arhitecturii sun5i), A20 (nume în cod al arhitecturii >sun7i), A31/A31s (nume în cod al arhitecturii sun6i) și A23/A33 (parte a familiei sun8i) SoC. Asistența completă pentru instalare (inclusiv furnizarea de imagini de card SD gata făcute împreună cu instalatorul) este disponibilă în prezent pentru următoarele sisteme bazate pe sunXi:

  • Cubietech Cubieboard 1 + 2 / Cubietruck

  • LeMaker Banana Pi și Banana Pro

  • LinkSprite pcDuino și pcDuino3

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

  • Xunlong OrangePi Plus

Suportul de sistem pentru dispozitivele bazate pe Allwinner sunXi este limitat la controlori și informații despre arborele dispozitivelor disponibile în nucleul ramurii principale Linux. Arborele nucleului specific furnizorului (cum ar fi nucleele Allwinner SDK) și seria nucleului 3.4 derivată din Android linux-sunxi.org nu sunt compatibile cu Debian.

Nucleul ramurii principale Linux are suport, în general, pentru consolă serială, Ethernet, SATA, USB și carduri MMC/SD pe SoC-urile Allwinner A10, A10s/A13, A20, A23/A33 și A31/A31s. Nivelul de suport pentru afișajul local (HDMI/VGA/LCD) și modul audio variază între sistemele individuale. Pentru majoritatea sistemelor, nucleul nu are controlori grafici nativi, ci folosește infrastructura simplefb în care încărcătorul sistemului inițializează afișarea, iar nucleul doar reutiliza framebuffer-ul pre-inițializat. Acest lucru funcționează în general destul de bine, deși are ca rezultat anumite limitări (rezoluția afișajului nu poate fi modificată din mers și gestionarea alimentării cu energie a afișajului nu este posibilă).

Memoria flash integrată destinată a fi utilizată ca dispozitiv de stocare în masă există în general în două variante de bază pe sistemele bazate pe sunXi: flash NAND brut și flash eMMC. Majoritatea plăcilor mai vechi bazate pe sunXi cu stocare flash integrată folosesc flash NAND brut pentru care suportul nu este disponibil în general în nucleul principal și, prin urmare, nici în Debian. Un număr de sisteme mai noi folosesc flash eMMC în loc de flash NAND brut. Un cip flash eMMC apare practic ca un card SD rapid, non-amovibil și este acceptat în același mod ca un card SD obișnuit.

Programul de instalare include suport de bază pentru un număr de sisteme bazate pe sunXi care nu sunt enumerate mai sus, dar este în mare parte netestat pe acele sisteme, deoarece proiectul Debian nu are acces la echipamentul respectiv. Pentru aceste sisteme nu sunt furnizate imagini de card SD prefabricate cu programul de instalare. Plăcile de dezvoltare cu un astfel de suport limitat includ:

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

  • Sinovoip BPI-M2 (bazat pe A31s)

  • Xunlong Orange Pi (bazat pe A20) / Orange Pi Mini (bazat pe A20)

Pe lângă SoC-urile și sistemele enumerate mai sus, instalatorul are suport foarte limitat pentru Allwinner H3 SoC și o serie de plăci bazate pe acesta. Suportul pentru nucleul principal pentru H3 este încă în mare parte în desfășurare în momentul înghețării lansării Debian 9, astfel încât programul de instalare acceptă doar consola serie, cardurile de memorie MMC/SD și controlorul gazdă USB pe sistemele bazate pe H3. Nu există încă un controlor pentru portul Ethernet integrat al H3, astfel încât conectarea la rețea este posibilă numai cu un adaptor USB Ethernet sau un adaptor USB WiFi. Sistemele bazate pe H3 pentru care este disponibil un astfel de suport de instalare foarte simplu includ:

  • 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 este o placă de dezvoltare bazată pe cipul Tegra K1 (cunoscut și ca Tegra 124). Tegra K1 dispune de un procesor ARM Cortex-A15 quad-core pe 32 de biți și GPU Kepler (GK20A) cu 192 de nuclee CUDA. Alte sisteme bazate pe Tegra 124 pot funcționa de asemenea.

Seagate Personal Cloud și Seagate NAS

Seagate Personal Cloud și Seagate NAS sunt dispozitive NAS bazate pe platforma Marvell Armada 370. Debian are suport pentru Personal Cloud (SRN21C), Personal Cloud 2-Bay (SRN22C), Seagate NAS 2-Bay (SRPD20) și Seagate NAS 4-Bay (SRPD40).

SolidRun Cubox-i2eX / Cubox-i4Pro

Seria Cubox-i este un set de sisteme mici, cu formă cubică, bazate pe familia SoC Freescale i.MX6. Suportul de sistem pentru seria Cubox-i este limitat la controlorii și informațiile despre arborele dispozitivelor disponibile în nucleul ramurii principale Linux; seria de nuclee Freescale 3.0 pentru Cubox-i nu este are suport în Debian. Controlorii disponibili în nucleul principal includ consolă serială, Ethernet, USB, card MMC/SD și suport pentru afișare prin HDMI (consolă și X11). În plus, este implementat portul eSATA de pe Cubox-i4Pro.

Wandboard

Wandboard Quad, Dual și Solo sunt plăci de dezvoltare bazate pe Freescale i.MX6 Quad SoC. Suportul de sistem este limitat la controlorii și informațiile despre arborele dispozitivelor disponibile în nucleul ramurii principale Linux; seriile de nuclee 3.0 și 3.10 specifice wandboard-ului de la wandboard.org nu au suport în Debian. Nucleul ramurii principale include suport pentru controlori pentru consola serială, afișaj prin HDMI (consolă și X11), Ethernet, USB, MMC/SD, SATA (doar Quad) și audio analogic. Suportul pentru celelalte opțiuni audio (S/PDIF, HDMI-Audio) și pentru modulul WLAN/Bluetooth integrat este netestat sau nu este disponibil în Debian 9.

În general, suportul multiplatformă ARM în nucleul Linux permite rularea debian-installer pe sistemele armhf care nu sunt enumerate în mod explicit mai sus, atâta timp cât nucleul folosit de debian-installer are suport pentru componentele sistemului țintă și este disponibil un fișier de arbore de dispozitive pentru țintă. În aceste cazuri, programul de instalare poate furniza, de obicei, o instalare funcțională, dar este posibil să nu poată face în mod automat ca sistemul să fie capabil să pornească. Pentru a face acest lucru, în multe cazuri, este nevoie de informații specifice dispozitivului.

Când utilizați debian-installer pe astfel de sisteme, este posibil să trebuiască să faceți manual sistemul să fie capabil să pornească la sfârșitul instalării, de exemplu prin rularea comenzilor necesare într-un shell pornit din debian-installer.

2.1.5. Procesoare multiple

Suportul pentru multiprocesoare — numit și multiprocesare simetrică symmetric multiprocessing sau SMP — este disponibil pentru această arhitectură. Imaginea nucleului standard al Debian 12 a fost compilată cu suport pentru alternative SMP. Aceasta înseamnă că nucleul va detecta numărul de procesoare (sau nuclee de procesor) și va dezactiva automat SMP pe sistemele cu uniprocesor.

Prezența a mai multor procesoare într-un singur calculator a fost inițial doar o caracteristică pentru sistemele de servere de înalt nivel, dar a devenit comună în ultimii ani aproape peste tot odată cu introducerea așa-numitelor procesoare multi-nucleu multi-core. Acestea conțin două sau mai multe unități de procesor, numite nuclee cores, într-un singur cip fizic.

2.1.6. Suportul pentru plăcile grafice

Suportul Debian pentru interfețele grafice este determinat de suportul subiacent găsit în sistemul X11 al X.Org și în nucleu. Grafica framebuffer de bază este furnizată de nucleu, în timp ce mediile de birou folosesc X11. Dacă sunt disponibile funcții avansate ale plăcii grafice, cum ar fi accelerarea în 3D a plăcii (3D-hardware acceleration) sau video accelerat de componentele plăcii (hardware-accelerated video), depinde de placa grafică reală utilizată în sistem și, în unele cazuri, de instalarea de blocuri firmware suplimentare (consultați Secțiune 2.2, „Dispozitive care necesită firmware”).

Aproape toate mașinile ARM au placa grafică încorporată în placa bază, mai degrabă decât să fie pe o placă conectabilă. Unele mașini au sloturi de expansiune pentru conectarea dei plăci grafice, dar aceasta este o raritate. Dispozitive concepute pentru a fi fără ecran și fără grafică sunt destul de comune. În timp ce suportul de bază pentru framebuffer-ul video furnizat de nucleu ar trebui să funcționeze pe toate dispozitivele care au placă grafică, accelerarea 3D are invariabil nevoie de controlori binari pentru a funcționa. Situația se schimbă rapid, dar în momentul lansării bookworm controlorii liberi pentru „nouveau” (Nvidia Tegra K1 SoC) și „freedreno” (SoC-urile Qualcomm Snapdragon) sunt disponibile în această versiune. Alte dispozitive necesită controlori care nu sunt liberi de la terțe părți.

Detalii despre plăcile grafice și dispozitivele de indicare acceptate pot fi găsite la https://wiki.freedesktop.org/xorg/. Debian 12 include X.Org versiunea 7.7.

2.1.7. Plăci de conectare la rețea

Aproape orice placă de interfață de rețea (Network Interface Card: NIC) acceptată de nucleul Linux ar trebui să fie acceptată și de sistemul de instalare; controlorii ar trebui să fie în mod normal încărcați automat.

Pe 32-bit hard-float ARMv7, majoritatea dispozitivelor Ethernet încorporate sunt acceptate și sunt furnizate module pentru dispozitive PCI și USB suplimentare.

2.1.8. Periferice și alte dispozitive

Linux oferă suport pentru o mare varietate de dispozitive, cum ar fi mouse-uri, imprimante, scanere, PCMCIA/CardBus/ExpressCard și dispozitive USB. Cu toate acestea, majoritatea acestor dispozitive nu sunt necesare în timpul instalării sistemului.