Skip to content

Latest commit

 

History

History
319 lines (225 loc) · 46.9 KB

File metadata and controls

319 lines (225 loc) · 46.9 KB
Armbian

Armbian

View English description | 查看中文说明 | 日本語の説明を確認する

Armbianは、Debian/Ubuntuをベースに、ARMチップ向けに特別に構築された軽量Linuxディストリビューションです。Armbianシステムはスリムでクリーンであり、Debian/Ubuntuと100%互換性があり、その機能と豊富なソフトウェアエコシステムを継承しています。TF/SD/USBストレージおよびデバイスのeMMCで安全かつ安定して動作します。本プロジェクトは、公式Armbianシステムの完全性を維持しつつ、TVボックスなどの公式にサポートされていないデバイスへのサポートを拡張し、便利な管理コマンドのセットを追加しています。TVボックスのAndroid TVシステムをArmbianに置き換え、強力なサーバーに変身させることができます。

本プロジェクトは多くのコントリビューターに支えられ、AmlogicRockchipAllwinnerデバイス向けのArmbianシステムを構築しています。eMMCへの書き込み、カーネル更新などの機能をサポートしています。詳しい使い方はArmbianユーザードキュメントをご覧ください。最新のArmbianシステムはReleasesからダウンロードできます。Forkしてカスタマイズすることを歓迎します。本プロジェクトがお役に立ちましたら、右上のStarボタンをクリックしてサポートをお願いします。

Armbianシステムのデフォルト情報

システム名 デフォルトユーザー名 デフォルトパスワード SSHポート IPアドレス
🐧 Armbian.OS root 1234 22 ルーターから取得
🐋 Armbian.Docker root 1234 22 静的MacVLAN IP

対応デバイス一覧

⬆️ 各プラットフォーム(Amlogic/Rockchip/Allwinner)のモデルは、SoC性能の高い順に並べられています。

