Comment 3 for bug 575469

Revision history for this message
Stéphane Graber (stgraber) wrote : Re: recovery mode mounts filesystems read-write rather than read-only

Ok, so looking at the current code, the problem is that friendly-recovery is started after mountall mounted / as read-write, actually everything that's in my fstab is mounted when friendly-reocvery starts.

Most of the options also require read/write access to the filesystem and indeed need pretty much everything to be mounted (in the case where /usr or /var are on another partition).

I can perfectly see cases where you want to drop into a shell to fix a broken filesystem before it gets mounted or modified any further. I don't think the current friendly-recovery is the right place to do that though.

Ideally I'd like to see the recovery boot sequence works like this:
 - Select recovery in grub (as it's currently)
 - Start in verbose mode and without splash (as it's currently)
 - When mountall is triggered, it'll know it's in recovery mode and will trigger a first stage recovery screen asking the user if he wants to drop into a root shell or mount the filesystems. (that'd be the new part)
 - If the user chooses to let mountall mount the filesystems, then the usual friendly-recovery would start and let the user repair dpkg, make some free space, repair grub, ... (as usual)

I'd think adding this extra step to allow read/only recovery is indeed something we need, but that's a change in a core part of the boot sequence not to mention a UI change (as we'd get another prompt that'd need to be translated and documented) so if we choose to go with this, it'll have to be deferred to P (I'm happy to implement it then).

The alternative is to switch the current code to read-only, essentially making the recovery mode bypass mountall entirely and then modifying all the friendly-recovery scripts to trigger mountall when needed. I wouldn't recommend doing this as it'd be a pretty significant change in behavior and I'm not particularly fond of the idea of bypassing mountall especially this late in the cycle.