Du möchtest ein OpenWrt-Image, das wirklich zu deinem Router passt, aber nicht erst lokal eine komplette Build-Umgebung einrichten? Im Wei.G Online-Customizer wählst du Quelle, Zielgerät, Pakete und Firmware-Einstellungen aus und schickst den Auftrag anschließend an GitHub Actions. Den eigentlichen Build übernimmt die Cloud.

JavaScript HTML CSS Node.js Bash YAML

Schnellstart

⚠️ Das Flashen von Firmware ist mit Risiken verbunden. Routermodell, Partitionierung und Flash-Methode vorher prüfen. Wenn etwas unklar ist, nicht flashen.

Hintergrund

  • 【Einfacher Einstieg】 Wer einmal selbst Firmware bauen möchte, aber nicht schon an der lokalen Toolchain scheitern will, bekommt hier einen deutlich niedrigeren Einstieg.
  • 【Pakete und Abhängigkeiten】 Manche Plugins und Abhängigkeiten müssen bereits beim Build in die Firmware integriert werden.
  • 【Konfigurationsaufwand】 OpenWrt bietet viele Build-Optionen; zusätzlich können Netzwerkbedingungen in Festlandchina den Download von Abhängigkeiten erschweren.
  • 【Zeit】 Ein vollständiger Build kann mehrere Stunden dauern und trotzdem fehlschlagen. Die Fehlersuche kostet entsprechend Zeit.
  • 【Ziel】 Langfristig soll jeder das Projekt forken und mit GitHub Pages + Actions eine eigene OpenWrt-Build-Seite betreiben können.
  • 【Aktueller Stand】 Das Projekt befindet sich noch in der Testphase. Fehler sind möglich, und eine starke Nutzung des gemeinsamen Workflows kann an GitHub-Richtlinien oder Nutzungslimits stoßen.

Unterstützte Geräte

Derzeit sind nur die folgenden Ziele getestet. Andere Geräte wurden noch nicht verifiziert. Ohne Wiederherstellungsmöglichkeit sollte das Tool nicht verwendet werden.

Vorbereitung

⚠️ Das Flashen von Firmware ist mit Risiken verbunden. Routermodell, Partitionierung und Flash-Methode vorher prüfen. Wenn etwas unklar ist, nicht flashen.

1. Parameter auswählen

  • Nach Auswahl der Quelle im Suchfeld das passende Gerät oder die gewünschte Umgebung suchen. Eine vorhandene config kann ebenfalls geladen werden.

  • Source → Branch → Target System → Subtarget → Target Profile auswählen.

    • Beispiel x86/64: ImmortalWrt → openwrt-24.10 → x86 → 64 → Generic x86/64
  • Unter Advanced menuconfig › LuCI › 3. Applications die gewünschten Anwendungen aktivieren.

  • Weitere Optionen unter Advanced menuconfig nach Bedarf einstellen.

Anschließend nach Bedarf Zeitzone, Firmware-Theme, NTP-Server und Paket-Mirror konfigurieren.

Vorhandene Konfiguration

Wer bereits eine .config, config.buildinfo oder eine früher heruntergeladene Request-Datei besitzt, kann unten auf Konfiguration laden klicken. Im Bestätigungsdialog Quelle, Branch, Target Profile, Plugins und Firmware-Einstellungen prüfen.

2. Build starten

Unten rechts auf Cloud-Build starten klicken.

Request herunterladen und GitHub öffnen auswählen. Der Browser lädt eine JSON-Datei herunter und öffnet automatisch eine neue GitHub-Issue-Seite.

Die heruntergeladene Datei in das Issue-Feld ziehen und anschließend Create klicken.

Der Bot antwortet im Issue mit dem Actions-Link für den Build.

3. Firmware herunterladen

Ein Build dauert normalerweise 2–4 Stunden. Nach Abschluss auf der Actions-Seite unten unter Artifacts herunterladen:

  • FIRMWARE-ALL-XXX: alle Firmware-Dateien und Prüfsummen. Beim ersten Flash wird meist eine Datei wie factory benötigt.
  • CONFIG-XXX: eingereichte Konfiguration, finale Konfiguration und Unterschiede. Aufbewahren wird empfohlen.
  • BUILD-LOGS-XXX: vollständige Build-Logs zur Fehlersuche.

Häufige Fragen

  • Was tun, wenn der Build fehlschlägt? BUILD-LOGS-… herunterladen und den letzten Error prüfen. Probleme können auch im Issue gemeldet werden.
  • Wie breche ich ab? Im eigenen Build-Issue mit /cancel antworten.
  • Wie viele Builds gleichzeitig? Pro Konto sind nur zwei gleichzeitige Build-Jobs erlaubt. Weitere Jobs müssen warten.
  • Warum gibt es keinen Download-Button? Für den Download von GitHub-Action-Artefakten muss man in der Regel angemeldet sein.
  • Lange Wartezeit im öffentlichen Repository? Später soll man dieses Projekt forken und anhand der Hinweise auf der Seite im eigenen Repository bauen können. Damit entfällt die gemeinsame Warteschlange.

Projekt: WeiG-OpenWrt-AutoBuild

Danksagung