SoC デバイス カーネル
a311d Khadas-VIM3, WXY-OES stable
s922x Beelink-GT-King, Beelink-GT-King-Pro, Ugoos-AM6-Plus, ODROID-N2, X88-King, Ali-CT2000, WXY-OES-Plus stable
s905x3 X96-Max+, HK1-Box, Vontar-X3, H96-Max-X3, Ugoos-X3, TX3(QZ), TX3(BZ), X96-Air, X96-Max+_A100, A95X-F3-Air, Tencent-Aurora-3Pro(s905x3-b), X96-Max+Q1, X96-Max+100W, X96-Max+_2101, Infinity-B32, Whale, X88-Pro-X3, X99-Max-Plus, Transpeed-X3-Plus, TOX1 stable
s905x2 X96Max-4G, X96Max-2G, MECOOL-KM3-4G, Tanix-Tx5-Max, A95X-F2, HG680-FJ stable
s905l3a E900V22C/D, CM311-1a-YST, M401A, M411A, UNT403A, UNT413A, ZTE-B863AV3.2-M, CM311-1a-CH, IP112H, B863AV3.1-M2 stable
s905l3b CM201-1, CM211-1, CM311-1, E900V21D, E900V22D, E900V21E, E900V22E, M302A/M304A, Hisense-IP103H, TY1608, TY1608, MGV2000, B860AV-2.1M, UNT403A, RG020ET-CA, M411A stable
s905l3 CM211-1, CM311-1, HG680-LC, M401A, UNT400G1, UNT400G, UNT402A, ZXV10-BV310, M411A, ZXV10-B860AV3.2-M, ZXV10-B860AV2.1-U, E900V22D-2, CM201-1-6-YS, IP108H, M301A stable
s912 Tanix-TX8-Max, Tanix-TX9-Pro(3G), Tanix-TX9-Pro(2G), Tanix-TX92, Tanix-TX9S, Nexbox-A1, Nexbox-A95X-A2, A95X, H96-Pro-Plus, VORKE-Z6-Plus, Mecool-M8S-PRO-L, Vontar-X92, T95Z-Plus, Octopus-Planet, Phicomm-T1, TX3-Mini, OneCloudPro-V1.1_V1.2 stable
s905d MECOOL-KI-Pro, Phicomm-N1, SML-5442TW stable
s905x HG680P, B860H, TBee-Box, T95, TX9, XiaoMI-3S, X96, Nexbox-a95x, BTV9 stable
s905mb S65 stable
s905l UNT402A, M201-S, MiBox-4, MiBox-4C, MG101, E900V21C, IP108H-53u1m, Tencent-Aurora-1s, B860AV2.1, B860AV2.1U, HM201 stable
s905l2 MGV2000, MGV2000-K, MGV3000, Wojia-TV-IPBS9505, M301A, E900v21E, e900v21d, CM201-1, IP108H, MGV2000-CW stable
s905lb Q96-mini, BesTV-R3300L, SumaVision-Q7, MG101, s65, IPBS9505 stable
s905w X96-Mini, TX3-Mini, W95, X96W/FunTV, MXQ-Pro-4K, MeCool-m8s-pro-W stable
s905 Beelink-Mini-MX-2G, Sunvell-T95M, MXQ-Pro+4K, SumaVision-Q5 stable
rk3588(s) Radxa-Rock5B, Radxa-Rock5C, Orange-Pi-5-Plus, Beelink-IPC-R, HLink-H88K, HLink-H88K-V3, NanoPC-T6, Smart-Am60, DC-A588, Orangepi-5B, CM3588-NAS, Rock-5-ITX, LZ-D3588, Boca-tcn100 rk3588
rk3576 NanoPi-m5 stable
rk3399 EAIDK-610, King3399, TN3399, Kylin3399, ZCube1-Max, CRRC, SMART-AM40, SW799, ZYSJ, DG-3399, DLFR100, Emb3531, Leez-p710, tvi3315a, xiaobao, Fine3399, Firefly-RK3399, LX-R3S, Hugsun-x99, Tb-ls3399, Hisense-hs530r, Tpm312, ZK-rk39a, YSKJ, Fmx1-Pro, Fmx1-Pro-B, Sv-33a6x, Sv-33a6x(VPU), AIO-3399B, AIO-3399C, AIO-3399C(AI), TaraM, NanoPC-T4, Firefly-Core-3399-JD4, GEA-6319 rk35xx
stable
rk3568 FastRhino-R66S, FastRhino-R68S, Radxa-E25, NanoPi-R5S, NanoPi-R5C, HLink-H66K, HLink-H68K, HLink-H69K, Seewo-sv21, Mrkaio-m68s, Swan1-w28, Ruisen-box, DG-TN3568, Alark35-3500, MMBox-Anas3035, Wocyber-A3, Photonicat, NSY-G16-Plus, NSY-G68-Plus, BDY-G18-Pro, Gzpeite-P01, LZ-D3568, LZ-K3568, BDKJ-One, Station-P2, Lyt-t68m rk35xx
stable
rk3566 Panther-X2, JP-TvBox, LCKFB-Taishan-Pi, WXY-OEC-turbo-4g, Station-M2, Orange-Pi-3B rk35xx
stable
rk3528 HLink-H28K, Radxa-E20C, H96-Max-M2, HK1-Rbox-K8S, HT2, CD1000 rk35xx
rk3328 BeikeYun, Chainedbox-L1-Pro, Station-M1, Bqeel-MVR9, Renegade/Firefly rk35xx
stable
rk3318 RX3318-Box stable
h6 Vplus, Tanix-TX6, TQC-A01 h6
stable
h618 OrangePi-Zero3, H618-DevBoard stable

Tip

現在、s905ボックスTF/SD/USBでのみ使用できます。その他のボックスモデルはEMMCへの書き込みに対応しています。詳細は✅ 対応デバイス一覧をご参照ください。新しいデバイスサポートの追加については、ドキュメントのセクション12.15:新しい対応デバイスの追加方法をご覧ください。ご使用前にArmbianユーザードキュメントをお読みください。よくある問題の解決方法が記載されています。

Armbianのインストールとアップグレード手順

お使いのデバイスモデルに合ったArmbianシステムを選択してください。デバイス固有の使用方法については、対応するドキュメントをご参照ください。

  • ArmbianをEMMCにインストール

  1. Rockchipプラットフォームのデバイスについては、ドキュメントの第8章をご参照ください。

  2. AmlogicおよびAllwinnerプラットフォームのデバイスについては、RufusbalenaEtcherなどのツールを使用してシステムをUSBメモリに書き込み、デバイスに挿入します。Armbianシステムにログイン(デフォルトユーザー:root、デフォルトパスワード:1234)し、以下のコマンドを入力します:

