more user-friendly recovery

Registered by desrt

Currently, if the user selects "recovery mode" from the bootloader menu they end up dropped at a root shell prompt.

Ideally, they'd end up at a small ncurses application, one option of which would be "root shell".

Other options can include things like "start system in safe graphics mode" or "forgotten password recovery".

Blueprint information

Martin Pitt
Needs approval
Series goal:
Accepted for gutsy
Milestone target:
Started by
Completed by
Martin Pitt

Related branches



review: OK, but no empty sections please -- smurf 2007-05-11

pitti: looks good, approved

Note that the X case will be handled in a more convenient way by bullet-proof-x. What about serial consoles, where you don't know the terminal type yet? -mdz, 2007-05-20

(desrt) mdz: i haven't thought about serial consoles. if there is some way to detect that we're on a serial console then i recommend not showing the menu since this type of user will almost certainly know what to do with a root prompt. also, we will still want a "boot in safe video mode" option for when X starts up successfully but is driving the user's monitor out of range (consider if they switch monitors and, like it often is, hardware autodetect is broken...).

dendrobates (Rick): I don't think you should take away the choice of menu from serial consoles. I think it is wrong to assume that the user that setup the serial console is the same user that is recovering the system. They might have completely different skill sets. /usr/bin/tty will give you the device, if it is not a pty it might be safe to assume it is some type of limited functionality console. I don't think you can have a hard coded list of serial device names, there are too many potential addon devices that mike have unusual naming structures, i.e. cyclades.

(desrt) note that 'tty' gives "/dev/console" in single user mode. i'm thinking some sort of ioctl on stdout could be used to determine if we're at the console. will look into it a bit later.

jhansonxi: I love this idea. I was about to start writing a script using dialog for the interface on Feisty. I propose a few additional functions or plugins that should be pushed for:
Midnight Commander which also works with serial consoles (see my comments at the end of
Setting up a smb link to transfer files off of a failing system.
Smartctl for checking drive smart status
Sensors support for identifying heat or fan problems.
Show/edit network settings including setting up DDNS for temporary SSH server access by off-site technician.
Be able to activate a dial-up ppp link possibly using existing gnome-ppp settings.
Provide access to web browser, instant messenger, mail, IRC.
Quick fixes for out-of-space conditions like apt-get clean and emptying user .Trash folders, browser cache.
n00b-friendly diagnostic help.

mvo: pushed the initial implementation of Ryan to and added a debian directory to it. This should move to a shared branch, either core-dev or a special group
mvo: uploaded the current bzr version to the archive
mvo: seeded into ubuntu-standard in hardy


Work Items

This blueprint contains Public information 
Everyone can see this information.