Man kann mit der Gluon Buildumgebung nicht nur fertige Images bauen, sondern auch einzelne Pakete. Wenn man an einzelnen Modulen in Gluon Veränderungen vorgenommen hat, kann das zum Testen der Änderungen ein sehr praktischer Weg sein. Der Buildprozess durchläuft dann nur die Schritte, die zur Aktualisierung dieses einen Pakets notwendig sind.
Diese Pakete sind im
IPKG-Format gepackt und können dann einzeln mit
opkg installiert oder geupdated werden.
Pakete bauen
Um ein Paket mit dem Namen
PAKETNAME für das
x86-generic-Target neu zu bauen, reichen folgende Befehle:
cd lede/
make package/PAKETNAME/compile # Inhalte des Pakets kompilieren
make package/PAKETNAME/install # Paket erstellen
make package/index # Paketindex für alle Pakete neu bauen
Die Pakete werden für das
x86-generic-Target dann unter
lede/bin/packages/i386_pentium4/ abgelegt.
Falls das Paket vorher noch nie gebaut wurde, muss man vor dem
compile folgenden Befehl absetzen, da der Buildprozess sonst das Paket nicht kennt:
make prepare
Manuelle Installation
- Das erstellte
PAKETNAME_VERSION_x86.ipk per SSH auf den Router kopieren
-
opkg install --force-reinstall PAKETNAME_VERSION_x86.ipk
Das
--force-reinstall ist notwendig, solange man dem Paket keine neue Versionsnummer gibt.
opkg würde sonst denken, das Paket sei aktuell.
HTTP Installation
Hierzu muss man auf der Build-Maschine erst einmal einen HTTP-Server starten. Python bietet eine ganz gute temporäre Lösung, wenn man keinen anderen HTTP-Server hat:
cd ./openwrt/staging_dir/packages/x86/
python2 -m SimpleHTTPServer
Nun sollte ein HTTP-Server auf der Maschine laufen, der auf Port 8000 erreichbar ist.
Als nächstes fügen wir einen Custom-Feed in die
opkg-Konfiguration auf dem Router ein. Hierzu berarbeiten wir die Datei
/etc/opkg/customfeeds.conf und fügen folgende Zeile ein:
src/gz own http://IP_DER_BUILDMASCHINE:8000/
Nun müssen wir nur noch das Paket installieren. Wichtig ist, dass man vor jedem neuen Installieren die Paketquellen aktualisiert, da sonst die Prüfsummen des Pakets nicht passen.
opkg update
opkg install --force-reinstall PAKETNAME
Das
--force-reinstall ist notwendig, solange man dem Paket keine neue Versionsnummer gibt.
opkg würde sonst denken, das Paket sei aktuell.