Habt ihr keine Lust es bei euch lokal auf eurem Rechner selbst zu bauen, so soll es auch anders gehen ... Viel Spaß von Prisrak!
Da make menuconfig eine interaktive Konsole benötigt, müssen Sie die Konfigurationsdatei (.config) einmalig lokal erstellen, bevor Sie sie zu Git hochladen.
Es wurde mit Gemini erstellt
Schritt-für-Schritt-Anleitung: Freetz-Build mit GitHub Actions
Phase 1: Lokale Vorbereitung und
Da make menuconfig eine interaktive Konsole benötigt, müssen Sie die Konfigurationsdatei (.config) einmalig lokal erstellen, bevor Sie sie zu Git hochladen.
- GitHub-Konto: Stellen Sie sicher, dass Sie ein kostenloses GitHub-Konto besitzen.
- Freetz-NG Forken: Gehen Sie zum offiziellen Freetz-NG Repository (z.B.
Sie müssen registriert sein, um Links zu sehen.) und klicken Sie oben rechts auf "Fork", um eine eigene Kopie in Ihrem Konto zu erstellen.
- Lokal Klonen: Klonen Sie Ihren geforkten Repository-Zweig auf Ihren PC:
`git cloneSie müssen registriert sein, um Links zu sehen.
cd freetz-ng`
- menuconfig ausführen: Nutzen Sie eine Linux-Umgebung (z.B. WSL auf Windows, eine VM oder ein
Sie müssen registriert sein, um Links zu sehen.), um die interaktive Konfiguration zu starten:
`# Im Freetz-Verzeichnis, nachdem die Voraussetzungen erfüllt sind:
make menuconfig` - Speichern: Konfigurieren Sie die Fritz!Box, die Firmware-Version und die gewünschten Pakete. Speichern Sie die Konfiguration und verlassen Sie das Menü. Dadurch wird die Datei .config im Hauptverzeichnis erstellt.
Phase 2: Konfiguration hochladen (Upload der .config
- .config kopieren: Stellen Sie sicher, dass die versteckte Datei (.config) in Ihrem lokalen freetz-ng-Verzeichnis liegt.
- Commit und Push: Fügen Sie die Konfigurationsdatei zu Git hinzu, committen Sie sie und übertragen Sie sie auf Ihren GitHub-Fork:
`git add .config
git commit -m "Meine finale Freetz Konfiguration (.config)"
git push origin master # Oder den Namen Ihres Hauptzweigs`
Phase 3: GitHub Action Workflow einrichten
Dieser YAML-Code ist das Herzstück. Er definiert, dass GitHub einen Linux-Server startet, die Freetz-Quellen herunterlädt, Ihre .config verwendet und dann das Image baut.- Workflow-Datei erstellen: Gehen Sie in Ihrem GitHub-Repository zum Tab "Actions".
- Klicken Sie auf "New workflow" $\rightarrow$ "set up a workflow yourself" oder navigieren Sie zu: .github/workflows/ und erstellen Sie die Datei freetz_build.yml.
- Code einfügen: Kopieren Sie den folgenden Code in die Datei freetz_build.yml und speichern Sie ihn mit "Commit new file".
Code:
name: Freetz Build
on:
# Löst den Workflow bei jedem Push auf den 'main'-Branch aus
push:
branches:
- main
# Ermöglicht auch das manuelle Starten über die GitHub-Oberfläche
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest # Nutzt den kostenlosen Linux-Runner
steps:
- name: Checkout Code
uses: actions/checkout@v4
with:
# Freetz benötigt oft Submodule
submodules: true
- name: Build Freetz Image
run: |
# Notwendige Build-Werkzeuge installieren
sudo apt-get update
sudo apt-get install -y build-essential subversion git
# Freetz-Quellen (Trunk) herunterladen
svn co https://svn.freetz.org/trunk freetz-trunk
cd freetz-trunk
# Ihre hochgeladene .config-Datei verwenden
cp ../.config .
# Build-Prozess starten (V=0 reduziert die Ausgabe)
make V=0
- name: Upload Freetz Image
uses: actions/upload-artifact@v4
with:
name: freetz-image-download
# Das fertige Image liegt unter freetz-trunk/images/
path: freetz-trunk/images/*.image
# Bild wird 7 Tage gespeichert
retention-days: 7
Phase 4: Build starten und Firmware herunterladen
- Build starten:
- Wenn Sie den Workflow gerade gespeichert haben (Commit), sollte er automatisch starten.
- Alternativ: Gehen Sie zum Tab "Actions" $\rightarrow$ Wählen Sie "Freetz Build" $\rightarrow$ Klicken Sie auf "Run workflow" (rechts) $\rightarrow$ "Run workflow".
- Warten: Der Build-Vorgang beginnt nun und kann je nach gewählten Optionen 15 bis 60 Minuten dauern. Sie können den Fortschritt live unter dem Tab "Actions" verfolgen.
- Image herunterladen:
- Sobald der Job den Status "Success" (Erfolg) anzeigt, klicken Sie auf den beendeten Workflow-Lauf.
- Scrollen Sie nach unten zum Abschnitt "Artifacts".
- Klicken Sie auf freetz-image-download, um ein ZIP-Archiv herunterzuladen. Dieses Archiv enthält Ihre fertig kompilierte Firmware-Datei (.image oder .bin).
Es wurde mit Gemini erstellt
