2.1. Hardware Suportado

Debian não impõe requisitos de hardware para além do que é requerido pelo kernel Linux ou pelo kernel kFreeBSD e pelas ferramentas GNU. Por isso qualquer arquitectura ou plataforma para a qual tenha sido portado o kernel Linux ou kFreeBSD, libc, gcc, etc. e para a qual exista um port de Debian, poderá correr Debian. Para mais detalhes sobre sistemas com a arquitectura 32-bit hard-float ARMv7 que tenham sido testados com Debian GNU/Linux, por favor, veja as páginas dos Ports em https://www.debian.org/ports/arm/.

Em vez de tentar descrever todas a configurações de hardware que são suportadas por 32-bit hard-float ARMv7 , esta secção contém informação geral e indicações de onde se pode encontrar informação adicional.

2.1.1. Arquitecturas Suportadas

Debian GNU/Linux 10 suporta dez arquitecturas de maior relevo e várias variações de cada arquitectura conhecidas por flavors.

Arquitectura Designação Debian Sub-arquitectura Flavor
Baseado em Intel x86 i386 máquinas x86 por defeito por defeito
apenas domínios Xen PV xen
AMD64 & Intel 64 amd64    
ARM armel Marvell Kirkwood e Orion marvell
ARM com FPU em hardware armhf multi-plataforma armmp
ARM 64bit arm64    
MIPS 32bit (big endian) mips MIPS Malta 4kc-malta
Cavium Octeon octeon
MIPS 64bit (little endian) mips64el MIPS Malta 5kc-malta
Cavium Octeon octeon
Loongson 3 loongson-3
MIPS 32bit (little endian) mipsel MIPS Malta 4kc-malta
Cavium Octeon octeon
Loongson 3 loongson-3
Power Systems ppc64el IBM POWER8 ou máquinas mais recentes  
IBM S/390 de 64bit s390x IPL a partir de VM-reader e DASD generic

Este documento cobre a instalação para a arquitectura 32-bit hard-float ARMv7 utilizando o Linux. Se está à procura de informação acerca de qualquer uma das outras arquitecturas suportadas por Debian veja a página dos Debian-Ports.

2.1.2. Três ports ARM diferentes

A arquitectura ARM evoluiu ao longo do tempo e os processadores ARM modernos têm funcionalidades que não estão disponíveis nos modelos mais antigos. Por isso Debian disponibiliza três ports ARM para dar o melhor suporte a uma larga gama de máquinas diferentes:

  • Debian/armel dirige-se a processadores ARM de 32-bit mais antigos, sem suporte para hardware de unidade de vírgula flutuante (FPU).

  • Debian/armhf funciona apenas em processadores ARM de 32-bit que implementem pelo menos a arquitectura ARMv7 com a versão 3 da especificação de vector de vírgula flutuante ARM (VFPv3). Faz uso de funcionalidades estendidas e melhorias de performance disponíveis nesses modelos.

  • Debian/arm64 funciona em processadores ARM de 64-bit que implementem pelo menos a arquitectura ARMv8.

Tecnicamente, todos os actuais CPUs ARM disponíveis podem correr em qualquer modo endian (big ou little), mas na prática a vasta maioria utiliza o modo little-endian. Debian/armhf, Debian/armhf e Debian/armel suportam apenas sistemas little-endian.

2.1.3. Variações em designs de CPUs ARM e a complexidade de suporte

Os sistemas ARM são muito mais heterogéneos do que os baseados nas arquitecturas PC i386/amd64, por isso a situação de suporte pode ser muito mais complicada.

A arquitectura ARM é utilizada principalmente nos chamados designs systems-on-chip (SoCs). Estes SoCs são desenhados por muitas empresas diferentes com vastos componentes de hardware diferentes mesmo para as funcionalidades básicas necessárias para arrancar o sistema. Os interfaces de firmware de sistema têm vindo a ser standardizados ao longo do tempo, mas especialmente em hardware mais antigo os interfaces de firmware/arranque podem variar muito, por isso, nesses sistemas, o kernel Linux tem de tomar conta de muitos tópicos de baixo nível específicos do sistema que são lidados pela BIOS da motherboard no mundo PC.

