[ConsoleKit] extend ConsoleKit to support fast reboot on OpenSolaris x86

Jörg Barfurth Joerg.Barfurth at Sun.COM
Wed Sep 9 08:58:22 PDT 2009


David Zeuthen schrieb:

>>> Why would some user of CK (e.g. a program) ever want select the slow
>>> method?
>>>
>>> I think the point I was trying to make is that you only want 'slow' if
>>> you are trying to debug some oddball problem. Or if your hardware
>>> broken (in which case you edit a configuration file that reboot(8)
>>> will read so it always select 'slow').
>> I am not sure how fast/slow reboot works on Linux, but on Solaris they
>> work as follows:
>>
>> - Fast reboot does not actually reboot the machine, it just reboots the
>>  Solaris kernel.  So if you have a multi-OS machine, you do not go back
>>  to the GRUB menu to select a different OS to boot into.  This reboot
>>  is much faster than a slow reboot.
>> - Slow reboot reboots the machine so you go back to the GRUB menu so
>>  you can select a different OS to boot into.
>>
>> I'd say about 75% of the time I want a fast reboot because I just want
>> to reboot my machine into my Solaris kernel and I want it to be fast.
>>
>> However, there are plenty of times that I also want to reboot into a
>> different OS on my machine.  Without having the choice, I'd have to
>> shut down, and then power up my machine to get back to the GRUB menu,
>> which is annoying.  Personally, I would prefer to be able to choose in
>> the GUI.
> 
> This assumes that it's a good idea to use GRUB UI to select what OS to
> start. Which I think is wrong. It also assumes that people has
> multiple OSes on a box which, for non-developers, I also think is
> wrong....
> 

If you look back at Jedy's original mail, he mentions that a next step 
would be offer a way to select a 'boot environment' to boot into.

'Boot environments' usually are differently modified clones of the same 
OS, which you can use for safer updating/patching, but also for other 
things. Even non-developers use them at times.

But even without this multi-boot is still quite common for end-user 
machines that run Linux or Solaris at all.

> Instead, as I tried to explain, you'd configure this from within the
> OS in a "Startup Disk" preference capplet (which is why having a
> button called "Startup Disk" in the shutdown dialog might be useful).

Yes, you can select the next active boot environment or a fast vs. slow 
preference for the next reboot from within the running OS, if you have 
the necessary authorization.

But that means that when you trigger a reboot through CK, you may have 
no idea what that will end up doing. If we offer a DBus API for reboot 
or shutdown (whether CK is the appropriate place for such an API is a 
different discussion), shouldn't this API also offer control over what 
that action will actually do. Or should such settings be 'tunnelled' 
past CK in an entirely platform-specific manner.

And the original query was also concerned with offering the choice from 
GDM when not logged in (assuming the system is configured to give a GDM 
user that authorization).

Forcing users to log in (what do you do, if the current BE is 
misconfigured and does not let you log in?) to be able to boot into a 
different BE or OS from there is very onerous for those that need it.

> Or, in lieu of such UI, you'd edit /etc/grub.conf. And reboot(8) would
> only do fast reboot if the grub.conf (or whatever) defaults to a
> kernel from the OS you are currently running.
> 

I'm not user such heuristics are a sane approach. In any case the 
Solaris feature allows configuring a system default fast/cold and a 
one-time override, so reboot(1M) actually has options to select 
fast/cold reboot explicitly. But using it requires going to a shell and 
knowing how to run things on the shell with privileges.

> Note that in Fedora, we don't _even_ show GRUB anymore in the default
> install (the user has to hold down e.g. the SHIFT key to get to it).
> 

The point is to give the user a way to get to it when he needs it. 
Without having to jump through hoops.

- Jörg

-- 
Joerg Barfurth           Phone: +49 40 23646662
Software Engineer        mailto:joerg.barfurth at sun.com
Desktop Technology
Thin Client Software     http://www.sun.com/software/sunray/
Sun Microsystems GmbH    http://www.sun.com/software/javadesktopsystem/

Sitz der Gesellschaft:
Sun Microsystems GmbH, Sonnenallee 1, D-85551 Kirchheim-Heimstetten
Amtsgericht Muenchen: HRB 161028
Geschaeftsfuehrer: Thomas Schroeder, Wolfgang Engels, Wolf Frenkel
Vorsitzender des Aufsichtsrates: Martin Haering



More information about the ConsoleKit mailing list