[Bug 1821252] Re: systemctl set-default breaks recovery mode
Steven Clarkson
1821252 at bugs.launchpad.net
Sat Jun 29 00:12:12 UTC 2019
Tested friendly-recovery 0.2.38ubuntu1.1 on Bionic.
Ran systemctl set-default multi-user.target
Rebooted and selected recovery mode from GRUB
Got to the recovery menu, as expected.
apt-cache policy friendly-recovery
friendly-recovery:
Installed: 0.2.38ubuntu1.1
Candidate: 0.2.38ubuntu1.1
Version table:
*** 0.2.38ubuntu1.1 100
100 /var/lib/dpkg/status
0.2.38ubuntu1 500
500 http://us.archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages
500 http://us.archive.ubuntu.com/ubuntu bionic-updates/main i386 Packages
0.2.38 500
500 http://us.archive.ubuntu.com/ubuntu bionic/main amd64 Packages
500 http://us.archive.ubuntu.com/ubuntu bionic/main i386 Packages
** Tags removed: verification-needed-bionic
** Tags added: verification-done-bionic
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to friendly-recovery in Ubuntu.
https://bugs.launchpad.net/bugs/1821252
Title:
systemctl set-default breaks recovery mode
Status in friendly-recovery package in Ubuntu:
Fix Released
Status in friendly-recovery source package in Xenial:
Fix Committed
Status in friendly-recovery source package in Bionic:
Fix Committed
Status in friendly-recovery source package in Cosmic:
Fix Committed
Status in friendly-recovery source package in Disco:
Fix Committed
Status in friendly-recovery source package in Eoan:
Fix Released
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/system/default.target* and recovery mode works
normally again.
I believe this can be fixed by changing normaldir to earlydir in the
generator.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/friendly-recovery/+bug/1821252/+subscriptions
More information about the foundations-bugs
mailing list