Debian ställer inga maskinvarukrav utöver kraven ställda för Linux kärnan och GNU:s verktyg. Därför kan alla arkitekturer eller plattformar till vilka Linuxkärnan, libc, gcc och så vidare, blivit porterade, och för vilken en portering till Debian finns, köra Debian. Referera till ports-sidorna på https://www.debian.org/ports/arm/ för mera detaljer om 32-bit hard-float ARMv7-arkitektursystem som har blivit testade med Debian GNU/Linux.
Hellre än att försöka att beskriva alla de olika maskinvarukonfigurationerna som finns stöd för i 32-bit hard-float ARMv7 innehåller det här avsnittet allmän information och pekar till källor för ytterligare information.
Debian GNU/Linux 13 har stöd för 9 större arkitekturer och ett flertal variationer av varje arkitektur kända som ”varianter”.
Arkitektur | Debian-beteckning | Underarkitektur | Variant |
---|---|---|---|
AMD64 & Intel 64 | amd64 | ||
Intel x86-baserad | i386 | standard x86-maskiner | standard |
Endast Xen PV-domäner | xen | ||
ARM | armel | Marvell Kirkwood och Orion | marvell |
ARM med hårdvara FPU | armhf | multiplatform | armmp |
64bit ARM | arm64 | ||
64bit 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 eller nyare maskiner | |
64bit IBM S/390 | s390x | IPL från VM-läsare och DASD | generisk |
Det här dokumentet täcker in installationen för 32-bit hard-float ARMv7--arkitekturen med Linux-kärnan. Om du letar efter information om någon av de andra arkitekturerna som Debian stöder kan du se på sidorna för Debian-porteringar.
ARM-arkitekturen har utvecklats över tiden och moderna ARM-processorer har funktioner som inte är tillgängliga i äldre modeller. Debian tillhandahåller därför tre ARM-portar för att ge det bästa stödet för ett mycket brett utbud av olika maskiner:
Debian/armel riktar sig mot äldre 32-bitars ARM-processorer utan stöd för en hardware floating point unit (FPU),
Debian/armhf fungerar endast på nyare 32-bitars ARM-processorer som implementerar åtminstone ARMv7-arkitekturen med version 3 av ARM-vektorn floating point-specifikation (VFPv3). Den använder de utökade funktionerna och prestandaförbättringarna som finns tillgängliga på dessa modeller.
Debian/arm64 fungerar på 64-bitars ARM processorer som åtminstone implementerar ARMv8 arkitekturen.
Tekniskt sett kan alla för närvarande tillgängliga ARM-processorer köras i antingen endian-läge (stort eller litet), men i praktiken använder de allra flesta little-endian-läge. Alla Debian/arm64, Debian/armhf och Debian/armel stöder endast little-endian-system.
ARM-system är mycket mer heterogena än de som bygger på den i386/amd64-baserade PC-arkitekturen, så supportsituationen kan vara mycket mer komplicerad.
ARM-arkitekturen används huvudsakligen i så kallade ”system-on-chip” (SoC)-designer. Dessa SoCs är designade av många olika företag med väldigt varierande hårdvarukomponenter även för den mycket grundläggande funktionalitet som krävs för att få upp systemet. Systemets gränssnitt för fastprogramvara har blivit alltmer standardiserade över tiden, men speciellt på äldre hårdvaru fastprogramvaru/startgränssnitt varierar en hel del, så på dessa system måste Linux-kärnan ta hand om många systemspecifika lågnivåproblem som skulle hanteras av moderkortets BIOS/UEFI i PC-världen.
I början av ARM-stödet i Linux-kärnan, resulterade hårdvaruvarianten i kravet på att ha en separat kärna för varje ARM-system i motsats till ”en passar alla”-kärna för PC-system. Eftersom detta tillvägagångssätt inte skalas till ett stort antal olika system, gjordes arbete för att tillåta uppstart med en enda ARM-kärna som kan köras på olika ARM-system. Stöd för nyare ARM-system är nu implementerat på ett sätt som tillåter användning av en sådan multiplattformskärna, men för flera äldre system krävs fortfarande en separat specifik kärna. På grund av detta är standarden Debian distribution stöder endast installation på ett utvalt antal sådana äldre ARM-system, tillsammans med de nyare systemen som stöds av ARM-multiplattformskärnorna (kallade ”armmp”) i Debian/armhf.
Följande system är kända för att fungera med Debian/armhf genom att använda multiplatform (armmp): kärnan:
IMX53QSB är en utvecklingsbräda baserad på i.MX53 SoC.
Versatile Express är en utvecklingskortserie från ARM som består av en baseboard som kan utrustas med olika CPU-dotterkort.
Armmp-kärnan stöder flera utvecklingskort och inbäddade system baserade på Allwinner A10 (arkitekturkodnamn ”sun4i”), A10s/A13 (arkitekturkodnamn ”sun5i”), A20 (arkitekturkodnamn). ”sun7i”), A31/A31s (arkitekturkodnamn ”sun6i”) och A23/A33 (del av ”sun8i”-familjen) SoCs. Fullständigt installationsstöd (inklusive tillhandahållande av färdiga SD-kortsavbilder med installationsprogrammet) är för närvarande tillgängligt för följande sunXi-baserade system:
Cubietech Cubieboard 1 + 2 / Cubietruck
LeMaker Banana Pi och Banana Pro
LinkSprite pcDuino och pcDuino3
Olimex A10-Olinuxino-LIME / A20-Olinuxino-LIME / A20-Olinuxino-LIME2 / A20-Olinuxino Micro / A20-SOM-EVB
Xunlong OrangePi Plus
Systemstöd för Allwinner sunXi-baserade enheter är begränsat till drivrutiner och enhetsträdinformation tillgängliga i Linux-kärnan. Leverantörsspecifika kärnträd (som Allwinner SDK-kärnorna) och den android-härledda linux-sunxi.org kärnan 3.4-serien stöds inte av Debian.
Mainline Linux-kärnan stöder generellt seriekonsoler, Ethernet, SATA, USB och MMC/SD-kort på Allwinner A10, A10s/A13, A20, A23/A33 och A31/A31s SoCs. Nivån på stöd för lokal skärm (HDMI/VGA/LCD) och ljudhårdvara varierar mellan individuella system. För de flesta system har kärnan inga inbyggda grafikdrivrutiner utan använder istället ”simplefb”-infrastrukturen där starthanteraren initierar skärmen och kärnan bara återanvänder den förinitierade framebuffer. Detta fungerar i allmänhet hyfsat bra, även om det resulterar i vissa begränsningar (skärmupplösningen kan inte ändras i farten och displayens energihantering är inte möjlig).
Inbyggt flashminne avsett att användas som masslagringsenhet finns i allmänhet i två grundläggande varianter på sunXi-baserade system: rå NAND-flash och eMMC-flash. De flesta äldre sunXi-baserade kort med inbyggd flashlagring använder rå NAND-flash för vilket stöd inte är allmänt tillgängligt i mainlinekärnan och därför inte heller i Debian. Ett antal nyare system använder eMMC-flash istället för rå NAND-flash. Ett eMMC-flashchipp framstår i princip som ett snabbt, ej borttagbart SD-kort och stöds på samma sätt som ett vanligt SD-kort.
Installationsprogrammet inkluderar grundläggande stöd för ett antal sunXi-baserade system som inte är listade ovan, men det är till stor del oprövat på dessa system eftersom Debian projektet inte har tillgång till motsvarande hårdvara. Inga förbyggda SD-kortsavbilder med installationsprogrammet tillhandahålls för dessa system. Utvecklingskort med så begränsat stöd inkluderar:
Olimex A10s-Olinuxino Micro / A13-Olinuxino / A13-Olinuxino Micro
Sinovoip BPI-M2 (A31s-baserad)
Xunlong Orange Pi (A20-baserad) / Orange Pi Mini (A20-baserad)
Utöver SoC:erna och systemen som anges ovan har installationsprogrammet mycket begränsat stöd för Allwinner H3 SoC och ett antal kort baserade på den. Mainline-kärnstöd för H3 pågår fortfarande till stor del vid tidpunkten för frysningen av Debian 9-utgåvan, så installationsprogrammet stöder bara seriekonsoller, MMC/SD och USB-värdkontroller på H3-baserade system. Det finns ingen drivrutin för den inbyggda Ethernet-porten på H3 ännu, så nätverk är endast möjligt med en USB Ethernet-adapter eller en USB wifi-dongel. System baserade på H3 för vilka en sådan mycket grundläggande installationssupport är tillgänglig inkluderar:
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 är ett utvecklarkort baserat på Tegra K1-chipet (även känt som Tegra 124). Tegra K1 har en fyrkärnig 32-bitars ARM Cortex-A15 CPU och Kepler GPU (GK20A) med 192 CUDA-kärnor. Andra system baserade på Tegra 124 kan också fungera.
Seagate Personal Cloud och Seagate NAS är NAS-enheter baserade på Marvells Armada 370-plattform. Debian stöder Personal Cloud (SRN21C), Personal Cloud 2-Bay (SRN22C), Seagate NAS 2-Bay (SRPD20) och Seagate NAS 4-Bay (SRPD40).
Cubox-i-serien är en uppsättning små, kubiska system baserade på Freescale i.MX6 SoC-familjen. Systemstödet för Cubox-i-serien är begränsat till drivrutiner och information om enhetsträd som finns tillgänglig i Linux-kärnan; Freescale 3.0-kärnserien för Cubox-i stöds inte av Debian. Tillgängliga drivrutiner i mainlinekärnan inkluderar seriell konsol, ethernet, USB, MMC/SD-kort och skärmstöd över HDMI (konsol och X11). Utöver det stöds eSATA-porten på Cubox-i4Pro.
Wandboard Quad, Dual och Solo är utvecklingskort baserade på Freescale i.MX6 Quad SoC. Systemstödet är begränsat till drivrutiner och enhetsträdinformation som finns tillgänglig i Linux-kärnan; de wandboard-specifika 3.0- och 3.10-kärnserierna från wandboard.org stöds inte av Debian. mainlinekärnan inkluderar drivrutinsstöd för seriell konsol, visning via HDMI (konsol och X11), Ethernet, USB, MMC/SD, SATA (endast Quad) och analogt ljud. Stöd för de andra ljudalternativen (S/PDIF, HDMI-Audio) och för den inbyggda WLAN/Bluetooth-modulen är otestat eller inte tillgängligt i Debian 9.
Generellt tillåter ARM-multiplattformsstödet i Linux-kärnan att köra debian-installer
på armhf-system som inte uttryckligen anges ovan, så länge som kärnan som används av debian-installer
har stöd för målsystemets komponenter och en enhetsträdfil för målet är tillgänglig. I dessa fall kan installationsprogrammet vanligtvis tillhandahålla en fungerande installation, men det kanske inte automatiskt kan göra systemet startbart. Att göra det kräver i många fall enhetsspecifik information.
När du använder debian-installer
på sådana system kan du behöva göra systemet startbart manuellt i slutet av installationen, t.ex. genom att köra de nödvändiga kommandona i ett skal som startas inifrån debian-installer
.
Stöd för flera processorer — även kallad ”symmetrisk multiprocessing” eller SMP — är tillgänglig för denna arkitektur. Standard Debian 13 kärnavbildningen har kompilerats med stöd för SMP-alternativ. Detta innebär att kärnan kommer att upptäcka antalet processorer (eller processorkärnor) och automatiskt inaktivera SMP på en processorsystem.
Att ha flera processorer i en dator var ursprungligen bara ett problem för avancerade serversystem men har blivit vanligt på senare år nästan överallt med introduktionen av så kallade ”fler kärniga”-processorer. Dessa innehåller två eller flera processorenheter, kallade ”kärnor”, i ett fysiskt chip.
Debians stöd för grafiska gränssnitt bestäms av det underliggande stödet som finns i X.Orgs X11-system och kärnan. Grundläggande framebuffer-grafik tillhandahålls av kärnan, medan skrivbordsmiljöer använder X11. Huruvida avancerade grafikkortsfunktioner som 3D-hårdvaruacceleration eller hårdvaruaccelererad video är tillgängliga beror på den faktiska grafikhårdvaran som används i systemet och i vissa fall på installationen av ytterligare blobbar för ”fast programvara” (se Avsnitt 2.2, ”Enheter som kräver fast programvara”).
Nästan alla ARM-maskiner har grafikhårdvaran inbyggd, snarare än att vara på ett plug-in-kort. Vissa maskiner har expansionsplatser som tar grafikkort, men det är en sällsynthet. Hårdvara designad för att vara huvudlös utan grafik alls är ganska vanligt. Även om grundläggande framebuffer-video som tillhandahålls av kärnan bör fungera på alla enheter som har grafik, behöver snabb 3D-grafik alltid binära drivrutiner för att fungera. Situationen förändras snabbt men vid tidpunkten för trixie släppet så finns gratis drivrutiner för nouveau (Nvidia Tegra K1 SoC) och freedreno (Qualcomm Snapdragon SoCs) och är tillgängliga i detta släppet. Annan hårdvara behöver icke-fria drivrutiner från tredje part.
Detaljer om grafikhårdvaraoch pekenheter kan hittas på https://wiki.freedesktop.org/xorg/. Debian 13 skickar med X.Org version 7.7.
Nästan alla nätverkskort (NIC) som stöds av Linux-kärnan stöds även av installationssystemet; modulära drivrutiner ska vanligtvis läsas in automatiskt.
På 32-bit hard-float ARMv7 finns stöd för de flesta inbyggda Ethernet-enheter och moduler för ytterligare PCI- och USB-enheter tillhandahålls.