2.1. 支持的硬件

Debian 不会超出 Linux 内核与 GNU 工具集所支持的硬件范围之外。因此,任何被移植了 Linux 内核、libc、gcc 等,并拥有对应的 Debian 移植版的硬件体系或平台都可以运行 Debian。请参考移植页面 http://www.debian.org/ports/arm/ 以了解更多已被 Debian GNU/Linux 测试过的 64-bit ARM 体系。

本章仅包含一些通用的信息,以及在何处可以获得更多信息的指导,而不是试图列出支持 64-bit ARM 的所有不同硬件配置。

2.1.1. 支持的体系

Debian GNU/Linux 9 支持十种主要的体系和一些称为 flavors 的衍生品种。

体系 Debian 命名 子体系 Flavor
基于 Intel x86 i386 默认的 x86 机器 default
仅 Xen PV 域 xen
AMD64 & Intel 64 amd64    
ARM armel Marvell Kirkwood marvell
带 FPU 的 ARM armhf 多平台 armmp
64 位 ARM arm64    
MIPS(大尾端) mips MIPS Malta 4kc-malta
Cavium Octeon octeon
MIPS(小尾端) mips64el MIPS Malta 5kc-malta
Cavium Octeon octeon
龙芯 3 loongson-3
MIPS(小尾端) mipsel MIPS Malta 4kc-malta
Cavium Octeon octeon
龙芯 3 loongson-3
Power 系统 ppc64el IBM POWER8 或更新的机器  
64 位 IBM S/390 s390x 来自 VM-reader 和 DASD 的 IPL generic

本文档主要讲述的是 64-bit ARM 体系下的安装。如果您在寻找其他 Debian 所支持的体系的信息,请访问 Debian-Ports 网页。

此为第一个 64-bit ARM 体系的 Debian GNU/Linux 正式发布版。我们认为它已经达到了可发布的质量要求。但是,由于它没有像其他体系那样得到足够的曝光(经过用户测试),您可能会遇到一些 bug。请使用我们的 Bug 跟踪系统 来报告问题,并注明该 bug 是在 64-bit ARM 平台上使用 Linux 内核产生的。当然,您也可以用 debian-arm 邮件列表 来进行讨论。

2.1.2. 三种不同的 ARM 移植

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 系统。

2.1.3. ARM CPU 设计的变化性和支持的复杂性

ARM 系统比基于 i386/amd64 的 PC 机更加多样,因此支持情况可能会非常复杂。

ARM 架构主要用于所谓的片上系统(SoC)设计。这些 SoC 由许多不同的公司设计,即使是对于系统工作所需的非常基本的功能,硬件组件变化也非常大。旧版本的ARM架构上,SoC从一代到下一代会有很大的差异,但ARMv8(arm64)已经更加标准化,使得Linux内核和其他软件更容易对其进行支持。

服务器版的 ARMv8 硬件通常使用统一可扩展固件接口(UEFI)和高级配置与电源接口(ACPI)标准来进行配置。这两个提供常见的、独立于设备的方式,来引导和配置计算机硬件。它们在 x86 PC 世界中也很常见。

2.1.4. Debian/arm64 支持的平台

Debian Stretch 发布周期中的晚些时候才加入了 Arm64/AArch64/ARMv8 的硬件支持,所以在此版本发布时,没有合并太多平台的支持到主线内核;这是要在其上运行 debian-installer 的基本要求。在此版本的 Debian/arm64 中,以下平台受支持。只有一个内核映像支持所有列出的平台。

Applied Micro (APM) Mustang/X-Gene

APM Mustang 是第一个支持 Linux 的 ARMv8 系统。它使用 X-gene SoC,因此也用于其他机器。它为 8 核 CPU,带以太网、USB 和串口。常见外形看起来就像台式机,但将来很可能会有其他版本。主线内核支持大多数硬件,但目前的 Stretch 内核缺少对 USB的支持。

ARM Juno 开发平台

Juno 是一款 6 核(2xA57,4xA53)ARMv8-A 800Mhz CPU 开发板,带 Mali(T624)显卡、8GB DDR3 RAM、以太网、USB、串口。它专为系统启动和电源测试而设计的,既不小也不便宜,但是是首批可用的板子之一。主线内核和 Stretch 都支持所有板载硬件。

在非 UEFI 系统上使用 debian-installer 时,您可能必须在安装结束时手动使系统启动,例如在 debian-installer 的 shell 中运行启动所必需的命令。flash-kernel 知道如何用 U-Boot 启动 X-Gene 系统。

2.1.4.1. 其他平台

对于上面没有明确列出的 arm64 系统,arm64 Linux 内核中的多平台支持也可能能使 debian-installer 运行在这些系统上。只要 debian-installer 使用的内核支持目标系统的组件,并且该目标的设备树文件可用,新的目标系统就可能正常工作。在这种情况下,安装程序通常可以提供可运行的安装结果,而如果在使用 UEFI,也应该能够使系统启动。如果不使用 UEFI,您可能还需要执行一些手动配置步骤,使系统可启动。

2.1.5. 多处理器

多处理器支持 — 又称 symmetric multiprocessing 或 SMP — 在本体系架构下可以使用。在一台计算机上安装多处理器原来只是高端的服务器才具有,但近年来随着多核处理器的出现已经应用到相对低端的桌面计算机和便携机上。这种处理器包含两个或多个称为核心的处理器单元集成在一个物理芯片上。

标准的 Debian 9 内核映像编译时已经加入 SMP 支持。它在非 SMP 系统上使用也没有问题。

2.1.6. 图形卡支持

Debian 能支持的显卡取决于底层的 X.Org's X11 的支持。流行的 PC 上,图形显示器通常工作地很好。至于高级的显卡功能,比如 3D 硬件加速或硬件视频加速是否可用,由系统所使用的具体显示硬件和所要安装的额外固件(firmware)决定(参阅第 2.2 节 “需要固件的设备”)。极个别的情况下使用基本的显示功能也需要安装额外的固件,但这是罕有的例子。

几乎所有 ARM 机器都内置了图形硬件,而不用额外插卡。有些机器有扩展插槽用于显卡,但这比较罕见。无头、无图像的硬件设计也很常见。虽然内核提供的基本帧缓冲显示在有图像的设备上应该都能工作,但快速 3D 绘图总是需要二进制驱动程序才能正常工作。情况正在迅速变化,但在发布 stretch 时,nouveau(Nvidia Tegra K1 SoC)和 freedreno(Qualcomm Snapdragon SoC)有自由的驱动程序可用。其他硬件需要第三方的非自由驱动程序。

对显卡和其他定点设备的具体支持情况,见 http://xorg.freedesktop.org/。Debian 9 包含 X.Org 7.7 版。

2.1.7. 网络连接硬件

几乎所有被 Linux 内核支持的网卡 (NIC) 都被安装系统支持;驱动程序通常会自动加载。

64-bit ARM 上,支持大多数内置的以太网设备,并提供额外的 PCI 和 USB 设备模块。

2.1.8. 外围设备与其他硬件

Linux 支持众多的硬件设备,比如:鼠标、打印机、扫描仪、PCMCIA 和 USB 设备。然而,在安装系统的时候,并不需要其中的大部分设备。