more user-friendly recovery

Registered by Allison Lortie on 2007-05-09

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

Status:
Complete
Approver:
Martin Pitt
Priority:
Low
Drafter:
Allison Lortie
Direction:
Needs approval
Assignee:
Allison Lortie
Definition:
Approved
Series goal:
Accepted for gutsy
Implementation:
Implemented
Milestone target:
None
Started by
Allison Lortie on 2007-05-10
Completed by
Martin Pitt on 2008-11-18

Related branches

Sprints

Whiteboard

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 http://www.howtoforge.com/setting_up_a_serial_console).
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 http://code.launchpad.net/~mvo/friendly-recovery/ubuntu 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