[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[RFR] New component to change installer settings



I'm pretty exited about this as it's something that's on my mind for 
probably two years now and IMO has the potential to make D-I a lot more 
user friendly.

The basic idea is to add three new menu items, the first two only displayed 
at medium priority and only these are executed by default:
- initial settings (after locale/kbd-chooser; included in initrds)
- additional settings (after anna; loaded by anna)
- generic change settings (after finish-install; included in initrds)

These settings include all kinds of things that are currently hard to 
access. Instead of having to pass boot options, users can now just access 
a "settings" menu option. Passing boot options remains possible though.

The initial settings dialog would include an option "Show low priority 
questions". This means that we could finally change expert mode to medium 
prio while still leaving users an early, easy option to change to low prio.

IMO this fits well with the new syslinux boot menu for x86 which makes 
passing boot options a lot less obvious.


I've implemented three "settings" as a rough demo:
- mouse settings
- enabling support for SATA RAID and multipath

The first activates a separate dialog that allows to change all three mouse 
settings we have (and has a dirty hack to activate the new settings: it 
kills D-I so it gets restarted).
The last two are currently just a true/false toggle (they should get a 
proper yes/no dialog with some explanation of what they do). Note that 
these are not shown in the "initial" dialog.

Here are some screenshots:
- http://people.debian.org/~fjp/tmp/d-i/d-i_settings.png
  Shows all three current options (third menu entry).
- http://people.debian.org/~fjp/tmp/d-i/d-i_settings_mouse.png
- http://people.debian.org/~fjp/tmp/d-i/d-i_settings_menu.png
  Shows the first two new menu items.

And here is an image to try for yourself (gtk frontend):
- http://people.debian.org/~fjp/tmp/d-i/mini_settings.iso
With a default install you'll see nothing. Either backup to the menu or boot 
in expert mode.

To get an idea of how it works, see:
- /usr/bin/installer-settings
- /usr/lib/settings/*/*

Together they IMO show the basic flexibility. It uses a plug-in structure: 
the SATA RAID/multipath settings come from disk-detect; mouse settings 
comes from rootskel-gtk.


Here are some features I have in mind (some partially implemented, but not 
in the demo):
- remove the "initial" and "additional" options from the menu after they
  have been passed (users can still use the generic menu option)
- show some settings only in selected dialogs; example: the "show low prio
  questions" option would only be shown in "initial settings", while
  the current debconf-priority could be integrated in "generic change"
- disable showing some settings after some point in the installation
- show some settings only once (either in "early" or in "additional")

The settings dialog is currently flat, but I plan a two-level structure with 
headers for main categories and the items indented, and possibly a blank 
line between categories.

Below an overview of candidates for "settings" support. Some will need 
discussion.

Cheers,
FJP

P.S. Yes, it uses the new align feature in cdebconf :-)


Overview of potential settings
------------------------------
* General
  - show expert questions (in "early")
  - debconf priority (in "menu")
  - rescue mode (in "early/additional")
  - frontend theme
  - mouse support (device/protocol/left-handed) (in "early/menu")
* Hardware support
  - SATA RAID
  - multipath
  - PCMCIA support (could help avoid asking multiple times!)
* Networking
  - PPPoE support (in "early")
  - type of configuration (none/static/dhcp)
  - allow unauthenticated (?)
* Installed system
  - use SUDO instead of root account
  - create first user
* Debian settings (or Package management)
  - use security (?)
  - use volatile (?)
  - use contrib (?)
  - use non-free (?)
* Advanced
  - keep regular virtual consoles (sercon installs)
  - eject CD
  - halt/poweroff system instead of reboot

Other options
* selection of bootloader to use?

Attachment: signature.asc
Description: This is a digitally signed message part.


Reply to: