Firmware Build

Aus Freifunk Köln, Bonn und Umgebung
(Weitergeleitet von Entwicklung)
Wechseln zu: Navigation, Suche

Kurzzusammenfassung: Dartellung des aktuellen Builds. Hinweise auf Probleme und offene Todos werden aufgelistet

Inhaltsverzeichnis

Einleitung

Die Freifunk-Firmware-KBU (FFF-KBU) ist ein Derivat der Lübecker-Freifunk-Firmware (LFF-Firmware). Da LFF eine identische Netzarchitektur verwendet, kann die Software (inkl. Konfiguration) weitesgehend übernommen werden - die Unterschiede der config-Dateien sind minimal (z.B. SSID, VPN-Server). Der Build erfolgt analog zur Lübecker-Freifunk-Firmware - vgl. Firmware-Freifunk-Lübeck.

Aktueller Build-Prozess

Der Build der Lübecker Firmware wird unter http://krtek.asta.uni-luebeck.de/meutewiki/Freifunk/L%C3%BCbeck-Freifunk-Router/L%C3%BCbeck-Freifunk-Firmware/Build beschrieben. Für FFF-KBU gibt es die folgenden Abweichungen:

git clone --recursive git://github.com/yanosz/lff.git

Identifizierte Probleme

Im aktuellen Setup existieren die folgenden Probleme:

  1. Die Build-Konfiguration (.config-Datei) erfolgt gerätespezifisch.
    1. Wird im OpenWRT-Makefile-Editor (make menuconfig) eine andere Plattform gewählt, so gehen diese Einstellungen verloren.
    2. Die .config-Dateien verschiedenen Gerätetypen unterscheiden sich naturgemäß in mehreren Punkten. Die Konfiguration ist nicht wiederverwendbar, enthält aber viele Gemeinsamkeiten (zu nutzende Pakete / nicht benötigte Pakete).
  2. Die Git-Repo-Organisation der LFF-Firmware macht ein Fork des OpenWRT-Repos erforderlich. FFF-KBU forked das LFF-Repo, um ein eigenes submodul (lffenv) einbinden zu können. Push / Pull ist jedoch nicht via github (o.ä.) abgebildet sondern muss per Hand erfolgen. Dies führt u.a. zu den folgenden Problemen:
    1. FFF-KBU erhält Patches aus OpenWRT erst dann, wenn sie in LFF auftauchen oder "per Hand" eingepflegt werden.
    2. Stirbt LFF so bricht der Upstream für FFF-KBU praktisch weg.
    3. OpenWRT tagged keine rc-"releases" des Backfire-branches. Somit ist nicht offensichtlich, auf Basis welchen OpenWRT-Releases Build von FFF-KBU oder LFF Build erfolgt und welche Issues aus OpenWRT kommen.
  3. Das LFF-Repository-Layout erfordert einen Branch pro Gerät. Dies erschwert den Support neuer Geräte.

Planung FFF-KBU

Vision

Vision für FFF-KBU ist ein automatisierter Build aller unterstützter Plattformen. Die Erstellung eines OpenWRT-/LFF-Forks soll nicht mehr erforderlich sein. Neue Plattformen (Gerätetypen) aus OpenWRT sollen einfach unterstützt werden können, sofern die Hardware dies erlaubt (z.B. wlan-Treiber liefert support für die geforderten Betriebsmodi)

Arbeitsschritte

  1. Paket-Prototyp: Pakettierung der Konfiguration (d.h. alle Dateien aus git://github.com/yanosz/lffenv.git) für den TP-Link 1043ND ("as is") - testweise Einbindung in OpenWRT 10.03.1 Das Paket soll mindestens auf x86 und ar71xx (1043ND-flavor) nutzbar sein - denkbar ist auch ein build für alle Plattformen.
  2. Abstimmung der Paketabhängigkeiten: Einbindung beim Build in "Vanilla OpenWRT" (für 1043ND) soll alle benötigten Pakete nachziehen (prio2: Support für nachträgliche Installation). Erstellung einer angepassten .config-Datei soll entfallen
  3. Imagebuilder-Support: Für 1043ND soll das Paket bei der Nutzung des Image-Builders einbindbar sein.
  4. Abstimmung mit LFF (und Oldenburg?): Gemeinsames Git-Repo für Configs sinnvoll? (github?)
  5. Konsolidierung der config zum Support weiterer Plattformen (x86, etc.). Insb: Keine Notwendigkeit dezidierter Branches, getrennter Paketquellen, etc.
  6. Bei Bedarf: Ticket bei OpenWRT öffnen: Releases (auch von RC) bitte tag'en

Wenn diese Punkte erledigt sind, beschränkt sich der Build-Prozess der Firmware auf die Nutzung des Images-Builders. Hierfür haben wir bereits ein Makefile, das den Image-Builder ansteuert um Firmware für vers. Plattformen zu bauen - die Vision wäre dann umgesetzt.

Sonstiges

Meine Werkzeuge
Namensräume
Varianten
Aktionen
Wir über uns
Netz und Technik
Kontakt
Internes
Werkzeuge