<div dir="ltr">Thanks Lennart. Will analyze these options and get back to you.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Sep 9, 2024 at 9:54 PM Lennart Poettering <<a href="mailto:lennart@poettering.net">lennart@poettering.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Mo, 09.09.24 20:15, Srinivas Naik (<a href="mailto:nivasnaik@gmail.com" target="_blank">nivasnaik@gmail.com</a>) wrote:<br>
<br>
> Hello Everyone,<br>
> I am exploring systemd-boot counting for HLOS roll back. I am new to<br>
> systemd-boot. As part of boot counting systemd-boot will decrement the<br>
> "tries-left" counter of the selected configuration and tries to boot with<br>
> that.<br>
> *For example **4.14.11-300.fc27.x86_64+2-1.conf*.<br>
> When the device successfully boots up, systemd-bless-boot.service is<br>
> expected to mark this entry as good.<br>
> *For example 4.14.11-300.fc27.x86_64.conf.*<br>
> But if for some reason, the HLOS boot up fails, is it expected to reboot<br>
> the device manually so that the next retry happens? Or is there a service<br>
> similar to systemd-bless-boot.service which reboots the device when the<br>
> boot up fails?<br>
<br>
Well, what reboots the machine on failure really depends on the<br>
subsystem you want to cover.<br>
<br>
Many freezes cannot be caught at all. Kernel crashes might be<br>
something you can catch via panic=5 (or similar) on the kernel<br>
cmdline. If you want to put a timeout on the boot process, then add<br>
something like this to<br>
/etc/systemd/system/multi-user.target.d/50-job-timeout.conf:<br>
<br>
[Unit]<br>
JobTimeoutSec=5min<br>
JobTimeoutAction=reboot-force<br>
<br>
And then there is the hw watchdog you can use via RuntimeWatchdogSec=<br>
in /etc/systemd/system.conf, which can catch some more failures.<br>
<br>
If you do all three you should have quite OK coverage.<br>
<br>
Lennart<br>
<br>
--<br>
Lennart Poettering, Berlin<br>
</blockquote></div>