Debian は、Linuxカーネルや GNU ツールセットが必要とする以上のハードウェアを要求しません。それゆえ、Linuxカーネル、libc、gcc などが移植されていて、Debian の移植版が存在すれば、どんなアーキテクチャや プラットフォームでも Debian を動作させることができます。すでに Debian GNU/Linux でテストされている 64-bit ARM アーキテクチャシステムの詳細は、 https://www.debian.org/ports/arm/ にある移植版のページを参照してください。
この節では、64-bit ARM でサポートされるハードウェアの様々な設定のすべてに触れることは避け、一般的な情報とさらなる情報が見つけられる場所へのポインタを紹介します。
Debian GNU/Linux 13 は 9 の主要なアーキテクチャと、「フレーバー」と呼ばれる各アーキテクチャのバリエーションをサポートしています。
アーキテクチャ | Debian での名称 | サブアーキテクチャ | フレーバー |
---|---|---|---|
AMD64 & Intel 64 | amd64 | ||
Intel x86 ベース | i386 | デフォルトの x86 マシン | デフォルト |
Xen PV ドメインのみ | xen | ||
ARM | armel | Marvell Kirkwood 及び Orion | marvell |
ハードウェア FPU がある ARM | armhf | 複数プラットフォーム対応 | armmp |
64bit ARM | arm64 | ||
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 カーネルを用いた 64-bit ARM アーキテクチャへのインストールを扱います。Debian がサポートしている他のアーキテクチャに関する情報を探しているなら、Debian 移植版 のページをご覧ください。
これは 64-bit ARM アーキテクチャ用 Debian GNU/Linux の初公式リリースです。すでにリリースとするに充分安定していると私たちは考えています。しかし、まだ他のアーキテクチャ版ほど広く使われていない (つまりユーザによるテストも多くない) ことから、いくつかのバグにでくわす可能性もあります。何か問題が起きたら、バグ追跡システム を使って報告してください。その際、そのバグが、Linux カーネルを用いた 64-bit ARM プラットフォーム上のものであることを必ず書き添えてください。また debian-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 システムのみサポートします。
ARMシステムは i386/amd64 ベースのPCアーキテクチャと比べてかなり異質なので、サポート状況ははるかに複雑になります。
ARMアーキテクチャはいわゆる 「systems-on-chip」 (SoC) で主に利用されています。こういったSoCは多くの様々な企業により設計され、そのハードウェアの構成要素はシステムの起動に必要となるような非常に基本的な機能までが非常に様々です。古いARMアーキテクチャでは、あるSoCからその後継機の間でも大規模に変更されることがありました。しかし ARMv8 (arm64) では標準化が大きく進み、Linux カーネルやその他のソフトウェアのサポートが容易になっています。
サーバ版の ARMv8 ハードウェアは通常、Unified Extensible Firmware Interface (UEFI) 及び Advanced Configuration and Power Interface (ACPI) 標準を使って設定されます。この2つにより、一般的で機器に依存しない方法でコンピュータハードウェアをブート、設定できるようになります。これは x86 PC の世界でも共通しています。
Arm64/AArch64/ARMv8 ハードウェアは Debian Trixie リリースサイクルのかなり終盤になって利用できるようになったため、このリリース時点までの主流側カーネルのバージョンでサポートがマージされているプラットフォームはあまり多くありません。これは debian-installer
を使えるようにするための大きな要件なのです。以下のプラットフォームはこのリリースの Debian/arm64 でサポートされていることがわかっています。挙げられているプラットフォームは全て、ただ一つのカーネルイメージでサポートします。
APM Mustang は Linux が動作する最初に利用可能となった ARMv8 システムでした。X-gene SoC を採用で、これはその後他のマシンでも採用されました。8コア CPU、イーサネット、USB、シリアルポートを搭載します。共通フォームファクターはデスクトップPC用と酷似していますが、別バージョンが今後多数出てくることが期待されます。ハードウェアはほとんどが主流側カーネルでサポートされていますが、Trixie のカーネルでは現時点でUSBのサポートが欠けています。
Juno は 6コア (2xA57, 4xA53) ARMv8-A 800Mhz CPU、Mali (T624) グラフィック、8GB DDR3 RAM、イーサネット、USB、シリアルポートを搭載する高性能開発用ボードです。システムの提示や電力テスト向けに設計されたため、小型でもなく安価でもありませんが、最初に利用できるようになったボードの一つです。オンボードのハードウェアは全て主流側カーネル及び Trixie でサポートされています。
非 UEFI システムで debian-installer
を利用している場合は、例えば debian-installer
から起動したシェルで必要なコマンドを実行する等、インストールの最後に手作業でシステムをブート可能にしないといけないかもしれません。flash-kernel は U-Boot でブートする X-Gene システムの段取りを知っています。
arm64 Linux カーネルの複数プラットフォームサポートにより、上記に明記されていない arm64 システムでも debian-installer
を実行できるかもしれません。debian-installer
により利用されるカーネルで対象システムの構成要素をサポートしていて、対象システムのデバイスツリーファイルが利用可能であれば、新しい対象システムでも普通に動作するかもしれません。その場合は通常、インストーラによってインストールした後も機能するため、UEFI を利用している場合は同様にシステムをブート可能にできるはずです。UEFI を利用していない場合は、システムをブート可能にするために何らかのマニュアル設定を行う必要があるかもしれません。
このアーキテクチャでは、マルチプロセッササポート (「対称型マルチプロセッシング」 や SMP とも呼ばれる) が利用できます。もともと、複数のプロセッサがあるコンピュータは、ハイエンドサーバシステムのみのものでしたが、近年では「マルチコア」と呼ばれるプロセッサの登場により、どこでも当たり前のものになりました。これには、1 つの物理的なチップに、「コア」と呼ばれる複数のプロセッサユニットが搭載されています。
標準の Debian 13 カーネルイメージは、SMP をサポートしてコンパイルされています。非 SMP システムでも、問題なく動作します。
Debian のグラフィカルインターフェースのサポートは、X.Org による X11 システムやカーネルでサポートされているかどうかで決まります。デスクトップ環境は X11 を利用するのに対し、基本的なフレームバッファのグラフィックはカーネルにより提供されます。3D ハードウェアアクセラレーションやハードウェアアクセラーションビデオといった、高性能なグラフィックカードの機能が有効かどうかは、システムで使用する実際のグラフィックハードウェアと、ある状況下では、追加 「ファームウェア」 ファイルのインストール (「ファームウェアが必要なデバイス」 参照) に依存します。
ほぼ全てのARMマシンがグラフィックハードウェアを、プラグインカードに依らず組み込みで持っています。グラフィックカードを増設できる拡張スロットを備えるマシンはありますが、それは希少です。グラフィックを一切持たないヘッドレス設計のハードウェアがかなり一般的です。カーネルにより提供される基本的なフレームバッファのビデオはグラフィックを備えた機器であればどれでも使えるはずですが、高速 3D グラフィックを使うためにはバイナリドライバが必ず必要です。状況は刻々と変わりますが、trixie のリリース時点では nouveau (Nvidia Tegra K1 の SoC) 及び freedreno (Qualcomm Snapdragon の SoC) 用のフリードライバがこのリリースで利用できるようになっています。他のハードウェアではサードパーティの non-free ドライバが必要です。
サポートされているグラフィックハードウェアやポインティングデバイスに関する、より詳細な情報は https://wiki.freedesktop.org/xorg/ にあります。Debian 13 は X.Org バージョン 7.7 を採用しています。
Linux カーネルがサポートしているネットワークインターフェースカード (NIC) なら、インストールシステムでもほとんどサポートしています。ドライバモジュールは、通常自動的に読み込まれます。
64-bit ARM では、ほとんどの内蔵イーサネットデバイスをサポートしており、追加 PCI デバイスや、USB デバイスのモジュールを提供しています。