Debian 不会超出 Linux 内核与 GNU 工具集所支持的硬件范围之外。因此,任何被移植了 Linux 内核、libc、gcc 等,并拥有对应的 Debian 移植版的硬件体系或平台都可以运行 Debian。请参考移植页面 http://www.debian.org/ports/arm/ 以了解更多已被 Debian GNU/Linux 测试过的 64-bit ARM 体系。
本章仅包含一些通用的信息,以及在何处可以获得更多信息的指导,而不是试图列出支持 64-bit ARM 的所有不同硬件配置。
Debian GNU/Linux 9 supports ten major architectures and several variations of each architecture known as “flavors”.
体系 | Debian 命名 | 子体系 | Flavor |
---|---|---|---|
Intel x86-based | i386 | ||
AMD64 & Intel 64 | amd64 | ||
ARM | armel | Marvell Kirkwood and Orion | marvell |
Versatile | versatile | ||
带 FPU 的 ARM | armhf | multiplatform | armmp |
multiplatform for LPAE-capable systems | armmp-lpae | ||
64bit ARM | arm64 | ||
MIPS (big endian) | mips | MIPS Malta (32 bit) | 4kc-malta |
MIPS Malta (64 bit) | 5kc-malta | ||
Cavium Octeon | octeon | ||
MIPS (little endian) | mipsel | MIPS Malta (32 bit) | 4kc-malta |
MIPS Malta (64 bit) | 5kc-malta | ||
Cavium Octeon | octeon | ||
Loongson 3A | loongson-3 | ||
IBM/Motorola PowerPC | powerpc | ||
Power Systems | ppc64el | IBM POWER8 or newer machines | |
64bit 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 邮件列表 来进行讨论。
The ARM architecture has evolved over time and modern ARM processors provide features which are not available in older models. Debian therefore provides three ARM ports to give the best support for a very wide range of different machines:
Debian/armel targets older 32-bit ARM processors without support for a hardware floating point unit (FPU),
Debian/armhf works only on newer 32-bit ARM processors which implement at least the ARMv7 architecture with version 3 of the ARM vector floating point specification (VFPv3). It makes use of the extended features and performance enhancements available on these models.
Debian/arm64 works on 64-bit ARM processors which implement at least the ARMv8 architecture.
Technically, all currently available ARM CPUs can be run in either endian mode (big or little), but in practice the vast majority use little-endian mode. All of Debian/arm64, Debian/armhf and Debian/armel support only little-endian systems.
ARM systems are much more heterogeneous than those based on the i386/amd64-based PC architecture, so the support situation can be much more complicated.
The ARM architecture is used mainly in so-called “system-on-chip” (SoC) designs. These SoCs are designed by many different companies, often with vastly varying hardware components even for the very basic functionality required to bring the system up. Older versions of the ARM architecture have seen massive differences from one SoC to the next, but ARMv8 (arm64) is much more standardised and so is easier for the Linux kernel and other software to support.
Server versions of ARMv8 hardware are typically configured using the Unified Extensible Firmware Interface (UEFI) and Advanced Configuration and Power Interface (ACPI) standards. These two provide common, device-independent ways to boot and configure computer hardware. They are also common in the x86 PC world.
Arm64/AArch64/ARMv8 hardware became available quite late in the Debian Stretch release cycle so not many platforms had support merged in the mainline kernel version by the time of this release; this is the main requirement to have debian-installer
working on them. The following platforms are known to be supported by Debian/arm64 in this release. There is only one kernel image, which supports all the listed platforms.
The APM Mustang was the first Linux-capable ARMv8 system available. It uses the X-gene SoC, which has since also been used in other machines. It is an 8-core CPU, with ethernet, USB and serial. A common form-factor looks just like a desktop PC box, but many other versions are expected in the future. Most of the hardware is supported in the mainline kernel, but at this point USB support is lacking in the Stretch kernel.
Juno is a capable development board with a 6-core (2xA57, 4xA53) ARMv8-A 800Mhz CPU, Mali (T624) graphics, 8GB DDR3 RAM, Ethernet, USB, Serial. It was designed for system bring-up and power testing so is neither small nor cheap, but was one of the first boards available. All the on-board hardware is supported in the mainline kernel and in Stretch.
When using debian-installer
on non-UEFI systems, you may have to manually make the system bootable at the end of the installation, e.g. by running the required commands in a shell started from within debian-installer
. flash-kernel knows how to set up an X-Gene system booting with U-Boot.
The multiplatform support in the arm64 Linux kernel may also allow running debian-installer
on arm64 systems not explicitly listed above. So long as the kernel used by debian-installer
has support for the target system's components, and a device-tree file for that target is available, a new target system may work just fine. In these cases, the installer can usually provide a working installation, and so long as UEFI is in use, it should be able to make the system bootable as well. If UEFI is not used you may also need to perform some manual configuration steps to make the system bootable.
Multiprocessor support — also called “symmetric multiprocessing” or SMP — is available for this architecture. Having multiple processors in a computer was originally only an issue for high-end server systems but has become common in recent years nearly everywhere with the introduction of so called “multi-core” processors. These contain two or more processor units, called “cores”, in one physical chip.
标准的 Debian 9 内核映像编译时已经加入 SMP 支持。它在非 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” images (see 第 2.2 节 “需要固件的设备”).
Nearly all ARM machines have the graphics hardware built-in, rather than being on a plug-in card. Some machines do have expansion slots which will take graphics cards, but that is a rarity. Hardware designed to be headless with no graphics at all is quite common. Whilst basic framebuffer video provided by the kernel should work on all devices that have graphics, fast 3D graphics invariably needs binary drivers to work. The situation is changing quickly but at the time of the stretch release free drivers for nouveau (Nvidia Tegra K1 SoC) and freedreno (Qualcomm Snapdragon SoCs) are available in the release. Other hardware needs non-free drivers from 3rd parties.
Details on supported graphics hardware and pointing devices can be found at http://xorg.freedesktop.org/. Debian 9 ships with X.Org version 7.7.
几乎所有被 Linux 内核支持的网卡 (NIC) 都被安装系统支持;驱动程序通常会自动加载。
64-bit ARM 上,支持大多数内置的以太网设备,并提供额外的 PCI 和 USB 设备模块。