[OpenWrt-Devel] Sysupgrade and Failed to kill all processes

Michael Jones mike at meshplusplus.com
Wed May 13 13:59:43 EDT 2020


On Wed, May 13, 2020 at 12:29 PM Michael Jones <mike at meshplusplus.com>
wrote:

>
>
> On Wed, May 13, 2020 at 3:58 AM Jo-Philipp Wich <jo at mein.io> wrote:
>
>> Hi,
>>
>>
> Stuff like umounting external disks, fsync / swapoff etc. come to mind as
>> well
>> which should be doable at this point.
>>
>>
>>
> Right, that's also feasible.
>
> In fact I don't see any code at all for unmounting existing filesystem
> mounts. Thanks for pointing that out.
>


I think that it's also reasonable to have /sbin/upgraded, in its role as
PID1, have some kind of safety valve on when the upgrade has failed.

E.g. if /lib/upgrade/script2 has returned, at all, the system needs to
reboot, because at this point /sbin/upgraded should be the only process
running.

if /lib/upgrade/script2 has not returned after 1 hour, there's no chance
that the upgrade will succeed, so reboot.

In both situations, the board may be in a bad state. But there's nothing
that can be done.

/sbin/upgraded offers the user no CLI interactions at all, so there's no
recovery actions that could be taken even if there was a UART / Serial /
VGA + Keyboard connection to the board to allow user interaction.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.infradead.org/pipermail/openwrt-devel/attachments/20200513/5d9bbfd9/attachment.htm>
-------------- next part --------------
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


More information about the openwrt-devel mailing list