2.1. Поддерживаемое оборудование

Для Debian не требуется от оборудования сверх того, что требуют ядро Linux или kFreeBSD и утилиты GNU. Таким образом, любая архитектура или платформа, на которую были перенесены ядро Linux или kFreeBSD, libc, gcc и т.д. и на которую перенесён Debian, может работать под Debian. Сверьтесь со страницами переносов https://www.debian.org/ports/arm/, какие системы на архитектуре 32-bit hard-float ARMv7 были протестированы с Debian GNU/Linux.

Вместо того, чтобы пытаться описать всё разнообразие аппаратных конфигураций, которое существует на 32-bit hard-float ARMv7, эта глава содержит общую информацию и указания, где можно найти дополнительную информацию.

2.1.1. Поддерживаемые архитектуры

Debian GNU/Linux 11 поддерживает 9 основных архитектур и несколько вариаций каждой архитектуры, известных как «варианты (flavors)».

Архитектура Обозначение в Debian Субархитектура Вариант
AMD64 & Intel 64 amd64    
основанные на Intel x86 i386 машины x86 по умолчанию по умолчанию
только домены Xen PV xen
ARM armel Marvell Kirkwood и Orion marvell
ARM с аппаратным FPU armhf multiplatform armmp
64-битные ARM arm64    
64-битные MIPS (с обратным порядком байтов) mips64el MIPS Malta 5kc-malta
Cavium Octeon octeon
Loongson 3 loongson-3
32-битные MIPS (с обратным порядком байтов) mipsel MIPS Malta 4kc-malta
Cavium Octeon octeon
Loongson 3 loongson-3
Power Systems ppc64el машины IBM POWER8 или новее  
64-битный IBM S/390 s390x IPL с VM-reader и DASD generic

Этот документ содержит описание установки на архитектуру 32-bit hard-float ARMv7. Если вы ищете информацию по любой другой архитектуре, поддерживаемой Debian, посмотрите на странице переносов Debian.

2.1.2. Три разных переноса ARM

Архитектура ARM постоянно развивается и современные процессоры ARM предоставляют возможности, которые недоступны в старых моделях. Поэтому Debian предоставляет три переноса ARM, что даёт улучшенную поддержку широкому диапазону различных машин:

  • Debian/armel нацелен на старые 32-битные процессоры ARM без поддержки блока аппаратной плавающей запятой (FPU),

  • Debian/armhf работает только на новых 32-битных процессорах ARM, в которых реализована, как минимум, архитектура ARMv7 версии 3 из спецификации векторной плавающей запятой ARM (VFPv3). Он позволяет использовать расширенные возможности и повышенную производительность, доступные на этих моделях.

  • Debian/arm64 работает на 64-битных процессорах ARM, в которых реализована, как минимум, архитектура ARMv8.

Технически, все доступные в настоящее время процессоры ARM могут работать с любым порядком адресации памяти (прямым или обратным), но практически подавляющее большинство использует обратную адресацию. Debian/arm64, Debian/armhf и Debian/armel поддерживают только системы с обратной адресацией.

2.1.3. Разнообразие конструкций процессоров ARM и сложность поддержки

Системы ARM намного разнообразнее, чем архитектура ПК на основе i386/amd64, поэтому ситуация с поддержкой может оказаться намного сложнее.

The ARM architecture is used mainly in so-called «system-on-chip» (SoC) designs. These SoCs are designed by many different companies with vastly varying hardware components even for the very basic functionality required to bring the system up. System firmware interfaces have been increasingly standardised over time, but especially on older hardware firmware/boot interfaces vary a great deal, so on these systems the Linux kernel has to take care of many system-specific low-level issues which would be handled by the mainboard's BIOS/UEFI in the PC world.

В начале для поддержки ARM требовалось разное ядро Linux для каждой системы, а не «одно для всех» как для систем PC. Так как такое решение не подходит для большого числа разных систем, начата работа над единым ядром ARM, которое может работать на разных системах ARM. Для новых систем ARM такая поддержка реализована в мультиплатформенном ядре, но для некоторых старых систем по прежнему требуются отдельные ядра. В следствии этого, стандартный дистрибутив Debian поддерживает установку только на несколько старых систем, в дополнении к новым системам, которые поддерживаются мультиплатформенным ядром ARM (называемым «armmp») в Debian/armhf.

2.1.4. Платформы, поддерживаемые Debian/armhf

Следующие системы работают с Debian/armhf на мультиплатформенном (armmp) ядре:

Freescale MX53 Quick Start Board (MX53 LOCO Board)

Плата разработчика IMX53QSB на процессоре i.MX53.

Versatile Express

