Для 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, эта глава содержит общую информацию и указания, где можно найти дополнительную информацию.
Debian GNU/Linux 12 поддерживает 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.
Архитектура 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 поддерживают только системы с обратной адресацией.
Системы 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.
Следующие системы работают с Debian/armhf на мультиплатформенном (armmp) ядре:
Плата разработчика IMX53QSB на процессоре i.MX53.
Versatile Express — серия плат разработчика производства ARM, содержит основную плату, на которую можно устанавливать дочерние платы с различными ЦП.
Ядро 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 на базе чипа Tegra K1 (также называемого Tegra 124). Tegra K1 содержит четырёхядерный 32-битный ARM Cortex-A15 ЦП и графическую часть Kepler (GK20A) с 192 ядрами CUDA. Также могут другие системы на основе Tegra 124.
Seagate Personal Cloud и Seagate NAS — это устройства NAS на базе платформы Marvell Armada 370. Debian поддерживает Personal Cloud (SRN21C), двухотсековый Personal Cloud (SRN22C), двухотсековый Seagate NAS (SRPD20) и четырёхотсековый Seagate NAS (SRPD40).
Модели Cubox-i — системы в виде маленького куба на основе семейства Freescale i.MX6. В системах на основе Cubox-i поддерживаются только устройства, для которых есть драйверы и информация в дереве устройств в основной ветви ядра Linux; ядра серии Freescale 3.0 для Cubox-i не поддерживаются Debian. Доступные драйверы из основная ветвь ядра: последовательная консоль, ethernet, USB, карта MMC/SD и дисплей HDMI (консоль и X11). Кроме этого на Cubox-i4Pro поддерживается порт eSATA.
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
.
На этой архитектуре поддерживается нескольких процессоров — так называемая «симметричная многопроцессорная обработка (symmetric multi-processing)» или SMP. Стандартное ядро Debian 12 собрано с поддержкой SMP-alternatives. Это означает, что ядро определит число процессоров (или процессорных ядер) и автоматически выключит SMP в однопроцессорных системах.
Раньше, несколько процессоров имелось только в высокопроизводительных серверных системах, но в настоящее время так называемые «многоядерные»процессоры встраивают почти по всё. В них содержится один ЦП с двумя и более вычислительными блоками, называемыми «ядрами».
Debian's support for graphical interfaces is determined by the underlying support found in X.Org's X11 system, and the kernel. Basic framebuffer graphics is provided by the kernel, whilst desktop environments use X11. Whether advanced graphics card features such as 3D-hardware acceleration or hardware-accelerated video are available, depends on the actual graphics hardware used in the system and in some cases on the installation of additional «firmware» blobs (see Раздел 2.2, «Устройства, которым требуются микропрограммы»).
Почти все машины ARM содержат встроенную графику, не в виде отдельной графической карты. У некоторых машин есть слоты расширения, в которые можно вставить карту, то это редко. Также распространены машины вообще без графики. Базовые графические возможности через фреймбуфер, предоставляемые ядром, должны работать на всех устройствах с графикой, для работы 3D ускорения всем без исключения требуются двоичные драйверы. Ситуация быстро меняется, но в выпуск bookworm включены свободные драйверы nouveau (процессор Nvidia Tegra K1) и freedreno (процессоры Qualcomm Snapdragon). Другим чипам требуются несвободные драйверы производителя.
Список поддерживаемых графического оборудовния и устройств ввода можно найти на https://wiki.freedesktop.org/xorg/. Debian 12 поставляется с X.Org версии 7.7.
Почти любая сетевая плата (NIC), поддерживаемая ядром Linux, должна поддерживаться системой установки; драйверы модулей должны загрузиться автоматически.
На 32-bit hard-float ARMv7 поддерживается большинство встроенных устройств Ethernet и предоставляются модули для дополнительных устройств PCI и USB.