No inicio do suporte ARM no kernel Linux, a variedade de hardware resultou na necessidade de ter um kernel separado para cada sistema ARM em contraste com o kernel one-fits-all para os sistemas PC. Como esta abordagem não escala para um número grande de sistemas diferentes, foi feito trabalho para permitir arrancar um único kernel ARM que possa correr em sistemas ARM diferentes. O suporte para sistemas ARM mais recentes está agora implementado de forma a utilizar um kernel multi-plataforma, mas para vários sistemas mais antigos ainda é necessário um kernel específico em separado. Por causa disto, a distribuição Debian standard apenas suporta a instalação num determinado número de sistemas ARM mais antigos, ao lado de sistemas mais recentes os quais são suportados pelos kernels ARM multi-plataforma (chamado armmp) em Debian/armhf.

2.1.4. Plataformas suportadas por Debian/armhf

É conhecido que os seguintes sistemas funcionam com Debian/armhf utilizando o kernel multi-plataforma /armmp):

Placa Freescale MX53 Quick Start (MX53 LOCO Board)

A IMX53QSB é uma placa de desenvolvimento baseada no SoC i.MX53.

versatile Express

A Versatile Express é uma série de placas de desenvolvimento de ARM que consiste numa placa base que pode ser equipada com várias placas-filhas de CPU.

Algumas placas de desenvolvimento Allwinner baseadas em sunXi e sistemas embebidos

