Gluon webcompiler für unterschiedliche FF-Communities im Stil von https://firmware-selector.openwrt.org/

https://firmware-selector.openwrt.org/ ist ziemlich praktisch geworden. Unter „Customize installed packages and/or first boot script“ können Leute Pakete einbauen/entfernen und vieles mehr. Nicht selten habe ich mir ein Image von einer Freifunk community gewünscht mit ein zusätzliches Paket. opkg funktioniert in der Regel nicht bei den freifunk images.
Regelmäßig würde ich auch gerne aktuelles Gluon ausprobieren, aber dies ist nicht direkt verfügbar in manche communities.

https://firmware-selector.openwrt.org mit oben rechts statt der OpenWrt Version die Gluon Version und daneben ein zweites DropDown worin die community ausgewählt werden könnte wäre wirklich extrem praktisch und würde sehr viel möglich machen. Manche Communities würden sich vermutlich sogar darüber freuen nicht mehr selbst die Images bauen zu müssen und würden einfach auf diesen gluon-buildservice verlinken. So etwas könnte viele Ressourcen sparen während es gleichzeitig viele weitere Möglichkeiten eröffnet.

1 Like

Prinzipiell eine super Idee. Was dem vermutlich technisch leider noch etwas im Wege stehen würde: Die verschiedenen extra Patches im Gluon:

Für die müsste dann idealerweise jeweils eine upstreambare Lösung gefunden werden. Oder einen anderen Weg finden, um die forks mit zu bauen.

Schwierig wird’s jedoch z.B. bei dem Linux kernel patch von mir für die Linux bridge: https://github.com/freifunk-gluon/gluon/blob/master/patches/openwrt/0005-kernel-bridge-Implement-MLD-Querier-wake-up-calls-Android-bug-workaround.patch. Hab’s beim Linux kernel upstream versucht, wurde aber nachvollziehbarerweise abgelehnt, weil zu großer Hack/Workaround. Die saubere Lösung ist nun hoffentlich in Android nun drin, das wird aber Jahre dauern, bis dass 99% aller Android nutzer dann auch haben. Alternative Vorschläge von Linux Maintainern war, das in netfilter/ebtables zu implementieren. Das ist aber auch nochmal viel Aufwand…

Wäre da aber durchaus an irgendeiner Lösung interessiert, um dann Gluon vll. irgendwann auch mal in einem Container mit einem Standard Linux Kernel benutzen zu können.


Ansonsten sind Gluon Pakete „an sich“ alles auch OpenWrt Pakete. Was dem vll. noch im Weg stehen könnte: Das die Gluon Pakete/Makefiles i.d.R. gluon.mk includen: https://github.com/freifunk-gluon/gluon/blob/master/package/gluon.mk. Und das Gluon „Features“ handling: https://github.com/freifunk-gluon/gluon/blob/master/package/features

Müsste mal jemand rumprobieren, ob man das irgendwie anders lösen könnte bzw. was man davon vll. bei OpenWrt upstreamen könnte. Damit Gluon dann über den OpenWrt ImageBuilder baubar wäre (gehe mal davon aus, dass der Firmware Selector für die Magie zum entfernen/hinzufügen von Paketen den OpenWrt ImageBuilder im Hintergrund benutzt?).

Was man auch schauen müsste, weil viele Pakete beim Bau von der site.conf abhängen (die dann später im gluon-site Package landet), ob man da was ändern/lösen müsste.


Tickets zum Thema ImageBuilder + Gluon: https://github.com/search?q=repo%3Afreifunk-gluon%2Fgluon+imagebuilder&type=issues

1 Like

Freut mich, dass es gefällt.
Der „Hintergrund“ der Webseite kann natürlich auch etwas aufwendiger gestaltet sein. Es muss nicht alles über ImageBuilder laufen. Es kann im Hintergrund auch der Linux Kernel jedes mal neu gebaut werden oder sonstiges. Die Serverressourcen die nun allgemein zur Verfügung stehen sind immer extremer geworden. Selbst wenn eine Community eine bestimmte GCC Version nutzen möchte, wäre dies auch lösbar.

Ich erwähne dies extra dazu, weil oftmals gedanklich eine Blockade entsteht weil angenommen wird, dass wenn die upstream etwas nicht annehmen, dass dann downstream etwas nicht möglich sei. Stattdessen kann wenn solch ein (aufwendigereres) Setup fertig ist und läuft Upstream immer noch mit Aufwandreduktion argumentiert wird, eigene Patches nicht ewig lange managen zu müssen und an neue Kernerversionen anpassen zu müssen.
Und ja, natürlich gilt dennoch immer die Grundlage „upstream first“ :slightly_smiling_face:

Hast du einen Prototypen?

5 Likes