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 http://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 9 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    
AMD64 & Intel 64 amd64    
ARM armel Marvell Kirkwood kirkwood
Marvell Orion orion5x
Versatile versatile
ARM com FPU em hardware armhf multi-plataforma armmp
multi-plataforma para sistemas LPAE armmp-lpae
ARM 64bit arm64    
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
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 implentem 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 heterógeneos 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 prinipalmente 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 espcialmente 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 distriuiçã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. Platadormas 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 de arquitectura sun4i) A10s/A13 (nome de código da arquitectura sun5i) e A20 (nome de código de arquitectura sun7i. O suporte completo do instalador está actualmente disponível para os seguintes sistemas baseados em sunXi:

  • Cubietech Cubieboard 1 + 2 / Cubietruck

  • LeMaker Banana Pi e Banana Pro

  • LinkSprite pcDuino e pcDuino3

  • Mele A1000

  • Miniand Hackberry

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

  • PineRiver Mini X-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. A série de kernels derivada de linux-sunxi.org 3.4 de android não é suportada por Debian.

O kernel Linux oficial normalmente suporta consola série, ethernet, SATA, USB e cartões SD/MMC nos SoCs Allwinner A10, A10s/A13 e A20, mas não tem drivers nativos para o display (HDMI/VGA/LCD) e hardware áudio nestes SoCs. A memória flash de alguns sistemas baseados em sunXi não é suportada.

É tecnicamente possível utilizar um display local sem drivers de display nativos através da infraestrutura simplefb no kernel oficial, a qual depende do gestor de arranque U-Boot para inicializar o hardware do display.

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 Quad

Wanboard Quad é uma placa de desenvolvimento baseada no SoC Freescale i.MX6 Quad. O suporte de sistema é limitado a controladores e informação disponível de device-tree no kernel oficial Linux; A série de kernel 3.0 e 3.10 específicos de wandboard.org não são suportados em Debian. Os controladores no kernel oficial incluem consola série, ecrã através de HDMI (consola e X11), ethernet, USB, cartões SD/MMC e SATA. O suporte para opções de audio onboard (analógico, S/PDIF, HDMI-Audio) e para o módulo WLAN/Bluetooth não estão disponíveis em Debian 8.

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 9 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, enquando 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 video 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 stretch 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 http://xorg.freedesktop.org/. Debian 9 é 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 mairia destes dispositivos não são necessários durante a instalação do sistema.