2.1. サポートするハードウェア

Debian は、Linux・kFreeBSD カーネルや GNU ツールセットが必要とする以上のハードウェアを要求しません。それゆえ、Linux・kFreeBSD カーネル、libc、gcc などが移植されていて、Debian の移植版が存在すれば、どんなアーキテクチャや プラットフォームでも Debian を動作させることができます。すでに Debian GNU/Linux でテストされている 32-bit soft-float ARM アーキテクチャシステムの詳細は、 http://www.debian.org/ports/arm/ にある移植版のページを参照してください。

この節では、 32-bit soft-float ARM でサポートされるハードウェアの様々な設定のすべてに触れることは避け、一般的な情報とさらなる情報が見つけられる場所へのポインタを紹介します。

2.1.1. サポートするアーキテクチャ

Debian GNU/Linux 9 は 10 の主要なアーキテクチャと、フレーバーと呼ばれる各アーキテクチャのバリエーションをサポートしています。

アーキテクチャ Debian での名称 サブアーキテクチャ フレーバー
Intel x86 ベース i386 デフォルトの x86 マシン デフォルト
Xen PV ドメインのみ xen
AMD64 & Intel 64 amd64    
ARM armel Marvell Kirkwood 及び Orion marvell
ハードウェア FPU がある ARM armhf 複数プラットフォーム対応 armmp
64bit ARM arm64    
32bit MIPS (ビッグエンディアン) mips MIPS Malta 4kc-malta
Cavium Octeon octeon
64bit MIPS (リトルエンディアン) mips64el MIPS Malta 5kc-malta
Cavium Octeon octeon
Loongson 3 loongson-3
32bit MIPS (リトルエンディアン) mipsel MIPS Malta 4kc-malta
Cavium Octeon octeon
Loongson 3 loongson-3
Power Systems ppc64el IBM POWER8 以降のマシン  
64bit IBM S/390 s390x VM-reader や DASD からの IPL generic

この文書は Linux カーネルを用いた 32-bit soft-float ARM アーキテクチャへのインストールを扱います。Debian がサポートしている他のアーキテクチャに関する情報を探しているなら、Debian 移植版 のページをご覧ください。

2.1.2. 3つの異なるARM移植版

ARMアーキテクチャは時間とともに進化し、今のARMプロセッサでは旧型では利用できなかった機能を提供しています。Debian ではそのため、幅広い種類のマシンを可能な限りサポートできるように3つのARM移植版を提供しています:

  • Debian/armel はハードウェア浮動小数点演算ユニット (FPU) をサポートしない、古い32ビットのARMプロセッサを対象としています。

  • Debian/armhf は最低でも ARMv7 アーキテクチャにARMベクトル浮動小数点演算仕様のバージョン3 (VFPv3) を実装した新しい32ビットのARMプロセッサでのみ動作します。Debian/armhf ではそういったモデルで拡張された機能や性能拡張を利用するようになっています。

  • Debian/arm64 は ARMv8 以降のアーキテクチャを実装する64ビットのARMプロセッサで動作します。

現在利用できる CPU は全て、技術的に (ビッグ、リトルの) どちらのエンディアンモードでも動作します。しかし、大多数のシステム実装では、リトルエンディアンモードを使用します。Debian/arm64 や Debian/armhf、Debian/armel はどれもリトルエンディアン ARM システムのみサポートします。

2.1.3. ARM CPU の設計のばらつきとそのサポートの複雑さ

ARMシステムは i386/amd64 ベースのPCアーキテクチャと比べてかなり異質なので、サポート状況ははるかに複雑になります。

ARMアーキテクチャはいわゆる systems-on-chip (SoC) で主に利用されています。こういったSoCは多くの様々な企業により設計され、そのハードウェアの構成要素はシステムの起動に必要となるような非常に基本的な機能までが非常に様々です。システムファームウェアのインターフェイスは時とともに標準化が進みましたが、特に古いハードウェアではファームウェアやブート用インターフェイスは非常に様々であるため、PCの世界ではマザーボードの BIOS が扱うようなシステム固有の低レベルの問題についても、そういったシステムでは Linux カーネルが担当しないといけない、ということになります。

