自分のルーターに合わせた OpenWrt ファームウェアが欲しくても、最初からローカルに重いビルド環境を用意する必要はありません。Wei.G オンラインカスタマイザー でソース、ターゲット、パッケージ、各種設定を選び、GitHub Actions に送信すれば、あとはクラウド側のビルドを待つだけです。

JavaScript HTML CSS Node.js Bash YAML

クイックスタート

⚠️ ファームウェアの書き込みにはリスクがあります。ルーターの型番、パーティション構成、書き込み方法を事前に確認してください。不明な場合は書き込まないでください。

背景

  • 【始めやすさ】 自分でファームウェアをビルドしてみたいけれど、まずローカル環境を整えるところで止まりたくない人向けの入口です。
  • 【パッケージと依存関係】 一部のプラグインや依存関係は、利用する前にファームウェアへ組み込んでビルドする必要があります。
  • 【設定の手間】 OpenWrt のビルド設定は項目が多く、中国本土のネットワーク環境では依存ファイルの取得がさらに面倒になることがあります。
  • 【時間】 フルビルドには数時間かかることがあり、それでも失敗する場合があります。原因調査にも時間が必要です。
  • 【今後】 将来的には、誰でもプロジェクトを Fork して GitHub Pages + Actions 上に自分専用の OpenWrt ビルドサイトを持てる形を目指しています。
  • 【現在】 まだテスト段階なので不具合が残っている可能性があります。また、共有ワークフローを大量に使うと GitHub のポリシーや利用枠に触れる可能性があります。

対応対象

現在は以下の対象のみ確認済みです。その他の機種は未検証です。復旧手段がない場合は使用しないでください。

準備

⚠️ ファームウェアの書き込みにはリスクがあります。ルーターの型番、パーティション構成、書き込み方法を事前に確認してください。不明な場合は書き込まないでください。

1. パラメータを選ぶ

  • ソースを選んだ後、検索欄で対応する機種や環境を検索します。config を読み込むこともできます。

  • Source → Branch → Target System → Subtarget → Target Profile の順に選択します。

    • x86/64 の例:ImmortalWrt → openwrt-24.10 → x86 → 64 → Generic x86/64
  • Advanced menuconfig › LuCI › 3. Applications で必要なアプリケーションを選択します。

  • Advanced menuconfig のその他の詳細設定は必要に応じて調整してください。

続いて、タイムゾーン、ファームウェアテーマ、NTP サーバー、パッケージミラーも必要に応じて設定します。

既存設定を使う

.config、config.buildinfo、以前ダウンロードしたリクエストファイルがある場合は、画面下部の 設定を読み込む をクリックします。確認画面でソース、ブランチ、Target Profile、プラグイン、ファームウェア設定を確認してください。

2. ビルドを送信する

右下の クラウドビルドを送信 をクリックします。

リクエストをダウンロードして GitHub を開く を選ぶと、JSON ファイルがダウンロードされ、GitHub の新規 Issue ページが自動で開きます。

ダウンロードしたファイルを Issue の入力欄へ移動し、そのまま Create をクリックします。

Bot が Issue 内に今回のビルド用 Actions リンクを返信します。

3. ファームウェアをダウンロードする

ビルドには通常 2~4 時間かかります。完了後、Actions ページ下部の Artifacts からダウンロードします。

  • FIRMWARE-ALL-XXX:すべてのファームウェアとチェックサム。初回書き込みでは通常 factory などのファイルを使います。
  • CONFIG-XXX:今回送信した設定、最終設定、差分。保存しておくことを推奨します。
  • BUILD-LOGS-XXX:完全なビルドログ。トラブルシューティングに使用します。

よくある質問

  • ビルドに失敗したら? BUILD-LOGS-… をダウンロードし、最後に出た Error を確認してください。Issue で報告することもできます。
  • キャンセル方法は? 自分のビルド Issue に /cancel と返信します。
  • 同時に何件ビルドできますか? 1 アカウントにつき同時に 2 件までです。それを超えると待機になります。
  • ダウンロードボタンがないのはなぜ? GitHub の Artifacts は通常、ログインしていないとダウンロードできません。
  • 公開リポジトリの待ち時間が長い? 将来的には このプロジェクトを Fork し、画面の案内に従って自分のリポジトリでビルドを実行できるようにする予定です。これにより共有キューの影響を避けられます。

プロジェクト:WeiG-OpenWrt-AutoBuild

謝辞