O kernel armmp suporta várias placas de desenvolvimento e sistemas embebidos baseados em SoCs Allwinner A10 (nome de código da arquitectura sun4i) A10s/A13 (nome de código da arquitectura sun5i), A20 (nome de código da arquitectura sun7i, A31/A31s (nome de código da arquitectura sun6i) e A23/A31s (parte da família sun8i. O suporte completo do instalador (incluindo provisionamento de imagens para cartão SD prontas a utilizar com o instalador) está atualmente disponível para os seguintes sistemas baseados em sunXi:

  • Cubietech Cubieboard 1 + 2 / Cubietruck

  • LeMaker Banana Pi e Banana Pro

  • LinkSprite pcDuino e pcDuino3

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

  • Xunlong OrangePi Plus

O suporte de sistemas para dispositivos Allwinner baseados em sunXi é limitado a controladores e informação de device-tree disponíveis no kernel Linux oficial. Os Kernel específicos por fabricantes (tal como os kernel Allwinner SDK) e o kernel android derivado da série linux-sunxi.org 3.4 não são suportados por Debian.

Em SoCs Allwinner A10, A10s/A13m A20m A23/33 e A31/A31s, O kernel Linux oficial geralmente suporta consola série, ethernet, SATA, USB e cartões SD/MMC. O nível de suporte para ecrãs locais (HDMI/VGA/LCD) e hardware áudio varia entre sistemas individuais. Para a maioria dos sistemas, o kernel não tem controladores gráficos nativos mas em vez disso utiliza a infraestrutura simplefb na qual o gestor de arranque inicializa o ecrã e o kernel reutiliza o framebuffer pré-inicializado. Isto geralmente funciona razoavelmente bem, apesar de que resulta nalgumas limitações (a resolução do ecrã não pode ser mudada de imediato e não é possível a gestão de energia do ecrã não é possível).

Existe memória flash na placa para ser utilizada como dispositivo de armazenamento geralmente em duas variantes básicas em sistemas baseados em sunXi: raw NAND flash e eMMC flash. A maioria das placas mais antigas com armazenamento flash na placa utiliza flash raw NAND para a qual o suporte geralmente não está disponível no kernel oficial e por isso também não está disponível em Debian. Um número de sistemas mais recentes utilizam flash eMMC em vez da flash raw NAND. Um chip de flash eMMC basicamente aparece como um rápido cartão SD não amovível e é suportado da mesma forma que um normal cartão SD.

O instalador inclui suporte básico para um número de sistemas baseados em sunXi não listados acima, mas é largamente não testado nesses sistemas já que o projecto Debian não tem acesso ao hardware correspondente. Não são fornecidas imagens de cartão SD pré-construídas para esses sistemas. As placas de desenvolvimento com tal suporte limitado incluem:

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

  • Sinovoip BPI-M2 (A31s-based)

  • Xunlong Orange Pi (A20-based) / Orange Pi Mini (A20-based)

Além dos SoCs e dos sistemas listados acima, o instalador tem um suporte muito limitado para o Allwinner H3 SoC e um número de placas baseadas nele. O suporte do kernel oficial para o H3 ainda está largamente em progressão no momento do congelamento para o lançamento de Debian 9, por isso o instalador apenas suporta consola série, MMC/SD e o controlador anfitrião de USB em sistemas baseados no H3. Não existe ainda controlador para a porta ethernet na placa, por isso a rede apenas é possível através de um adaptador USB de ethernet ou com um dongle wifi USB. Os sistemas baseados no H3 para os quais existe suporte muito básico do instalador incluem:

  • 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

A NVIDIA Jetson TK1 é uma placa de desenvolvimento baseada no chip Tegra K1 (também conhecido como Tegra 124). O Tegra K1 tem um CPU 32-bit quad-core ARM Cortex-A15 e GPU Kepler (GK20A) com 192 cores CUDA. Outros sistemas baseados no Tegra 124 poderão também funcionar.

Seagate Personal Cloud e Seagate NAS

O Seagate Personal Cloud e Seagate NAS são dispositivos NAS baseados na plataforma Armada 370 da Marvell. Debian suporta o Personal Cloud (SRN21C), e Personal Cloud 2-Bay (SRN22C), Seagate NAS 2-Bay (SRPD20) e Seagate NAS 4-Bay (SRPD40).

SolidRun Cubox-i2eX / Cubox-i4Pro

A série Cubox-i é um conjunto de pequenos sistemas em forma de cubo baseados na família SoC Freescale i.MX6. O suporte de sistema para a série Cubox-i é limitada a controladores e informação disponível de device-tree no kernel oficial Linux; A série de kernel Freescale 3.0 para o Cubox-i não é suportada em Debian. Os controladores disponíveis no kernel oficial incluem consola série, ethernet, USB, cartões SD/MMC e suporte de display através de HDMI (consola e X11). Além disso, é suportada a ligação eSATA no Cubox-i4Pro.

Wandboard

Wanboard Quad, Dual e Solo são placas de desenvolvimento baseadas no SoC Freescale i.MX6 Quad. O suporte de sistema é limitado a controladores e informação de device-tree disponível no kernel oficial Linux; As séries de kernel 3.0 e 3.10 específicos em wandboard.org não são suportadas em Debian. Os controladores no kernel oficial incluem suporte para consola série, ecrã através de HDMI (consola e X11), ethernet, USB, SD/MMC, SATA (apenas no Quad) e áudio analógico. O suporte para outras opções de áudio (S/PDIF, HDMI-Audio) para o módulo WLAN/Bluetooth não estão testadas e não estão disponíveis em Debian 9.

Normalmente, o suporte multiplataforma ARM no kernel Linux permite correr o debian-installer em sistemas armhf não listados explicitamente acima, desde que o kernel utilizado pelo debian-installer tenha suporte para os componentes do sistema alvo e que esteja disponível o ficheiro device-tree para o alvo. Nesses casos, o instalador geralmente pode disponibilizar um instalação funcional de utilizador, mas provavelmente não conseguirá automaticamente tornar o sistema iniciável. Fazer isso em muitos casos necessita de informação específica do dispositivo.

Ao utilizar o debian-installer em tais sistemas, tem de manualmente fazer com que o sistema arranque no final da instalação, e.g. correr os comandos necessários numa shell iniciada a partir do debian-installer.

2.1.5. Plataformas já não suportadas por Debian/armhf

EfikaMX

A plataforma EfikaMX (nettops Genesi Efika Smartbook e Genesi EfikaMX) foi suportada em Debian 7 com um kernel específico pra a plataforma, no entanto não será mais suportado a partir de Debian 8. O código necessário para compilar o antigo kernel específico da plataforma foi removido do código fonte do kernel Linux original em 2012, por isso Debian não pode disponibilizar compilações mais recentes. Utilizar o kernel multi-plataforma armmp na plataforma EfikaMX irá necessitar de suporte de device-tree, a qual não está actualmente disponível.

2.1.6. Múltiplos Processadores

Suporte para múltiplos processadores — também chamado de multi-processamento simétrico ou SMP — está disponível para esta arquitectura. A imagem standard de kernel de Debian 10 foi compilada com suporte a SMP-alternatives. Isto significa que o kernel irá detectar o número de processadores (ou cores de processador) e irá automaticamente desactivar SMP em sistemas com um único processador.

Ter vários processadores num computador era originalmente um tópico para sistemas servidor topo de gama mas com a introdução dos chamados processadores multi-core tornou-se bastante comum nos últimos anos. Estes contêm dois ou mais unidades de processamento, chamadas cores, num único chip.

2.1.7. Suporte de Hardware Gráfico

O suporte para interfaces gráficos de Debian é determinado pelo suporte encontrado no sistema X11 do X.Org e do kernel. São disponibilizados pelo kernel gráficos básicos de framebuffer, enquanto que os ambientes gráficos utilizam o X11. A disponibilidade das funcionalidades avançadas da placa gráfica tal como aceleração 3D por hardware ou vídeo acelerado por hardware, depende do próprio hardware gráfico utilizado no sistema e em alguns casos da instalação de firmware adicional (veja Secção 2.2, “Dispositivos que Necessitam de Firmware”).

Quase todas as máquinas ARM têm hardware gráfico embutido, em vez de uma placa de encaixar. Algumas máquinas têm slots de expansão que podem tomar uma placa gráfica, mas é uma raridade. O hardware desenhado para ser headless sem quaisquer gráficos é comum. Enquanto que o vídeo de framebuffer básico disponibilizado pelo kernel deve funcionar em todos os dispositivos que tenham gráficos, os gráficos 3D invariavelmente necessitam de drivers binários para funcionar. Esta situação está a mudar rapidamente mas na altura do lançamento buster estão disponíveis neste lançamento drivers livres noveau (Nvidia Tegra K1 SoC) e freedreno (Qualcomm Snapdragon SoCs). Outro hardware necessita de drivers não livres de terceiros.

Detalhes de hardware gráfico e dispositivos apontadores suportados podem ser encontrados em https://wiki.freedesktop.org/xorg/. Debian 10 é lançado com X.Org versão 7.7.

2.1.8. Hardware Para Ligação em Rede

Quase todas as placas de rede (NIC) suportadas pelo kernel Linux devem também ser suportadas pelo sistema de instalação; os controladores devem ser carregados automaticamente.

Em 32-bit hard-float ARMv7 é suportada a maioria dos dispositivos Ethernet embutidos e são disponibilizados módulos para dispositivos adicionais PCI e USB.

2.1.9. Periféricos e Outro Hardware

Linux suporta uma grande variedade de dispositivos de hardware tais como ratos, impressoras, scanners, dispositivos PCMCIA/CardBus/ExpressCard e USB. No entanto a maioria destes dispositivos não são necessários durante a instalação do sistema.