armbian-install
オプション デフォルト 選択肢 説明
-m no yes/no メインラインu-bootを使用
-a yes yes/no ampartパーティション調整ツールを使用
-l no yes/no 完全なデバイスリストを表示

例:armbian-install -m yes -a no

  • Armbianカーネルの更新

Armbianシステムにログインし、以下のコマンドを入力します:

# rootユーザーとして実行(sudo -i)
# パラメータを指定しない場合、最新バージョンに更新されます。
armbian-update
オプション デフォルト 選択肢 説明
-r ophub/kernel <owner>/<repo> github.comからカーネルをダウンロードするリポジトリを設定
-u 自動判定 stable/flippy/beta/rk3588/rk35xx/h6 カーネルのタグサフィックスを設定
-k 最新バージョン カーネルバージョン カーネルバージョンを設定
-b yes yes/no 更新時に現在使用中のカーネルを自動バックアップ
-d deb tar/deb 優先するカーネルパッケージ形式を設定。利用できない場合、スクリプトが自動的に代替形式を試みます。カスタムドライバーのコンパイルにはdeb形式を推奨。
-m no yes/no メインラインu-bootを使用
-s なし なし/ディスク名 [SOS] eMMC/NVMe/sdXまたは他のディスク上のシステムカーネルを復元
-h なし なし ヘルプ情報を表示

例:armbian-update -k 5.15 -u stable -d deb

-kパラメータでカーネルバージョンを指定する際、正確なバージョン番号(例:armbian-update -k 5.15.50)またはカーネルシリーズのみ(例:armbian-update -k 5.15)を指定できます。シリーズを指定した場合、そのシリーズ内の最新バージョンが自動的に使用されます。

カーネル更新時、現在実行中のカーネルは自動的に/ddbr/backupディレクトリにバックアップされ、最新の3つのバージョンが保持されます。新しくインストールしたカーネルが不安定な場合、いつでもバックアップカーネルを復元できます。カーネル更新によりシステムが起動できなくなった場合は、armbian-update -sでシステムカーネルを復元できます。詳細はヘルプドキュメントをご覧ください。

  • Armbianソースの変更

Armbianシステムにログインし、以下のコマンドを入力します:

armbian-apt

お住まいの国や地域に適したソフトウェアソースを選択することで、ダウンロード速度を大幅に向上させることができます。詳細はヘルプドキュメントをご覧ください。

  • よく使うソフトウェアのインストール

Armbianシステムにログインし、以下のコマンドを入力します:

armbian-software

armbian-software -uコマンドでローカルのソフトウェアセンターリストを更新できます。Issuesでのユーザーフィードバックに基づき、よく使われるソフトウェアがワンクリックでのインストール/更新/アンインストールに対応するよう段階的に統合されています。Dockerイメージデスクトップソフトウェアアプリケーションサービスなどが含まれます。詳細な説明をご覧ください。

  • Armbian設定の変更

Armbianシステムにログインし、以下のコマンドを入力します:

armbian-config
  • ArmbianのSwap作成

Dockerなどのメモリ集約型アプリケーションの実行時にデバイスのメモリが不足する場合、swap仮想メモリパーティションを作成して、ディスク容量の一部を追加メモリとして使用できます。パラメータの単位はGBで、デフォルト値は1です。

Armbianシステムにログインし、以下のコマンドを入力します:

armbian-swap 1
  • LEDディスプレイの制御

Armbianシステムにログインし、以下のコマンドを入力します:

armbian-openvfd

LEDスクリーンディスプレイ制御手順に従ってデバッグしてください。

  • EMMC元システムのバックアップ/復元

TF/SD/USB経由でデバイスのEMMCパーティションのバックアップと復元をサポートします。新しいデバイスにArmbianをインストールする前に、必要に応じて将来復元できるよう、元のAndroid TVシステムをバックアップすることをお勧めします。

TF/SD/USBからArmbianシステムを起動し、以下のコマンドを入力します:

armbian-ddbr

プロンプトでbを入力するとシステムをバックアップ、rを入力すると復元します。

