Hi Philipp, > Yes, good point. But then we should rewrite/redesign the whole update > process > including the sysupgrade binary in my opinion. For example writing a > small library and a daemon > which does the updates for us. A daemon which executes a sysupgrade tool > doesn't > make more sense for me as the mountd solution.
I'm not sure why a complete re-design of the sysupgrade would be needed in this particular case. At the end you only want to trigger the upgrade when a stick is inserted, and hotplug can do that. If the following (untested and unfinished) script is stored in /etc/hotplug.d/mount/99-autoupgrade, it would perform the upgrade. #/bin/sh if [ "${ACTION}" == "add" ]; then if [[ "$(uci get -q autoupgrade.usbdisk.enabled)" == "1" ]]; then filename="$(uci get -q mountd.mountd.path)${NAME}/$(uci get -q autoupgrade.usbdisk.filename)" [[ ! -f "$filename" ]] && exit uci get -q autoupgrade.usbdisk.delay >/dev/null && delay="-d $(uci get -q autoupgrade.usbdisk.delay)" [[ "$(uci get -q autoupgrade.usbdisk.save_config)" == "1" ]] && backup="-c" || backup="-n" [[ "$(uci get -q autoupgrade.usbdisk.preserve_part)" = "1" ]] && preserve_partition="-p" logger -t hotplug " Starting upgrade with /sbin/sysupgrade $delay $backup $preserve_partition $filename" /sbin/sysupgrade $delay $backup $preserve_partition $filename # TODO find a good way to not execute this at every boot ... fi fi The uci config is the same as what you described in your patch (just replace mountd by autoupgrade). This is a proof of concept. You may argue about doing the upgrade from within a hotplug script. I indeed would be cleaner to have a separate daemon, especially if they are several sources for the upgrade (and not only the usb). Olivier _______________________________________________ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev