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.
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.