2.1. Hardware supportato

Debian non ha nessun requisito aggiuntivo all'hardware oltre a quelli necessari al funzionamento del kernel Linux o kFreeBSD e dei programmi GNU. Perciò è possibile usare Debian su qualsiasi architettura o piattaforma verso cui è stato fatto il port del kernel Linux o kFreeBSD, della libc e del gcc e per la quale esiste il port di Debian. Consultare le pagine dei port su http://www.debian.org/ports/arm/ per conoscere quali sistemi con architettura ARM sono stati testati con Debian GNU/Linux.

Piuttosto che cercare di descrivere tutte le diverse configurazioni hardware che sono supportate da ARM, questa sezione contiene delle informazioni generali e dei riferimenti a documenti dov'è possibile trovare delle informazioni aggiuntive.

2.1.1. Architetture supportate

Debian GNU/Linux 8 supporta otto architetture principali e diverse varianti di ogni architettura, che vanno sotto il nome di «flavor».

Architettura Indicazione Debian Sottoarchitettura Variante (flavor)
Intel x86-based i386    
AMD64 & Intel 64 amd64    
ARM armel Marvell Kirkwood kirkwood
Marvell Orion orion5x
Marvell MV78xx0 mv78xx0
Versatile versatile
ARM con FPU hardware armhf multipiattaforma armmp
multipiattaforma per sistemi con LPAE armmp-lpae
Intel IA-64 ia64    
MIPS (big endian) mips SGI IP22 (Indy/Indigo 2) r4k-ip22
SGI IP32 (O2) r5k-ip32
MIPS Malta (32 bit) 4kc-malta
MIPS Malta (64 bit) 5kc-malta
MIPS (little endian) mipsel MIPS Malta (32 bit) 4kc-malta
MIPS Malta (64 bit) 5kc-malta
IBM/Motorola PowerPC powerpc PowerMac pmac
PReP prep
64bit IBM S/390 s390x IPL da VM-reader e DASD generico

Debian GNU/kFreeBSD 8 supporta due architetture.

Architettura Indicazione Debian
Intel x86-based kfreebsd-i386
AMD64 & Intel 64 kfreebsd-amd64

Questo documento tratta l'installazione sull'architettura ARM con il kernel Linux. Se si cercano delle informazioni su un'altra delle architetture supportate da Debian si consultati la pagina dei port Debian.

2.1.2. CPU, schede madri e video supportate

I sistemi ARM sono molto più eterogenei rispetto all'architettura dei PC basati su i386/amd64 in cui tutti i sistemi condividono un firmware di sistema (BIOS e/o UEFI) che gestisce l'inizializzazione dell'hardware in modo standardizzato. L'architettura ARM è principalmente usata per i «System-on-Chip» (SoC). I SoC sono progettati da diverse aziende e usano una gran varietà di componenti hardware anche per le funzionalità di base necessarie all'avvio del sistema. I sistemi che usano questi SoC solitamente non hanno un firmware che li accomuna e quindi sui sistemi ARM il kernel Linux deve prendersi in carico molti problemi di basso livello e di tutti quegli aspetti specifici del sistema che nel mondo dei PC sono gestiti dal BIOS della scheda madre.

Agli albori il supporto per ARM nel kernel Linux consisteva nell'avere un kernel specifico per ciascun sistema ARM, ciò era in contrasto con il kernel «uno-va-bene-per-tutti» per i sistemi PC. Un tale approccio non è scalabile su un gran numero di dispositivi e quindi fu iniziato il lavoro per realizzare un unico kernel ARM che potesse funzionare su molti sistemi ARM. I sistemi ARM più recenti dispongono di un kernle realizzato con l'approccio multipiattaforma ma per molti dei sistemi più vecchi è ancora necessario utilizzare un kernel specifico. Per questo motivo l'installazione della distribuzione Debian standard è supporta solo su un ristretto numero di vecchi sistemi ARM oltre che sui sistemi più recenti supportati con il kernel ARM multipiattaforma (armmp).

