Debian não impõe requisitos de hardware para além dos requisitos do kernel Linux ou do kernel kFreeBSD e dos conjuntos de ferramentas GNU. Por isso qualquer arquitetura 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 acerca dos sistemas com a arquitetura 32-bit hard-float ARMv7 que tenham sido testados com Debian GNU/Linux, por favor, veja as páginas dos Ports em https://iwawocd.cewmufwd.tk/ports/arm/.
Em vez de tentar descrever todas a configurações de hardware diferentes que são suportadas por 32-bit hard-float ARMv7, esta seção contém informação geral e indicações de onde se pode encontrar informação adicional.
Debian GNU/Linux 12 suporta 9 arquiteturas de maior relevo e algumas variações de cada arquitetura conhecidas por “flavors”.
Arquitetura | Designação Debian | Sub-arquitetura | Flavor |
---|---|---|---|
AMD64 & Intel 64 | amd64 | ||
Baseado em Intel x86 | i386 | máquinas x86 padrão | padrão |
apenas domínios Xen PV | xen | ||
ARM | armel | Marvell Kirkwood e Orion | marvell |
ARM com FPU em hardware | armhf | multi-plataforma | armmp |
ARM 64bit | arm64 | ||
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 | genérico |
Este documento cobre a instalação para a arquitetura 32-bit hard-float ARMv7 utilizando o Linux. Se está à procura de informação acerca de qualquer uma das outras arquiteturas suportadas por Debian veja a página dos Debian-Ports.
A arquitetura 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 arquitetura ARMv7 com a versão 3 da especificação de vetor 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 arquitetura ARMv8.
Tecnicamente, todos os atuais 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.
Os sistemas ARM são muito mais heterogéneos do que os baseados nas arquiteturas PC i386/amd64, por isso a situação de suporte pode ser muito mais complicada.
A arquitetura ARM é utilizada principalmente nos chamados designs “system-on-chip” (SoCs). Estes SoCs são desenhados por muitas empresas diferentes com vastos componentes de hardware diferentes mesmo para as funcionalidades muito básicas necessárias para arrancar o sistema. Os interfaces do firmware de sistema têm vindo a ser standardizados ao longo do tempo, mas especialmente em hardware mais antigo os interfaces de firmware/arranque variam 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/UEFI 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.
É conhecido que os seguintes sistemas funcionam com Debian/armhf utilizando o kernel multi-plataforma /armmp):
A IMX53QSB é uma placa de desenvolvimento baseada no SoC i.MX53.
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.
O kernel armmp suporta várias placas de desenvolvimento e sistemas embebidos baseados em SoCs Allwinner A10 (nome de código da arquitetura “sun4i”) A10s/A13 (nome de código da arquitetura “sun5i”), A20 (nome de código da arquitetura “sun7i”, A31/A31s (nome de código da arquitetura “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 resultar 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ã).
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 não é largamente testado nesses sistemas já que o projeto 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
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.
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).
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.
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
nesses 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
.
Suporte para múltiplos processadores — também chamado de “multi-processamento simétrico” ou SMP — está disponível para esta arquitetura. A imagem standard de kernel de Debian 12 foi compilada com suporte a SMP-alternatives. Isto significa que o kernel irá detetar o número de processadores (ou cores de processador) e irá desativar automaticamente 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.
O suporte para interfaces gráficos em Debian é determinado pelo suporte encontrado no sistema X11 de X.Org e no kernel. O kernel disponibiliza 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 adicional de blobs de “firmware” (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 levar uma placa gráfica, mas é uma raridade. É comum o hardware desenhado para ser headless sem quaisquer gráficos. 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 bookworm 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.
Podem ser encontrados detalhes acerca de hardware gráfico e dispositivos apontadores suportados em https://wiki.freedesktop.org/xorg/. Debian 12 é lançado com X.Org versão 7.7.
Quase todas as placas de rede (NIC) suportadas pelo kernel Linux também deverão ser suportadas pelo sistema de instalação; os controladores deverão 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.