Important

または、USBケーブル経由でAndroidシステムをeMMCに直接書き込むこともできます。AndroidシステムイメージはToolsから入手できます。

  • Armbian内でのカーネルコンパイル

カーネルコンパイルの手順については、カーネルコンパイルドキュメントをご覧ください。Armbianシステムにログインし、以下のコマンドを入力します:

armbian-kernel -u
armbian-kernel -k 6.6.12
  • その他の使用方法

システム内のすべてのサービススクリプトを最新バージョンに更新するには、Armbianシステムにログインし、以下のコマンドを入力します:

armbian-sync

Armbian使用時のよくある問題とその解決方法については、documentsをご覧ください。

ローカルパッケージング

  1. リポジトリをローカルにクローン git clone --depth 1 https://github.com/ophub/amlogic-s9xxx-armbian.git

  2. 必要なソフトウェアパッケージをインストール(Ubuntu 24.04を例として)

~/amlogic-s9xxx-armbianルートディレクトリに移動し、インストールコマンドを実行します:

sudo apt-get update -y
sudo apt-get full-upgrade -y
# Ubuntu-24.04の場合
sudo apt-get install -y $(cat compile-kernel/tools/script/ubuntu2404-build-armbian-depends)
  1. ~/amlogic-s9xxx-armbianルートディレクトリに移動し、build/output/imagesフォルダを作成して、Armbianイメージファイル(例:Armbian_21.11.0-trunk_Odroidn2_current_5.15.50.img)を~/amlogic-s9xxx-armbian/build/output/imagesディレクトリにアップロードします。元のファイル名のリリースバージョン番号(例:21.11.0)とカーネルバージョン番号(例:5.15.50)を保持してください。再構築されたArmbianシステムの命名に使用されます。

  2. ~/amlogic-s9xxx-armbianルートディレクトリに移動し、sudo ./rebuild -b s905x3 -k 6.6.12を実行して、指定したボード用のArmbianイメージを生成します。出力ファイルはbuild/output/imagesディレクトリに保存されます。

  • ローカルパッケージングパラメータの説明

パラメータ 意味 説明
-b ボード ビルドするデバイスコードを指定します。例:-b s905x3はs905x3デバイスをビルドします。複数のデバイスはアンダースコアで結合できます(例:-b s905x3_s905d)。特殊値:allはすべてのデバイスをビルド、first50は最初の50台、range50_100は51〜100台目、range100_150は101〜150台目、last20は最後の20台をビルドします。完全なリストはmodel_database.confBOARDエントリをご参照ください。デフォルト:all
-r カーネルリポジトリ github.comのカーネルリポジトリの<owner>/<repo>を指定。デフォルト値:ophub/kernel
-u カーネル用途 使用するカーネルのタグサフィックスを設定(stableflippybetaなど)。デフォルト値:stable
-k カーネル カーネル名を指定(例:-k 6.6.12)。複数のカーネルは_で結合(例:-k 6.6.12_5.15.50)。-kパラメータで自由に指定できるカーネルバージョンは、stable/flippy/betaを使用するカーネルにのみ有効です。rk3588 / rk35xx / h6などの他のカーネルシリーズは、専用のカーネルのみ使用できます。
-a 自動カーネル 同じシリーズの最新カーネルを自動的に使用するかどうかを設定。trueの場合、-kで指定されたシリーズ(例:6.6.12)内の新しいバージョンがカーネルリポジトリで確認され、見つかった場合は最新バージョンが自動的に使用されます。falseの場合、指定された正確なバージョンが使用されます。デフォルト:true
-t ルートFSタイプ ROOTFSパーティションのファイルシステムタイプを設定。選択肢:ext4またはbtrfs。例:-t btrfs。デフォルト:ext4
-s サイズ イメージパーティションサイズを設定。ROOTFSパーティションのみ設定する場合は単一の値を指定(例:-s 2560)。BOOTFSとROOTFSの両方を設定する場合は/で結合(例:-s 512/2560)。デフォルト:512/2560
-n ビルダー名 Armbianシステムのビルダー署名を設定。スペースを含めないでください。デフォルト:なし
  • sudo ./rebuild:デフォルト設定ですべてのデバイスモデルをパッケージング。
  • sudo ./rebuild -b s905x3 -k 6.6.12:推奨。指定したカーネルでデフォルト設定のビルド。
  • sudo ./rebuild -b s905x3 -k 6.1.y:デフォルト設定で6.1.yシリーズの最新カーネルを使用してビルド。
  • sudo ./rebuild -b s905x3_s905d -k 6.6.12_5.15.50:デフォルト設定で複数のカーネルを同時にビルド。複数のカーネルは_で結合。
  • sudo ./rebuild -b s905x3 -k 6.6.12 -s 2560:単一のカーネルとモデルでデフォルト設定のビルド。ROOTFSパーティションサイズを2560 MiBに設定。
  • sudo ./rebuild -b s905x3_s905d:複数のモデルですべてのカーネルをデフォルト設定でビルド。複数のモデルは_で結合。
  • sudo ./rebuild -k 6.6.12_5.15.50:すべてのモデルで複数の指定カーネルをデフォルト設定でビルド。カーネルは_で結合。
  • sudo ./rebuild -k 6.6.12_5.15.50 -a true:上記と同じ。各シリーズ内の最新カーネルに自動アップグレード。
  • sudo ./rebuild -t btrfs -s 2560 -k 6.6.12:btrfsファイルシステム、2560 MiBのROOTFS、カーネル6.6.12ですべてのモデルをビルド。