Nel tempo l'architettura ARM si è evoluta e i moderni processori ARM forniscono funzionalità che non erano presenti nei modelli precedenti. Debian fornisce due port su ARM: Debian/armel e Debian/armhf. Debian/armel è adatto ai processori ARM più vecchi che non dispongono di una FPU (floating point unit), Debian/armhf funziona solo sui processori ARM più recenti conformi all'architettura ARMv7 e con l'unità di calcolo in virgola mobile VFPv3. Debian/armhf fa un ampio uso delle funzioni e dei miglioramenti delle prestazioni disponibili su questi modelli.

Tecnicamente, molte delle CPU ARM possono funzionare sia in modalità big-endian che in modalità little-endian, in pratica la maggior parte dei sistemi attualmente disponibili utilizzano la modalità little-endian. Debian/armhf e Debian/armel supportano solo sistemi little-endian.

2.1.2.1. Piattaforme supportate da Debian/armel

Le seguenti piattaforme sono supportate da Debian/armel; richiedono dei kernel specifici per la piattaforma.

Kirkwood

Kirkwood è un sistema su un chip (SoC) della Marvell che integra una CPU ARM, Ethernet, SATA, USB e altre funzionalità in un unico chip. Attualmente sono supportati i seguenti dispositivi basati su Kirkwood: OpenRD (OpenRD-Base, OpenRD-Client e OpenRD-Ultimate), plug computer (SheevaPlug, GuruPluge e DreamPlug), QNAP Turbo Station (tutti i modelli TS-11x, TS-21x, TS-41x) e i NAS LaCie (Network Space v2, Network Space Max v2, Internet Space v2, d2 Network v2, 2Big Network v2 and 5Big Network v2).

Orion5x

Orion è un sistema su un chip (SoC) della Marvell che integra una CPU ARM, Ethernet, SATA, USB e altre funzionalità in un unico chip. Sul mercato ci sono molti dispositivi NAS (Network Attached Storage) basati sul chip Orion. Attualmente sono supportati questi dispositivi basati sul chip Orion: Buffalo Kurobox, D-Link DNS-323 e HP mv2120.

MV78xx0

La piattaforma MV78xx0 è usata sulle schede di sviluppo Marvell DB-78xx0-BP.

Versatile

La piattaforma Versatile è emulata da QEMU e quindi è un buon modo per fare delle prove e per usare Debian su ARM anche se non si dispone di un vero hardware.

IXP4xx

La serie di processori Intel IXP4xx è stata utilizzata nei NAS Linksys NSLU2. Debian supportava la piattaforma IXP4xx in Debian 7 ma dalla versione 8 non è più supportata perché il dispositivo dispone di una memoria flash troppo piccola per il kernel usato in Debian 8.

2.1.2.2. Piattaforme non più supportate da Debian/armel

IOP32x

I processori di I/O (IOP) prodotti da Intel sono presenti in molti prodotti legati alla memorizzazione e all'elaborazione dei dati tipo il GLAN Tank di IO-Data e il Thecus N2100. La piattaforma IOP32x era supportata in Debian 7 ma a partire dalla versione 8 non è più supportata perché la piattaforma ha dei vincoli hardware che non la rendono adatta per i prossimi rilasci di Debian.

2.1.2.3. Piattaforme supportate da Debian/armhf

I seguenti sistemi funzionano con Debian/armhf usando il kernel multipiattaforma (armmp):

Freescale MX53 Quick Start Board

La IMX53QSB è una scheda di sviluppo basata sul SoC i.MX53.

Versatile Express

Versatile Express è una serie di schede per la prototipazione che consistono in una scheda madre che può essere equipaggiata con varie CPU su scheda figlia.

Alcune schede di sviluppo e sistemi embedded basati su Allwinner sunXi

