ffgt-preserve-mods
==================
Provide a framework to automatically re-do changes to
e. g. the network setup of a Gluon node (like moving
the LAN ports to the br-wan instead of br-client).
/lib/gluon/ffgt-preserve-mods.sh
--------------------------------
If existing and executable, it will be executed after
*every* firmware upgrade. You MUST ensure that this
skript will not cause errors nor behaves badly if run
multiple times.
This file is saved across firmware upgrades. Please keep
it small!
Sprich: man muß ein Shellskript erstellen, welches guckt, ob die eigenen Änderungen drin sind und falls nicht, diese nachzieht. Testversion in nächstem Build.
OS: 17.01-SNAPSHOT, r3981+104-184fe1 FW: 1.0.1~8
HW: TP-Link TL-WR841N/ND v9
root@33332-4830-776a:~# cd /lib/gluon/
root@33332-4830-776a:/lib/gluon# mv ffgt-preserve-mods.sh-example ffgt-preserve-mods.sh
root@33332-4830-776a:/lib/gluon# vi ffgt-preserve-mods.sh
root@33332-4830-776a:/lib/gluon# cat ffgt-preserve-mods.sh
#!/bin/sh
# Rename this to /lib/gluon/ffgt-preserve-mods.sh and add commands;
# ENSURE that this script does NOT throw errors!
date >/tmp/boottime
exit 0
root@33332-4830-776a:/lib/gluon# cd /tmp/
root@33332-4830-776a:/tmp# wget http://firmware.4830.org/rawhide/sysupgrade/gluon-4830-1.0.1~9-tp-link-tl-wr841n-nd-v9-sysupgrade.bin
Downloading 'http://firmware.4830.org/rawhide/sysupgrade/gluon-4830-1.0.1~9-tp-link-tl-wr841n-nd-v9-sysupgrade.bin'
Connecting to 2a06:e881:1700:1:400:c0ff:fefb:e216:80
Writing to 'gluon-4830-1.0.1~9-tp-link-tl-wr841n-nd-v9-sysupgrade.bin'
gluon-4830-1.0.1~9-t 100% |*******************************| 3392k 0:00:00 ETA
Download completed (3473412 bytes)
root@33332-4830-776a:/tmp# sysupgrade -v gluon-4830-1.0.1~9-tp-link-tl-wr841n-nd-v9-sysupgrade.bin
Image metadata not found
Saving config files...
etc/config/alfred
etc/config/autoupdater
etc/config/autoupdater-wifi-fallback
[…]
lib/gluon/core/sysconfig/wan_ifname
lib/gluon/ffgt-preserve-mods.sh
killall: watchdog: no process killed
Commencing upgrade. All shell sessions will be closed now.
Connection to 2001:bf7:1310:11:ea94:f6ff:fea4:776a closed by remote host.
Connection to 2001:bf7:1310:11:ea94:f6ff:fea4:776a closed.
Stunde der Wahrheit: hat das Skript überlebt UND wurde es ausgeführt?
Das Example-Skript kommt immer (neu) mit, aber wie man sieht, hat das angelegte und modifizierte /lib/gluon/ffgt-preserve-mods.sh »überlebt« und wurde ausgeführt
Möglichst auf Kommentare und auch überflüssige Leerzeichen/-zeilen verzichten, auf 841ern und anderen 4/32-Kisten ist der Platz einfach sehr begrenzt! Ich werde auf /lib/gluon/ffgt-preserve-mods.sh-example verzichten und das ins Readme verlagern (auf github ist mehr Platz ;)).
Chakka!
Es funktioniert. https://wiki.freifunk.net/Konsole hat alle nötigen Infos, damit ich nach einem Update die Ports umbiegen kann. Autoupdate habe ich auch wieder aktiviert (bin von der 1.1.2-7 auf die 1.1.2-10 gegangen).
Cool was man alles machen kann.
Meine ffgt-preserve-mods.sh sieht so aus
#!/bin/sh
# Rename this to /lib/gluon/ffgt-preserve-mods.sh and add commands;
# ENSURE that this script does NOT throw errors!
uci del_list network.client.ifname=eth0
uci add_list network.wan.ifname=eth0
uci commit
/etc/init.d/network restart
exit 0