FS#66958 - [mkinitcpio] /usr/local/bin symlink to /usr/bin leads to systemd warning

Attached to Project: Arch Linux
Opened by Daan De Meyer (DaanDeMeyer) - Tuesday, 09 June 2020, 19:26 GMT
Last edited by Jelle van der Waa (jelly) - Wednesday, 23 November 2022, 11:09 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Giancarlo Razzolini (grazzolini)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

Recently, systemd stopped using absolute paths in their unit files. The initrd-switch-root.service unit, which is started in the initrd when the mkinitcpio systemd hook is used, systemd looks up the systemctl executable in the initramfs and finds it at /usr/local/bin/systemctl (because /usr/local/bin is a symlink to /usr/bin in the initramfs). After switching to the actual rootfs, systemd looks up the systemctl executable again but this time finds it at /usr/bin/systemctl because in the actual rootfs, /usr/local/bin is not a symlink to /usr/bin. When switching root, compares the serialized units from the initramfs (initrd-switch-root) data to the unit files in the actual rootfs and finds out that they don't match, "/usr/local/bin/systemctl" vs "/usr/bin/systemctl" and logs a warning about that.

Steps to reproduce:

- Enable mkinitcpio systemd hook
- Regenerate initramfs
- Reboot
- journalctl -p warning will contain "initrd-switch-root.service: Current command vanished from the unit file, execution of the command list won't be resumed."


systemd issue: https://github.com/systemd/systemd/issues/16076
This task depends upon

Closed by  Jelle van der Waa (jelly)
Wednesday, 23 November 2022, 11:09 GMT
Reason for closing:  Fixed
Additional comments about closing:  mkinitcpio 33-1
Comment by nl6720 (nl6720) - Wednesday, 23 November 2022, 08:38 GMT

Loading...