Parecchie schede per sviluppo e sistemi embedded basati sui SoC Allwinner A10 (nome in codice dell'architettura «sun4i») e A20 (nome in codice dell'architettura «sun7i») sono supportate dal kernel armmp. Attualmente l'installazione è pienamente supportata sui seguenti sistemi basati sul sunXi:

  • Cubietech Cubieboard 1 + 2 / Cubietruck

  • LinkSprite pcDuino

  • Mele A1000

  • Miniand Hackberry

  • Olimex A10-Olinuxino-LIME / A10s-Olinuxino Micro / A13-Olinuxino / A13-Olinuxino Micro / A20-Olinuxino Micro

  • PineRiver Mini X-Plus

Il supporto per i dispositivi Allwinner basati su sunXi è limitato ai driver e alle informazioni del device-tree presenti nel kernel Linux. Il kernel linux-sunxi.org 3.4 derivato da android non è supportato da Debian.

Sui SoC Allwinner A10 e A20 il kernel Linux supporta la console seriale, ethernet, SATA, USB e MMC/SD ma non supporta il display locale (HDMI/VGA/LVDS) né l'audio. La memoria flash NAND presente in alcuni sistemi sunXi non è supportata.

SolidRun Cubox-i2eX / Cubox-i4Pro

La serie Cubox-i è un insieme di piccoli sistemi a forma di cubo basati su SoC Freescale della famiglia i.MX6. Il supporto per le serie Cubox-i è limitato ai driver e alle informazioni del device-tree presenti nel kernel Linux; il kernel Freescale 3.0 per Cubox-i non è supportato da Debian. I driver disponibili comprendono console, ethernet, USB, MMC/SD-card e il supporto di base per un display tramite HDMI.

Solitamente il supporto ARM multipiattaforma del kernel Linux permette di usare il debian-installer anche su sistemi armhf non esplicitamente elencati in precedenza, a condizione che il kernel usato dal debian-installer abbia il supporto per i componenti del sistema e che sia disponbile un file con il device-tree. In questo caso l'installatore può solitamente fornire uno spazio utente funzionante ma probabilmente non è in grado di impostare l'avvio automatico del sistema perché per questa operazione, in molti casi, sono necessari informazioni specifiche sul dispositivo.

Quando si usa debian-installer su questi sistemi è necessario, al termine dell'installazione, rendere il sistema avviabile manualmente, per esempio, eseguendo gli opportuni comandi dalla shell disponibile all'interno del debian-installer.

2.1.2.4. Piattaforme non più supportate da Debian/armhf

EfikaMX

La piattaforma EfikaMX (Genesi Efika Smartbook e Genesi EfikaMX nettop) era supportata in Debian 7 grazie a un kernel specifico per questa piattaforma, da Debian 8 in poi non è più supportata. Il codice usato in precedenza per creare il kernel specifico per la piattaforma è stato rimosso dal kernel Linux nel 2012 e quindi non è possibile creare nuove versioni.

L'uso del kernel multipiattaforma armmp sulla piattaforma EfikaMX potrebbe richiedere il device-tree di supporto ma attualmente non è disponibile.

2.1.3. Schede video supportate

I dettagli sulle schede video supportate e i dispositivi di puntamento possono essere trovati in http://xorg.freedesktop.org/. Debian 8 include la versione 7.7 di X.Org.

2.1.4. Schede di rete

Quasi tutte le schede di rete (NIC) supportate dal kernel Linux standard dovrebbero essere supportate anche dal sistema d'installazione; normalmente i driver sono caricati automaticamente.

Su ARM, la maggior parte dei dispositivi Ethernet integrati sono supportati e i moduli per i dispositivi PCI e USB aggiuntivi sono disponibili.

2.1.5. Periferiche e altro hardware

Linux supporta una grande varietà di dispositivi hardware come per esempio mouse, stampanti, dispositivi PCMCIA/CardBus/ExpressCard e USB. Tuttavia molte di queste periferiche non sono necessarie durante l'installazione del sistema.