systemctl set-default breaks recovery mode
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
friendly-recovery (Ubuntu) |
Fix Released
|
High
|
Ioanna Alifieraki | ||
Xenial |
Fix Released
|
High
|
Ioanna Alifieraki | ||
Bionic |
Fix Released
|
High
|
Ioanna Alifieraki | ||
Cosmic |
Fix Released
|
High
|
Ioanna Alifieraki | ||
Disco |
Fix Released
|
High
|
Ioanna Alifieraki | ||
Eoan |
Fix Released
|
High
|
Ioanna Alifieraki |
Bug Description
[Impact]
* A recovery mode boot is effectively a normal boot on any system that has ever had systemctl set-default run on it, i.e., the recovery kernel parameter does nothing. In particular, ubiquity calls systemctl set-default as part of the oem-config process, rendering recovery mode useless on any oem-configured machine.
* This is a regression from previous behavior, where recovery mode would override a user-set default target.
* This would also restore the intuitive behavior of this package. It is intended to be run by setting a kernel parameter for a one-time boot, and should therefore take priority over any other settings (such as configuring a different default target).
[Test Case]
* Run systemctl set-default multi-user.target
* Use the GRUB menu to try to boot into recovery mode
* Observe that you end up at a TTY, not in recovery mode
[Regression Potential]
* Possible regression if someone set recovery as a default kernel parameter, then relied on the default systemd target to override it. This seems like an unlikely use-case.
[Original Description]
Fresh Ubuntu 18.04.2 server install
Try to boot to recovery mode from GRUB. Works correctly.
Use systemctl to set a different default, say systemctl set-default multi-user.target
Try to boot to recovery mode from GRUB. End up at getty and not the recovery menu.
Delete /etc/systemd/
I believe this can be fixed by changing normaldir to earlydir in the generator.
Related branches
- Eric Desrochers: Pending requested
- Dimitri John Ledkov: Pending requested
- Ubuntu Core Development Team: Pending requested
-
Diff: 29 lines (+10/-1)2 files modifieddebian/changelog (+9/-0)
lib/systemd/system-generators/friendly-recovery (+1/-1)
Changed in friendly-recovery (Ubuntu): | |
importance: | Undecided → Medium |
Changed in friendly-recovery (Ubuntu): | |
importance: | Medium → High |
tags: | added: rls-ee-incoming |
tags: | added: regression-update rls-bb-incoming |
Changed in friendly-recovery (Ubuntu Eoan): | |
status: | New → Confirmed |
Changed in friendly-recovery (Ubuntu Disco): | |
status: | New → Confirmed |
Changed in friendly-recovery (Ubuntu Cosmic): | |
status: | New → Confirmed |
Changed in friendly-recovery (Ubuntu Bionic): | |
status: | New → Confirmed |
Changed in friendly-recovery (Ubuntu Xenial): | |
status: | New → Confirmed |
tags: | added: sts |
Changed in friendly-recovery (Ubuntu Xenial): | |
assignee: | nobody → Ioanna Alifieraki (joalif) |
Changed in friendly-recovery (Ubuntu Bionic): | |
assignee: | nobody → Ioanna Alifieraki (joalif) |
Changed in friendly-recovery (Ubuntu Cosmic): | |
assignee: | nobody → Ioanna Alifieraki (joalif) |
Changed in friendly-recovery (Ubuntu Disco): | |
assignee: | nobody → Ioanna Alifieraki (joalif) |
Changed in friendly-recovery (Ubuntu Eoan): | |
assignee: | nobody → Ioanna Alifieraki (joalif) |
tags: | removed: rls-bb-incoming rls-ee-incoming |
Changed in friendly-recovery (Ubuntu Xenial): | |
status: | Confirmed → In Progress |
Changed in friendly-recovery (Ubuntu Bionic): | |
status: | Confirmed → In Progress |
Changed in friendly-recovery (Ubuntu Cosmic): | |
status: | Confirmed → In Progress |
Changed in friendly-recovery (Ubuntu Disco): | |
status: | Confirmed → In Progress |
Changed in friendly-recovery (Ubuntu Eoan): | |
status: | Confirmed → In Progress |
Changed in friendly-recovery (Ubuntu Cosmic): | |
importance: | Undecided → High |
Changed in friendly-recovery (Ubuntu Bionic): | |
importance: | Undecided → High |
Changed in friendly-recovery (Ubuntu Xenial): | |
importance: | Undecided → High |
Changed in friendly-recovery (Ubuntu Disco): | |
importance: | Undecided → High |
description: | updated |
tags: |
added: verification-done removed: verification-needed |
Here's a patch with the above fix