GitHub Actionsを使用したコンパイル

  1. ワークフロー設定ファイルは.github/workflows/ディレクトリにあります。

  2. 新規ビルド:Actionsページで***Build Armbian server imageを選択し、build-armbian-arm64-server-image.ymlワークフローを使用します。Ubuntuシリーズ(例:resolute)またはDebianシリーズ(例:trixie)から選択できます。Run workflow***をクリックしてビルドを開始します。

  3. 再ビルド:Releasesにコンパイル済みのArmbian_.*-trunk_.*.img.gzファイルがすでにあり、他のボード用に再パッケージするだけの場合は、ソースコンパイル手順をスキップし、build-armbian-using-releases-files.ymlを使用して二次ビルドを行います。

  4. 他のArmbianシステム(例:公式armbian.tnahosting.netダウンロードサイトのodroidn2イメージ)を使用する場合は、ワークフローファイルbuild-armbian-using-official-image.ymlで本リポジトリのスクリプトを参照するだけで、他のデバイスをサポートするためのArmbian再構築が可能です。例:

- name: Build Armbian
  uses: ophub/amlogic-s9xxx-armbian@main
  with:
    build_target: armbian
    armbian_path: build/output/images/*.img
    armbian_board: s905d_s905x3_s922x_s905x
    armbian_kernel: 6.12.y_6.18.y
  • GitHub Actions入力パラメータの説明

これらのパラメータは、上記のローカルパッケージングコマンドオプションに対応しています。

パラメータ デフォルト 説明
armbian_path なし 元のArmbianファイルのパスを設定。ワークフローファイルパス(例:build/output/images/*.img)およびネットワークダウンロードURL(例:https://dl.armbian.com/*/Armbian_*.img.xz)をサポート。
armbian_board all パッケージボックスのboardを設定。-bを参照
kernel_repo ophub/kernel github.comのカーネルリポジトリの<owner>/<repo>を指定。-rを参照
kernel_usage stable 使用するカーネルのタグサフィックスを設定。-uを参照
armbian_kernel 6.12.y_6.18.y カーネルのバージョンを設定。-kを参照
auto_kernel true 同じシリーズの最新バージョンのカーネルを自動的に採用するかどうかを設定。-aを参照
armbian_fstype ext4 システムのROOTFSパーティションのファイルシステムタイプを設定。-tを参照
armbian_size 512/2560 システムのBOOTFSおよびROOTFSパーティションのサイズを設定。-sを参照
armbian_files false カスタムArmbianファイルを追加。設定した場合、このディレクトリ内のすべてのファイルがcommon-filesにコピーされます。ファイルが正しくオーバーレイされるよう、ディレクトリ構造はArmbianのルートディレクトリを反映する必要があります(例:デフォルト設定ファイルはetc/default/配下に配置)。
builder_name なし Armbianシステムのビルダー署名を設定。-nを参照
  • GitHub Actions出力変数の説明