Versatile Express — серия плат разработчика производства ARM, содержит основную плату, на которую можно устанавливать дочерние платы с различными ЦП.

Встраиваемые системы и некоторые платы разработчика на основе Allwinner sunXi

Ядро armmp поддерживает несколько плат разработчика и встроенных систем на основе процессоров Allwinner A10 (имя архитектуры «sun4i»), A10s/A13 (имя архитектуры «sun5i»), A20 (имя архитектуры «sun7i»), A31/A31s (имя архитектуры «sun6i») и A23/A33 (часть семейства «sun8i»). В настоящее время полная поддержка (включая готовые образы карт SD с программой установки) программы установки доступна для следующих систем на основе sunXi:

  • Cubietech Cubieboard 1 + 2 / Cubietruck

  • LeMaker Banana Pi и Banana Pro

  • LinkSprite pcDuino и pcDuino3

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

  • Xunlong OrangePi Plus

В системах на основе Allwinner sunXi поддерживаются только устройства, для которых есть драйверы и информация в дереве устройств в основной ветви ядра Linux. Ветви ядра производителя (ядра из Allwinner SDK) и ядра версий 3.4 на основе android с linux-sunxi.org не поддерживаются Debian.

Для процессоров Allwinner A10, A10s/A13, A20, A23/A33 и A31/A31s основной ветвью ядра Linux хорошо поддерживается консоль на последовательном порту, ethernet, SATA, USB и карты MMC/SD. Уровень поддержки локального экрана (HDMI/VGA/LCD) и аудио аппаратуры зависит от системы. Для большинства ядро не поддерживает родные графические драйверы, и вместо них использует инфраструктуру «simplefb», в которой загрузчик инициализирует экран, а ядро просто использует этот инициализированный фрейм-буфер. По большей части, это работает приемлемо, хотя приводит к некоторым ограничениям (разрешение экрана нельзя изменить на лету и невозможно управлять энергосбережением экрана).

Наплатная флеш-память, предназначенная для использования как устройство хранения, на системах sunXi представлена в виде двух базовых вариантах: неразмеченная флеш NAND и флеш eMMC. В самых старых платах sunXi с набортным флеш-хранилищем используется неразмеченная флеш NAND, которая, обычно, не поддерживается основной ветвью ядра и поэтому также не работает в Debian. В нескольких новых системах вместо неразмеченной флеш NAND используется флеш eMMC. В качестве чипа флеш eMMC, в основном, устанавливается быстрая несъёмная карта SD, которая поддерживается тем же способом что и обычная карта SD.

Программа установки содержит базовую поддержку нескольких систем на основе sunXi, не указанных в списке выше, но они не были протестированы, так как проект Debian не имеет доступ к такому оборудованию. Для этих систем нет собранного образа карты SD с программой установки. Вот список плат разработчика с ограниченной поддержкой:

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

  • Sinovoip BPI-M2 (на основе A31s)

  • Xunlong Orange Pi (на основе A20) / Orange Pi Mini (на основе A20)

В дополнении к процессорам и системам, перечисленным выше, программа установке частично поддерживает процессор Allwinner H3 и некоторые модели плат с ним в составе. На момент заморозки выпуска Debian 9 активно ведётся работа над поддержкой H3 в основной ветви ядра, поэтому программа установки для систем на основе H3 поддерживает только консоль на последовательном порту, MMC/SD и контроллер узла USB. Пока Отсутствует драйвер набортного порта ethernet H3, поэтому работа с сетью возможна только через адаптер USB ethernet или USB wifi. Системы на основе H3, для которых есть частичная поддержка в программе установки:

  • 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

Плата разработчика NVIDIA Jetson TK1 на базе чипа Tegra K1 (также называемого Tegra 124). Tegra K1 содержит четырёхядерный 32-битный ARM Cortex-A15 ЦП и графическую часть Kepler (GK20A) с 192 ядрами CUDA. Также могут другие системы на основе Tegra 124.

Seagate Personal Cloud и Seagate NAS

Seagate Personal Cloud и Seagate NAS — это устройства NAS на базе платформы Marvell Armada 370. Debian поддерживает Personal Cloud (SRN21C), двухотсековый Personal Cloud (SRN22C), двухотсековый Seagate NAS (SRPD20) и четырёхотсековый Seagate NAS (SRPD40).

SolidRun Cubox-i2eX / Cubox-i4Pro

Модели Cubox-i — системы в виде маленького куба на основе семейства Freescale i.MX6. В системах на основе Cubox-i поддерживаются только устройства, для которых есть драйверы и информация в дереве устройств в основной ветви ядра Linux; ядра серии Freescale 3.0 для Cubox-i не поддерживаются Debian. Доступные драйверы из основная ветвь ядра: последовательная консоль, ethernet, USB, карта MMC/SD и дисплей HDMI (консоль и X11). Кроме этого на Cubox-i4Pro поддерживается порт eSATA.

