KubuntuGrubconfig

Differences between revisions 13 and 14
Revision 13 as of 2006-12-18 23:38:13
Size: 5841
Editor: pool-70-108-154-239
Comment: add link to most recent wireframes
Revision 14 as of 2008-05-13 16:44:57
Size: 5930
Editor: pool-72-83-200-194
Comment:
Deletions are marked like this. Additions are marked like this.
Line 31: Line 31:
New UI wireframes as of May 2008: http://obso1337.org/hci/grub/Visio-KGRUBEditor.pdf.

Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.

Summary

There should be a configuration tool accessible from System Settings that will allow the user to modify the /boot/grub/menu.lst options, therefore eliminating the need to edit this file manually (and studying documentation about it). It should also provide basic theme management for GRUB.

Rationale

A novice user or a non-English user should have the tools to set up the GRUB menu easily.

Use cases

  • Walter is a new Kubuntu user. He wants to add a nice theme to the boot menu and also change the timeout. He looks for the configuration tool in K menu -> System Settings.

  • John is a new Kubuntu user but he also has another OS installed in his computer. He wants to change the boot order so that the other OS is second in the menu.
  • Bronislav is a Kubuntu user from a non-English speaking country. He doesn't understand the descriptions in the /boot/grub/menu.lst file and he is also not sure what the options mean. He expects to edit the GRUB menu in his own language.

Scope

  • This specification deals only with the Kubuntu/KDE configuration tool. There is no information known about making a GNOME/Ubuntu counterpart. The decision about inclusion of GRUB themes in Kubuntu will be left completely up to the artwork team.

Design

User Interface

The UI is currently under active development, it is being discussed with Kubuntu's UI experts.

The most recent wireframes of interface proposal are available at http://obso1337.org/hci/grub/GRUB_Wireframes_Dec_17.pdf

New UI wireframes as of May 2008: http://obso1337.org/hci/grub/Visio-KGRUBEditor.pdf.

Feature Notes

  • This configuration tool should be hidden on systems where GRUB is not present, e.g. Mac computers.
  • Grubconfig will make use of the tool "os-prober" to handle OS detection. This tool (currently a dependency to ubiquity) should be installed as a dependency.

Comparable Implementations

This configuration tool has been implemented in other Linux distributions, most notably Mandriva and SUSE (YAST2). Screenshots will be provided here for comparison. Porting those tools to Kubuntu has been considered; however, those tools are not as easy-to-use and as intuitive as Kubuntu tools should. Such porting would also most probably require more time than creating such tools from scratch with Python/PyQt. We can also make sure the source code produced will be more consistent with other tools in the kde-guidance package.

SUSE

[attachment:yast-bootloader1.png Screenshot 1]

[attachment:yast-bootloader2.png Screenshot 2]

[attachment:yast-bootloader3.png Screenshot 3]

[attachment:yast-bootloader4.png Screenshot 4]

Mandriva

[attachment:mandriva1.png Screenshot 1]

[attachment:mandriva2.png Screenshot 2]

[attachment:mandriva3.png Screenshot 3]

[attachment:mandriva4.png Screenshot 4]

[attachment:mandriva5.png Screenshot 5]

[attachment:mandriva6.png Screenshot 6]

[attachment:mandriva7.png Screenshot 7]

Implementation

  • Not started yet.

Code

Data preservation and migration

  • The implementation must not require any special changes in the default /boot/grub/menu.lst file or any other GRUB configuration file.

Unresolved issues

  • Although it is not a serious issue for the implementation, GRUB Legacy cannot be internationalized at this stage. To solve this, either move to GRUB 2 as soon as possible or backport the feature from GRUB 2 to Legacy. See GrubTwo for a specification about GRUB2.

BoF agenda and discussion

  • There is still room for discussion and for extensions, e.g. :
    • Whether it is possible to write a helper application/script that can recognize systems where GRUB themes couldn't be applied (or leave that completely to the user).
    • Whether to include some basic GRUB themes with Kubuntu.
      • If both of those can be implemented: Whether to include a default GRUB theme on systems where it is possible.
    • We could share code with the GNOME counterpart if there was any - discuss it with Ubuntu developers.
    • In the future we may consider making this tool work with other boot loaders.

Potential Scenarios

  1. Jack has Kubuntu i386 installed on one partition, he repartitions it, and installs Kubuntu amd64.
    • What should be done if
    • he chooses to install GRUB during that installation into the MBR(what would grubconfig on his i386 installation do?)
      • --Find out if it's possible to detect whether GRUB's stage 2 installation is on the current partition.
    • he chooses to not install a boot loader
      • --Use os-prober(at every run??) to check if there has been a change in the list compared to the last list detected, prompt the user.

Features

  • Another important decision must be made on which additional features will be provided by the Grubconfig tool. The primary goal is to make a simple and functional GRUB editor. However, Grubconfig can provide a number of secondary features that will make working with GRUB easier. Suggestions (collected from around the Internet):


CategorySpec

KubuntuGrubconfig (last edited 2008-08-06 16:22:55 by localhost)