Releasesへのアップロードには、リポジトリのワークフロー読み取りおよび書き込み権限が必要です。詳細は使用方法の説明をご覧ください。

パラメータ デフォルト 説明
${{ env.PACKAGED_OUTPUTPATH }} out Armbianシステムファイルの出力パス
${{ env.PACKAGED_OUTPUTDATE }} 04.13.1058 パッケージング日時(月.日.時分)
${{ env.PACKAGED_STATUS }} success パッケージングステータス:success / failure

Armbian Dockerイメージのビルド

ArmbianシステムのDockerイメージの作成については、armbian_dockerビルドスクリプトをご参照ください。

GitHub Actionsを使用したカーネルコンパイル

カーネルコンパイルの手順については、compile-kernelをご覧ください。

- name: Compile the kernel
  uses: ophub/amlogic-s9xxx-armbian@main
  with:
    build_target: kernel
    kernel_version: 6.12.y_6.18.y
    kernel_auto: true
    kernel_sign: -yourname

Armbianコントリビューター

まず、150balbes氏の素晴らしい貢献と、Amlogic TVボックスでArmbianを実行するために築かれた確かな基盤に感謝します。ここでコンパイルされるArmbianシステムは、最新の公式ソースコードを使用してリアルタイムでビルドされています。開発アプローチは、ebksoなどの著者のチュートリアルからインスピレーションを受けています。皆様の献身と共有に感謝し、Armbianがますます多くのデバイスで動作できるようになっています。

このシステムで使用されるu-bootkernel、その他のリソースは、主にunifreq/openwrt_packitプロジェクトから提供されています。一部のファイルは、amlogic-s9xxx-openwrtamlogic-s9xxx-armbianluci-app-amlogicu-bootkernelなどのプロジェクトで、ユーザーがPull RequestsIssuesを通じて貢献したものです。これらの先駆者やコントリビューターを称えるため、リポジトリ作成以降(2021-09-19)のすべての貢献がCONTRIBUTORS.mdに記録されています。皆様のおかげで、これらのデバイスに新しい命と目的が与えられたことに改めて感謝いたします。

その他のディストリビューション

  • amlogic-s9xxx-openwrtプロジェクトは、TVボックス向けのOpenWrtシステムを提供しており、Armbianがサポートするデバイスにも適用可能です。
  • fnnasプロジェクトは、TVボックス向けのFnNASシステムを提供しており、Armbianがサポートするデバイスにも適用可能です。
  • unifreqは、幅広いAmlogic、Rockchip、Allwinnerデバイス向けのOpenWrtシステムを作成しており、コミュニティのベンチマークプロジェクトです。強くお勧めします。
  • Scireseは、Android TVボックスでのArch Linux ARM / Manjaroシステムのビルド、インストール、使用をテストしています。詳細はリポジトリをご覧ください。
  • 7Jiは、Amlogicプラットフォームのリバースエンジニアリングと開発に関する記事を公開しており、ArchLinux ARMのインストールやAmlogicブートメカニズムの分析などのトピックを扱っています。ampartプロジェクトは、Amlogic eMMCパーティションテーブルとDTBパーティションの読み取り・編集用パーティションツールを提供し、eMMCスペースの100%活用を実現しています。amlogic-s9xxx-archlinuxarmプロジェクトは、Arch Linux ARMのビルドおよび使用手順を提供しています。YAopenvfDプロジェクトは、代替のopenvfdデーモン実装を提供しています。
  • 13584452567は、本リポジトリにおけるRockchipデバイスサポートの先駆者です。彼の貢献により、EAIDK-610King3399TN3399Kylin3399ZCube1-Maxtvi3315axiaobaoなど、多数のRockchipデバイスのサポートが拡大されました。また、TQC-A01などのAllwinnerデバイス用の専用カーネルをメンテナンスし、DiscussionsIssuesで広範な技術サポートとソリューションを提供し、コミュニティに多大な貢献をしています。
  • cooip-jmは、Armbian、LXC、Docker、AdGuard、その他のアプリケーションに関する多くのガイドをwikiで共有しています。ぜひご覧ください。

リンク

ライセンス

amlogic-s9xxx-armbian © OPHUBはGPL-2.0の下でライセンスされています。