Wandboard

Wandboard Quad, Dual и Solo — платы разработчика на основе четырёх ядерного Freescale i.MX6. В системе поддерживаются только устройства, для которых есть драйверы и информация в дереве устройств в основной ветви ядра Linux; ядра серии wandboard-specific 3.0 и 3.10 с wandboard.org не поддерживаются Debian. Доступные драйверы из основной ветви ядра: последовательная консоль, дисплей HDMI (консоль и X11), ethernet, USB, MMC/SD, SATA (только в четырёхядерных) и аналоговое аудио. Поддержка других портов аудио (S/PDIF, HDMI-Audio) и набортного модуля WLAN/Bluetooth не тестировалась или недоступна в Debian 9.

В основном, мультиплатформенная поддержка ARM в ядре Linux позволяет запускать debian-installer на системах armhf, не описанных выше, если в ядре, используемом debian-installer есть поддержка аппаратных частей и файла дерева устройств для целевой машины. В этих случаях программа установки, обычно, способна предоставить работающую установку, но не сможет автоматически сделать систему загрузочной. Для этого, во многих случаях требуется конкретная информация об устройстве.

При использовании debian-installer на таких системах, возможно, вам придётся вручную сделать систему загрузочной в конце установки, например запустив необходимые команды в оболочке, запущенной из debian-installer.

2.1.5. Платформы, больше не поддерживаемые Debian/armhf

EfikaMX

Платформа EfikaMX (Genesi Efika Smartbook и Genesi EfikaMX nettop) поддерживалась в Debian 7 отдельным ядром, но больше не поддерживается, начиная с Debian 8. Необходимый для сборки код ранее использовавшегося отдельного ядра платформы, был удалён из исходного кода ядра Linux в 2012 году, поэтому Debian не может предоставить новых сборок. Использование мультиплатформенного ядра armmp на платформе EfikaMX потребовало бы поддержку дерева устройств, но её пока нет.

2.1.6. Несколько процессоров

На этой архитектуре поддерживается нескольких процессоров — так называемая «симметричная многопроцессорная обработка (symmetric multi-processing)» или SMP. Стандартное ядро Debian 11 собрано с поддержкой SMP-alternatives. Это означает, что ядро определит число процессоров (или процессорных ядер) и автоматически выключит SMP в однопроцессорных системах.

Раньше, несколько процессоров имелось только в высокопроизводительных серверных системах, но в настоящее время так называемые «многоядерные»процессоры встраивают почти по всё. В них содержится один ЦП с двумя и более вычислительными блоками, называемыми «ядрами».

2.1.7. Поддержка видеокарт

Поддержка графического интерфейса в Debian полностью зависит от поддержки этого интерфейса системой X.Org X11 и ядром. Базовые графические возможности через фреймбуфер предоставляются ядром, а для окружений рабочего стола используется X11. Поддержка аппаратного ускорения 3D-графики или проигрывания видео зависит от самой карты, установленной в системе, и, иногда, требует установки дополнительных образов «микропрограмм» (смотрите Раздел 2.2, «Устройства, которым требуются микропрограммы»).

Почти все машины ARM содержат встроенную графику, не в виде отдельной графической карты. У некоторых машин есть слоты расширения, в которые можно вставить карту, то это редко. Также распространены машины вообще без графики. Базовые графические возможности через фреймбуфер, предоставляемые ядром, должны работать на всех устройствах с графикой, для работы 3D ускорения всем без исключения требуются двоичные драйверы. Ситуация быстро меняется, но в выпуск bullseye включены свободные драйверы nouveau (процессор Nvidia Tegra K1) и freedreno (процессоры Qualcomm Snapdragon). Другим чипам требуются несвободные драйверы производителя.

Список поддерживаемых графического оборудовния и устройств ввода можно найти на https://wiki.freedesktop.org/xorg/. Debian 11 поставляется с X.Org версии 7.7.

2.1.8. Аппаратура для подключения к сети

Почти любая сетевая плата (NIC), поддерживаемая ядром Linux, должна поддерживаться системой установки; драйверы модулей должны загрузиться автоматически.

На 32-bit hard-float ARMv7 поддерживается большинство встроенных устройств Ethernet и предоставляются модули для дополнительных устройств PCI и USB.

2.1.9. Периферия и другое оборудование

Linux поддерживает много разных устройств, таких как мыши, принтеры, сканеры, PCMCIA/CardBus/ExpressCard и USB устройства. Однако, большинство этих устройств не требуется для установки системы.