Template Version: @(#)onepager.txt 1.35 07/11/07 SMI Copyright 2007 Sun Microsystems 1. Introduction 1.1. Project/Component Working Name: Fast Reboot and BE Switching support of GNOME restart dialog 1.2. Name of Document Author/Supplier: Jedy Wang 1.3. Date of This Document: 10/22/09 2. Background In Solaris gnome desktop, a universal restart dialog is provided in the following scenarios: - Clicking the "Shut Down..." button in launch menu of gnome-panel - Pressing the power button - Run "gnome-session-save --shutdown-dialog" in a terminal Recently, Fast Reboot support (PSARC/2008/382) has been integrated into Solaris. Also, some customers want the ability to choose the BE when restarting the system. So the GNOME restart dialog should be updated to support these 2 features. 3. Technical Description: 3.1. Details: Currently, the GNOME restart dialog knows nothing about BE and Fast Reboot support. When the user clicks the "Restart" button, the system will be restarted into the default BE according to the config/fastreboot_default property of the system/boot-config:default service. Users have to use svccfg to change the value of the property or use reboot with proper arguments to do fast reboot or cold reboot. They can not select BE through the GUI of the GNOME restart dialog either. If they want to restart into another BE, they have to do one of the following: - Use either bootadm or beadm to change the default BE - Do a cold reboot and select the BE they want to boot into in GRUB menu After this project's integration, 2 D-Bus methods will be added into ConsoleKit. The first one is used to retrieve available BEs. And the second one is used to do a fast or cold reboot to a specific BE. The reason these 2 method are integrated into ConsoleKit, but not HAL is that HAL has been deprecated by the community. This change proposal has been posted to the ConsoleKit community mailing list and we will work with the upstream community to integrate this feature into ConsoleKit. The GUI of the GNOME restart dialog will also be updated. A new checkbox will be provided. Users can use the check box to select fast reboot or cold reboot. When fast reboot or cold reboot is selected, the GNOME restart dialog will ask ConsoleKit to set config_ovr/fastreboot_default to true or false. And ConsoleKit calls scf_fastreboot_default_set_transient to do this. Darren Moffat noted that this solution requires that a temporary property (config_ovr/fastreboot_default) needs to be created in an SMF service and that requires a different (considerably more powerful) authorisation than the one to reboot. Because the ConsoleKit daemon, which creates and modifies this temoprary property, is run as root, this problem will not block this case. A list of available BEs will also be provied in the GUI. If users select a BE which is different from the default one, the restart dialog will ask ConsoleKit to reboot into the selected BE. ConsoleKit will check solaris.system.shutdown to identify if the user has enough privilege. If so, ConsoleKit will use "bootadm set-menu default=n" to update the default BE and then do a reboot. 3.2. Bug/RFE Number(s): - CR #6850800 Need to add Fast Reboot and BE Swithcing into GNOME restart dialog - CR #6878412 Need service-based authorization support for adding transient property groups 3.3. Interfaces: Imported Interfaces Interface Name Classification Comment ------------------- --------------- ---------------------- /usr/bin/bootadm Committed scf_fastreboot_default_set_transient Committed PSARC/2009/338 config_ovr/fastreboot_default Committed PSARC/2009/338 Exported Interfaces Interface Name Classification Comment ------------------- --------------- ---------------------- GetAvailableOperatingSystems Volatile D-Bus method RestartWithParameters Volatile D-Bus method 3.4. Dependency: ConsoleKit (LSARC/2009/432) Introducing non-persistent property group config_ovr (LSARC/2009/338) Fast Reboot (PSARC/2008/382) 4. Resources and Schedule 4.1 Release Binding Minor release binding. The same as ConsoleKit (LSARC/2009/432/). 4.2. Consolidation C-team Name: Solairs Desktop 4.3. ARC review type: FastTrack 5. Related ARC cases LSARC/2009/432 ConsoleKit LSARC/2009/338 Introducing non-persistent property group config_ovr PSARC/2008/760 Boot configuration Service PSARC/2008/382 Fast Reboot