[Bug 1821252] Re: systemctl set-default breaks recovery mode

Eric Desrochers eric.desrochers at canonical.com
Tue Jun 25 13:25:16 UTC 2019


Sponsored in stable release for D/C/B/X.

Note: The fix is already merged into Debian and Eoan (Current devel
release).

Thanks Steven for your patch contribution, and Ioanna for producing the
debdiffs and all the SRU related work.

Regards,
Eric

** Tags removed: sts-sponsor-slashd

-- 
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
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:
  In Progress
Status in friendly-recovery source package in Bionic:
  In Progress
Status in friendly-recovery source package in Cosmic:
  In Progress
Status in friendly-recovery source package in Disco:
  In Progress
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 Ubuntu-sponsors mailing list