Firmware bauen - Hilfe!!!

Tim Niemeyer tim at tn-x.org
Sa Feb 27 18:25:30 CET 2016


Moin Robert

Am Samstag, den 27.02.2016, 16:29 +0100 schrieb Robert:
> Hallo Leute,
> 
> brauch mal eure Hilfe beim Firmwarebau.
> alles was im Wiki steht hat auch geklappt, Dateien in etc ändern,
Was ändern?

> Patchen usw.
Was Patchen?

Was für eine Anleitung hast du da?

> Wie mach ich daraus jetzt die Beta? Alle Patches einspielen? Welche? Ich
> komm nicht weiter.
Also der aktuelle Entwicklungsstand liegt aktuell hier:
https://github.com/FreifunkFranken/firmware/commits/master

Da kannst du auch sehen welche Entwicklungen zuletzt aufgenommen wurden.

Wenn ich nichts übersehen habe ich lediglich ein Patch von mir zur Zeit
noch nicht applied und wartet auf ein Review.

Das letzte beta Relase findest du hier:
https://github.com/FreifunkFranken/firmware/commits/20160213-beta

Da du von Patches applien schreibst, vermute ich, dass du den master und
nicht die Beta haben willst.

> Das andere ist, wie kann man zusätzliche Pakete oder Sourcen aufnehmen.
> Konkret den Tunneldigger-client von hier:
> 
> git://github.com/wlanslovenija/tunneldigger.git
> 
> Kann man das alles irgend wo nachlesen? Ich hab nix gefunden.
Ne, ich denke: Lack of Documentation. Bitte hier einfügen:
https://wiki.freifunk-franken.de/w/FirmwareEntwicklung

Ich würde jetzt so vorgehen:

* gucken was das is:
https://github.com/wlanslovenija/tunneldigger

* Oha.. Da gibts Doku:
http://tunneldigger.readthedocs.org/en/latest/

* Hm, da könnte unter "Client installation" stehen wie man das
installiert:
http://tunneldigger.readthedocs.org/en/latest/client.html#openwrt-package

* *große Augen* .. Prima. Es gibt ein OpenWRT Package!

* Kurz vor Freude in die Luft springen

* buildscript anpassen

Ich füge dort den OpenWRT Feed von WlanSlovanija hinzu, weil laut der
Doku oben da drin das Tunneldigger OpenWRT Package liegt:
WLANSLOVENIJA=(wlanslovenija$
               https://github.com/wlanslovenija/firmware-packages-opkg$
               fec592e0540ef883bc8b27b77e7ff45d93ed3f24)$
Dann sage ich, dass wir von diesem Feed nur dieses eine Package
benötigen:
WLANSLOVENIJA_PKGS="tunneldigger"$
Zuletzt aktiviere ich den Feed:
FEEDS=(OPENWRT ROUTING BATMAN_ADV WLANSLOVENIJA FFF)$

* Danach muss ich natürlich meine komplette Buildumgebung
neuaufbauen :'( weil sich die Quellen ja ändern. Zum Glück kann das das
buildscript für machen:
./buildscript prepare

Nun möchte ich wissen, ob das in unserem OpenWRT drin ist:
./buildscript config openwrt

* Ui, viele Sachen.. Ich geb einfach ein Slash ('/') ein und kann damit
nach "tunneldigger" suchen. In der Anzeige wird mir sogar gezeigt wo ich
das finde. In dem Fall hier: Location: -> Network
Also .. Exit, danach ins Network Menü. Dann mit dem Curser auf
Tunneldigger und zweimal die Leertaste drücken, damit da ein '*' steht.
Sternchen bedeutet: Wird fest eincompiled. Das Mmmm bedeutet: Wird als
nachinstallierbares OPKG erzeugt.

* Danach paar mal Exit und Speichern

* das buildscript hatte am Anfang die OpenWRT config zurecht gebastelt.
Nun möchte es wissen, ob die neue Config auch verwendet werden soll. ->
Ja, natürlich! Also 'y'..

* Gucken was passiert ist..
git status

* Ui da tauchen nun zwei Sachen auf:
 a) geändert:       bsp/ar71xx/.config
 b) Unbeobachtete Dateien: src/packages/wlanslovenija/

b) nervt nur rum, also wollen wir das ignorieren. Dazu tragen wir den
Pfad in die .gitignore Datei ein:
echo 'src/packages/wlanslovenija' >> .gitignore

a) ist spannender. Wollen wir sehen:
git diff bsp/ar71xx/.config
Wir sehen, dass Tunneldigger angegangen ist und noch dessen
Abhängigkeiten.

* Coool.. Dann kann ich jetzt bauen?

Joar, für einen ersten Schuss sollte es reichen.

Was danach noch zu tun ist:
* Tunneldigger experimentell auf dem Knoten einrichten/konfigurieren
* Ein src/packages/fff/fff-tunneldigger Package schreiben, was diese
Konfiguration erledigen kann.
* fff-tunneldigger sollte von tunneldigger abhängig sein
* Wenn tunneldigger dann per default aktiviert sein soll, muss das Paket
fff von fff-tunneldigger abhängig gemacht werden.

Weitere Anmerkungen, die du bitte mit aufnimmst, während du diese Mails
ins Wiki überführst könnten sein:
* In diesem Fall lief es einfach und glatt durch. Oft haben die Pakete
aber noch Abhängigkeiten zu anderen, die müssten dann ggfs auch
hinzugefügt werden.


> Eigentlich wollen Max und ich uns "nur" mal das L2TP anschauen, und so
> kommt man von Einem zum  Andern.

In dem Fall könnt ihr einfach die Patches, die unmittelbar nach dieser
Mail auf der Mailingliste landen verwenden. Dazu die Patch E-Mails
einfach komplett als mbox speichern und mit git am <path/to/mail.mbox>
anwenden. (bei Thunderbird scheint das eml und nicht mbox zu heißen)

Tim

> viele Grüße
> Robert
> 
> 
> 
> 

-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 473 bytes
Beschreibung: This is a digitally signed message part
URL         : <http://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20160227/e55b2844/attachment-0002.sig>


Mehr Informationen über die Mailingliste franken-dev