Linux カーネルでのARMサポート初期に、ハードウェアの種類が多いことからPCシステムでの1つで万能のカーネルとは対照的に、ARMシステムごとに別個のカーネルが必要となりました。この方法は大量の異なるシステムに対応させるには向かないため、異なるARMシステムでも動作する単一のARMカーネルをブートできるようにする作業が行われました。より新しいARMシステムのサポートはこういった複数プラットフォーム対応カーネルを利用できるようにする方法で実装されるようになりましたが、古い複数のシステムでは専用のカーネルが必要なままです。そのため、標準の Debian ディストリビューションではそういった古いARMシステムについては特定のものへのインストールだけをサポートします。新しいシステムは Debian/armhf で、(armmp と呼ばれる) 複数プラットフォーム対応カーネルによりサポートされます。

2.1.4. Debian/armel でサポートされるプラットフォーム

以下のプラットフォームが、プラットフォーム特有のカーネルを必要とする Debian/armel; によりサポートされています。

Kirkwood

Kirkwood は Marvell 製の system-on-chip (SoC) で、ARM CPU、イーサネット、SATA、USB その他の機能が 1 チップに統合されています。Debian は現在、以下に挙げる Kirkwood ベースの機器をサポートしています:

Orion5x

Orion は、Marvell 製の System on a Chip (SoC) で、ARM CPU、イーサネット、SATA、USB、その他の機能が 1 チップに統合されています。市場に出回っているたくさんのネットワークストレージ (NAS) で Orion チップが採用されています。Debian は現在以下の Orion ベースデバイスをサポートしています。Buffalo 玄箱HP mv2120QNAP TS-109、TS-209、TS-409、TS-409U 及びその派生品です。

Versatile

Versatile プラットフォームは QEMU でエミュレートされており、そのためハードウェアがなくても ARM での Debian のテストや実行を行う良い方法です。

2.1.5. Debian/armel によりサポートされなくなったプラットフォームやデバイス

IXP4xx

Intel IXP4xx プラットフォームのサポートは Debian 9 では外されています。Linksys NSLU2 機器は IXP4xx ベースであるため、サポートされません。

Orion5x

D-Link DNS-323 及び Conceptronic CH3SNAS 機器のサポートは Debian 9 では Orion5x プラットフォームから外されています。Linux カーネルはこういった機器のフラッシュに収まらなくなっています。Buffalo 玄箱や HP mv2120 等他の Orion 機器のサポートは続いています。

2.1.6. グラフィックハードウェアのサポート

Debian のグラフィカルインターフェースのサポートは、X.Org による X11 システムやカーネルでサポートされているかどうかで決まります。デスクトップ環境は X11 を利用するのに対し、基本的なフレームバッファのグラフィックはカーネルにより提供されます。3D ハードウェアアクセラレーションやハードウェアアクセラーションビデオといった、高性能なグラフィックカードの機能が有効かどうかは、システムで使用する実際のグラフィックハードウェアと、ある状況下では、追加 ファームウェア イメージのインストール (「ファームウェアが必要なデバイス」 参照) に依存します。

ほぼ全てのARMマシンがグラフィックハードウェアを、プラグインカードに依らず組み込みで持っています。グラフィックカードを増設できる拡張スロットを備えるマシンはありますが、それは希少です。グラフィックを一切持たないヘッドレス設計のハードウェアがかなり一般的です。カーネルにより提供される基本的なフレームバッファのビデオはグラフィックを備えた機器であればどれでも使えるはずですが、高速 3D グラフィックを使うためにはバイナリドライバが必ず必要です。状況は刻々と変わりますが、stretch のリリース時点では nouveau (Nvidia Tegra K1 の SoC) 及び freedreno (Qualcomm Snapdragon の SoC) 用のフリードライバがこのリリースで利用できるようになっています。他のハードウェアではサードパーティの non-free ドライバが必要です。

サポートされているグラフィックハードウェアやポインティングデバイスに関する、より詳細な情報は http://xorg.freedesktop.org/ にあります。Debian 9 は X.Org バージョン 7.7 を採用しています。

2.1.7. ネットワーク接続機器

Linux カーネルがサポートしているネットワークインターフェースカード (NIC) なら、インストールシステムでもほとんどサポートしています。ドライバモジュールは、通常自動的に読み込まれます。

32-bit soft-float ARM では、ほとんどの内蔵イーサネットデバイスをサポートしており、追加 PCI デバイスや、USB デバイスのモジュールを提供しています。

2.1.8. 周辺機器やその他のハードウェア

Linux は、マウス、プリンタ、スキャナ、PCMCIA/CardBus/ExpressCard、USB デバイスなどの様々なハードウェアに幅広く対応しています。しかし、システムのインストールに、これらのデバイスが必要なわけではありません。