>>> Etienne Champetier <champetier.etienne@xxxxxxxxx> schrieb am 10.02.2022 um 12:47 in Nachricht <CAOdf3grZ2wUOkJ8Pzu-EM=+ZCKY4b6XK9dyZoh=QpX5HgHJfxA@xxxxxxxxxxxxxx>: > Le jeu. 10 févr. 2022 à 11:49, Ulrich Windl > <Ulrich.Windl@xxxxxxxxxxxxxxxxxxxx> a écrit : >> >> >>> Lennart Poettering <lennart@xxxxxxxxxxxxxx> schrieb am 10.02.2022 um 11:31 >> in >> Nachricht <YgTpdVFRgL+uQoY9@gardel-login>: >> > On Mi, 09.02.22 22:05, Etienne Champetier (champetier.etienne@xxxxxxxxx) >> > wrote: >> > >> >> Hello systemd hackers, >> >> >> >> After flashing the firmware of some pcie card I need to power cycle >> >> the server to finish the flashing process. >> >> For now I have a simple script in lib/systemd/system-shutdown/ running >> >> "ipmitool power cycle" but I would like to make sure it runs after >> >> other scripts like fwupd.shutdown or mdadm.shutdown >> >> >> >> Is there any way to have systemd cleanly power cycle my server instead >> >> of rebooting it ? >> > >> > What does "power cycle" entail that "reboot" doesnt? i.e. why doesn't >> > "systemctl reboot" suffice? >> >> My guess is that some smart cards with their own firmware and CPu do not >> reboot unless they are power cycled, so maybe if the firmware upgrade on the >> card does not force it to reboot, it my need a power cycle. >> >> > >> > /usr/lib/systemd/system-shutdown/ drop-ins are executed before the OS >> > transitions back into the initrd — the initrd will then detach the >> > root fs (i.e. undo what it attached at boot) and actually reboot. This >> > means if your command turns off the power source you should stick it >> > in the initrd's shutdown logic, and not into >> > /usr/lib/systemd/system-shutdown/. If you are using RHEL this means >> > into dracut. But adding it there is something to better discuss with >> > the dracut community than here. >> >> My guess is that it would be handled best by some special GRUB boot menu > entry >> (like "boot 'power cycle' once). > > This is pretty clean but it means going through "BIOS" init twice > which can be pretty long on physical servers Hi! Of course I have a better solution: Use an external server and just before restarting send a command to that server that will, after a carefully tuned delay, will trigger the IPMI power-cycle remotely ;-) I believe that it's almost impossible to trigger a power cycle through IPMI while also doing a clean shutdown/reboot, unless the the IPMI features a delayed execution itself. Regards, Ulrich > > Etienne > >> Regards, >> Ulrich >> >> > >> > Lennart >> > >> > -- >> > Lennart Poettering, Berlin