On 17 March 2015 at 12:12, Jan Janssen <medhe...@web.de> wrote: > Dimitri John Ledkov <dimitri.j.ledkov <at> intel.com> writes: > >> Both gummyboot and grub-efi have a menu option to reboot into >> firmware, is that not enough? Why do we need to have it from userspace >> / the booted system? >> > > There can be plenty of reasons why the firmware won't provide you with an > option. One of them being a FastBoot implementation that doesn't initialize > USB input devices. And also, if one were to directly boot from the efi stub > without boot loader (and not getting 5000€ in the process). > > But this is primarily a reason of convenience. If your bootloader doesn't > give you a boot to firmware option, or your bootloader is being annoying and > boots to your OS faster than you can interface with it, you're currently out > of luck. I'm not too sure, but grub-efi probably even requires you to > actually specifically create the entry in the configuration; and touching > the grub config is just plain annoying. Especially if you just want that > entry for the one time EFI setup every once in a blue moon. > > Also, the fact that there have been people asking questions about how to get > to the EFI/BIOS has always been there. With this you can just tell them to > "systemctl --firmware reboot" on any modern computer and be done with it.
Then wouldn't we want to support it generically in src/core/shutdown.c / systemctl halt_now and expose it via logind API somehow as well? In some ways it is similar to REBOOT_PARAM_FILE handling for the SYS_reboot syscall, e.g. on Nexus devices $ reboot bootloader -> reboots one into firmware (there is also usually "recovery" reboot argument support). This efi reboot is useful functionality, but if it's only hidden inside systemctl invocation, it would hard to integrate via e.g. DBus api calls from GUI application. Can this be piggybacked on to reboot command arg? $ systemctl reboot efi-firmware same way that $ systemctl reboot bootloader is already supported (on platforms that support that arg) Looking at Logind1 Api Reboot() it does not accept string argument there. RebootWithArg() or SetRebootParam() calls would be nice as well. -- Regards, Dimitri. Open Source Technology Center Intel Corporation (UK) Ltd. - Co. Reg. #1134945 - Pipers Way, Swindon SN3 1RJ. _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel