Debian 不会超出 Linux 内核与 GNU 工具集所支持的硬件范围之外。因此,任何被移植了 Linux 内核、libc、gcc 等,并拥有对应的 Debian 移植版的硬件体系或平台都可以运行 Debian。请参考移植页面 https://www.debian.org/ports/arm/ 以了解更多已被 Debian GNU/Linux 测试过的 32-bit soft-float ARM 体系。
本章仅包含一些通用的信息,以及在何处可以获得更多信息的指导,而不是试图列出支持 32-bit soft-float ARM 的所有不同硬件配置。
Debian GNU/Linux 12 支持 9 种主要架构,和一些称为 “flavors” 的衍生品种。
体系 | Debian 命名 | 子体系 | Flavor |
---|---|---|---|
AMD64 & Intel 64 | amd64 | ||
基于 Intel x86 | i386 | 默认的 x86 机器 | default |
仅 Xen PV 域 | xen | ||
ARM | armel | Marvell Kirkwood | marvell |
带 FPU 的 ARM | armhf | 多平台 | armmp |
64 位 ARM | arm64 | ||
MIPS(小尾端) | mips64el | MIPS Malta | 5kc-malta |
Cavium Octeon | octeon | ||
Loongson 3 | loongson-3 | ||
MIPS(小尾端) | mipsel | MIPS Malta | 4kc-malta |
Cavium Octeon | octeon | ||
Loongson 3 | loongson-3 | ||
Power 系统 | ppc64el | IBM POWER8 或更新的机器 | |
64 位 IBM S/390 | s390x | 来自 VM-reader 和 DASD 的 IPL | generic |
本文档主要讲述的是 32-bit soft-float ARM 体系下的安装。如果您在寻找其他 Debian 所支持的体系的信息,请访问 Debian-Ports 网页。
ARM 架构随着时间的推移而发展,现代 ARM 处理器提供了旧型号上不可用的功能。因此,Debian 提供了三种 ARM 移植,可以为各种不同的机器提供最佳支持:
Debian/armel 针对旧的 32 位 ARM 处理器,而不支持硬件浮点单元(FPU),
Debian/armhf 仅适用于较新的 32 位 ARM 处理器,其至少实现了 ARMv7 架构,且支持 ARM 矢量浮点规范(VFPv3)第 3 版。此移植可利用这些型号上可用的扩展和性能增强功能。
Debian/arm64 适用于 64 位 ARM 处理器,其至少实现了 ARMv8 架构。
大多数的 ARM CPU 可以运行在(大尾或小尾)任一尾端模式下。但是当前绝大多少系统的实现都是使用小尾端模式。Debian 现在也仅支持小尾端 ARM 系统。
ARM 系统比基于 i386/amd64 的 PC 机更加多样,因此支持情况可能会非常复杂。
ARM 架构主要用于所谓的“片上系统”(SoC)设计。这些 SoC 由许多不同的公司设计,即使是对于系统工作所需的非常基本的功能,硬件组件变化也非常大。随着时间的推移,系统固件界面越来越标准化,但很多方面也发生了变化,尤其是对较旧的硬件固件/启动接口而言,所以在这些系统上,Linux 内核必须关注许多系统特定的低级问题,而在 PC 上这些问题则是由主板的 BIOS/UEFI 负责解决。
在 Linux 内核开始支持 ARM 时,硬件种类的不同导致了要为每个 ARM 系统分别移植内核,而不是像在 PC 系统上“到处适用”的内核。由于此方法不能扩展到大量不同的系统,因此工作方向为使单个 ARM 内核可在不同的ARM系统上进行引导。现在,对较新 ARM 系统的支持都是以这种多平台内核的方式实现的,但对于一些旧系统,仍然需要单独的定制内核。正因如此,标准 Debian 发行版对这种较旧 ARM 系统,仅支持在特定种类上安装,而新系统则由 Debian/armhf 中的 ARM 多平台内核(称为 “armmp”)提供支持。
以下平台由 Debian/armel 支持;它们需要特定于平台的内核。
Kirkwood 是 Marvell 的片上系统芯片(SoC),它将 ARM CPU、以太网、SATA、USB 和其他功能集成到一个芯片中。Debian 目前支持以下基于 Kirkwood 的设备:
Plug 计算机(SheevaPlug、GuruPlug、DreamPlug 和 Seagate FreeAgent DockStar)
LaCie NASes(Network Space v2、Network Space Max v2、nternet Space v2、d2 Network v2、2Big Network v2 和 5Big Network v2)
OpenRD(OpenRD-Base、OpenRD-Client 和 OpenRD-Ultimate)
Orion 是 Marvell 的 SoC 产品,集成了 ARM CPU、Ethernet、SATA、USB,以及其他一些功能。市场上有很多 NAS 设备基于 Orion 芯片。Debian 目前支持以下几种基于 Orion 的设备:Buffalo Kurobox 。
Versatile 平台由 QEMU 模拟,如果您没有硬件设备,用它来测试运行在 ARM 上的 Debian 是一个不错的方法。
Debian 11 不再支持任何 QNAP Turbo Station 型号(TS-xxx),因为受硬件限制,已经无法构建其使用的 Linux 内核。
Debian 11 不再支持 HP Media Vault mv2120,因为受硬件限制,已经无法构建其使用的 Linux 内核。
Debian 能支持的显卡取决于底层的 X.Org 的 X11 系统以及内核的支持。基本的 framebuffer 由内核提供,而桌面环境使用 X11。至于高级的显卡功能,比如 3D 硬件加速或硬件视频加速是否可用,由系统所使用的具体显示硬件和所要安装的额外“固件(firmware)”决定(参阅第 2.2 节 “需要固件的设备”)。
几乎所有 ARM 机器都内置了图形硬件,而不用额外插卡。有些机器有扩展插槽用于显卡,但这比较罕见。无头、无图像的硬件设计也很常见。虽然内核提供的基本帧缓冲显示在有图像的设备上应该都能工作,但快速 3D 绘图总是需要二进制驱动程序才能正常工作。情况正在迅速变化,但在发布 bookworm 时,nouveau(Nvidia Tegra K1 SoC)和 freedreno(Qualcomm Snapdragon SoC)有自由的驱动程序可用。其他硬件需要第三方的非自由驱动程序。
对显卡和其他定点设备的具体支持情况,见 https://wiki.freedesktop.org/xorg/。Debian 12 包含 X.Org 7.7 版。
几乎所有被 Linux 内核支持的网卡 (NIC) 都被安装系统支持;驱动程序通常会自动加载。
32-bit soft-float ARM 上,支持大多数内置的以太网设备,并提供额外的 PCI 和 USB 设备模块。