Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dracut 056 breaks gui image building due to systemd module dependency #296

Closed
classabbyamp opened this issue Nov 17, 2022 · 13 comments
Closed
Labels
bug Something isn't working

Comments

@classabbyamp
Copy link
Member

this doesn't happen in the console images because no network manager. It works fine on dracut 053.

log highlights:

dracut: dracut module 'dbus-daemon' depends on 'systemd', which can't be installed
dracut: dracut module 'dbus' depends on 'dbus-daemon', which can't be installed
dracut: dracut module 'network-manager' depends on 'dbus', which can't be installed
dracut: dracut module 'network' depends on 'network-manager', which can't be installed
dracut: dracut module 'autoinstaller' depends on 'network', which can't be installed
fuller log
[5/9] Generating initramfs image (xz)...
dracut: Executing: /usr/bin/dracut -N --xz --add-drivers ahci --force-add "vmklive autoinstaller" --omit systemd /boot/initrd 5.19.17_1
dracut: dracut module 'mksh' will not be installed, because command 'mksh' could not be found!
dracut: dracut module 'dbus-daemon' depends on 'systemd', which can't be installed
dracut: dracut module 'dbus' depends on 'dbus-daemon', which can't be installed
dracut: dracut module 'network-manager' depends on 'dbus', which can't be installed
dracut: dracut module 'network' depends on 'network-manager', which can't be installed
dracut: dracut module 'autoinstaller' depends on 'network', which can't be installed
dracut: dracut module 'modsign' will not be installed, because command 'keyctl' could not be found!
dracut: dracut module 'busybox' will not be installed, because command 'busybox' could not be found!
dracut: dracut module 'dbus-broker' will not be installed, because command 'dbus-broker' could not be found!
dracut: dracut module 'rngd' will not be installed, because command 'rngd' could not be found!
dracut: dracut module 'network-wicked' will not be installed, because command 'wicked' could not be found!
dracut: dracut module 'url-lib' will not be installed, because command 'curl' could not be found!
dracut: 62bluetooth: Could not find any command of '/usr/lib/bluetooth/bluetoothd /usr/libexec/bluetooth/bluetoothd'!
dracut: dracut module 'dmsquash-live-ntfs' will not be installed, because command 'ntfs-3g' could not be found!
dracut: dracut module 'multipath' will not be installed, because command 'multipath' could not be found!
dracut: dracut module 'pcsc' will not be installed, because command 'pcscd' could not be found!
dracut: dracut module 'tpm2-tss' will not be installed, because command 'tpm2' could not be found!
dracut: dracut module 'cifs' will not be installed, because command 'mount.cifs' could not be found!
dracut: dracut module 'fcoe' will not be installed, because command 'dcbtool' could not be found!
dracut: dracut module 'fcoe' will not be installed, because command 'fipvlan' could not be found!
dracut: dracut module 'fcoe' will not be installed, because command 'lldpad' could not be found!
dracut: dracut module 'fcoe' will not be installed, because command 'fcoemon' could not be found!
dracut: dracut module 'fcoe' will not be installed, because command 'fcoeadm' could not be found!
dracut: dracut module 'fcoe-uefi' will not be installed, because command 'dcbtool' could not be found!
dracut: dracut module 'fcoe-uefi' will not be installed, because command 'fipvlan' could not be found!
dracut: dracut module 'fcoe-uefi' will not be installed, because command 'lldpad' could not be found!
dracut: dracut module 'iscsi' will not be installed, because command 'iscsi-iname' could not be found!
dracut: dracut module 'iscsi' will not be installed, because command 'iscsiadm' could not be found!
dracut: dracut module 'iscsi' will not be installed, because command 'iscsid' could not be found!
dracut: dracut module 'nbd' will not be installed, because command 'nbd-client' could not be found!
dracut: 95nfs: Could not find any command of 'rpcbind portmap'!
dracut: dracut module 'nvmf' will not be installed, because command 'nvme' could not be found!
dracut: dracut module 'biosdevname' will not be installed, because command 'biosdevname' could not be found!
dracut: dracut module 'memstrack' will not be installed, because command 'memstrack' could not be found!
dracut: memstrack is not available
dracut: If you need to use rd.memdebug>=4, please install memstrack and procps-ng
dracut: dracut module 'squash' will not be installed, because command 'mksquashfs' could not be found!
dracut: dracut module 'squash' will not be installed, because command 'unsquashfs' could not be found!
dracut: dracut module 'autoinstaller' cannot be found or installed.
ERROR: Failed to generate the initramfs
@classabbyamp classabbyamp added the bug Something isn't working label Nov 17, 2022
@KF-Art
Copy link

KF-Art commented Nov 18, 2022

I tested it and have the same issue. Apparently the problem is NetworkManager. I tried to remove it from ISO and it built successfully. I replaced it by Connman in my custom ISOs.

@classabbyamp
Copy link
Member Author

well the problem is with the dbus-daemon hook wanting the systemd hook, but it's pulled in because network-manager is pulled in

classabbyamp added a commit to classabbyamp/void-packages that referenced this issue Nov 18, 2022
This reverts commit 7def67b.

dracut 056 causes a regression in live images because the
network-manager hook depends on the systemd hook now
(void-linux/void-mklive#296)
@motorto
Copy link

motorto commented Nov 18, 2022

Can you try if adding this lines to the dracut.conf makes it work again ?

omit_dracutmodules+=" systemd systemd-networkd "
add_dracutmodules+=" network-legacy "

known issue upstream: https://github.com/dracutdevs/dracut/issues?q=is%3Aissue+is%3Aopen+dbus-daemon

$ git diff
diff --git a/srcpkgs/dracut/template b/srcpkgs/dracut/template
index 3356f10529..0b66943898 100644
--- a/srcpkgs/dracut/template
+++ b/srcpkgs/dracut/template
@@ -35,6 +35,12 @@ case "$XBPS_TARGET_MACHINE" in
        ;;
 esac

+pre_install() {
+       #
+       printf '%s\n' "omit_dracutmodules+=\" systemd systemd-networkd \"" >> dracut.conf
+       printf '%s\n' "add_dracutmodules+=\" network-legacy \"" >> dracut.conf
+}
+
 post_install() {
        # kernel hooks.
        vinstall ${FILESDIR}/kernel-hook-postinst 755 usr/libexec/dracut

@Vaelatern
Copy link
Member

from the linked issue, network-legacy is going away, to prefer iwd or networkmanager.

KF-Art added a commit to CereusLinuxProject/cereus-mklive that referenced this issue Nov 21, 2022
New dracut update fails when building initramfs for live ISO when NetworkManager is present, as it now depends on systemd hook.
Void Linux didn't take a decision yet about what they'll do about this, but we decided to nip the problem in the bud dropping NetworkManager in favor of Connman.
connman-gtk GUI was chosen even for Qt desktop environments, because is easier to understand for new users than cmst.
Fixes void-linux#296.
classabbyamp added a commit to void-linux/void-packages that referenced this issue Nov 21, 2022
This reverts commit 7def67b.

dracut 056 causes a regression in live images because the
network-manager hook depends on the systemd hook now
(void-linux/void-mklive#296)
@motorto
Copy link

motorto commented Nov 21, 2022

@classabbyamp Seeing that you merged the downgrade is the plan to stay in dracut053 forever ?

@classabbyamp
Copy link
Member Author

we'll see

@TeusLollo
Copy link

TeusLollo commented Nov 21, 2022

From dracutdevs/dracut#1756 (comment)

No, there shouldn't. The change to start NetworkManager via a service has been intentional. Let's not go back.

I don't think they are going to reverse this decision. After all, it had been deemed probable that dracut would eventually grow into a systemd-only subsystem.

Also dracutdevs/dracut#1756 (comment)

The legacy network is the ifcfg files which I think NM has already dropped support for but continuing using NM should be just fine.
In anycase iwd works just fine with NM, connman and sd-networkd or without it ( standalone ) as well as to replace the legacy wpa_supplicant stuff

It will not be a problem to stick with a downgraded version of dracut for a while more.
But, medium-long term, assuming nothing changes (And I bet it won't) it may be necessary to either drop the network-manager package from the repos (Hoping that iwd won't eventually get axed, as well) or to drop dracut entirely and switching to either mkinitcpio or booster. I would personally prefer the latter approach.

I'm not a dev, of course, but I do have a spare system I may lend to experiment with new initramfs generators. Currently, most dev manpower is tied into the gcc/glibc upgrades, thus I guess it'll be a while before a decision is posited. At the very least, let's wait and see what the Gentoo guys will be doing.

@classabbyamp
Copy link
Member Author

I'll be investigating whether it's practical to switch to another initramfs generator sometime soon, but everything is back to working for now.

We've noticed the trend with dracut melding with sysd stuff too and that weighs strongly on decisions about it. at least for now, you can use xbps-alternatives to easily switch to mkinitcpio, booster, or other future initramfs generators

@LaszloGombos
Copy link

LaszloGombos commented Nov 23, 2022

from the linked issue, network-legacy is going away

network-legacy dracut module is supported in dracut v56 and dracut v57. By supported I mean there are tests for NFS, ISCSI, NBD network boot with and without multiple NICs with network-legacy. With v56 dracut you need to be more specific regarding what dracut modules you want in your initramfs.

We've noticed the trend with dracut melding with sysd stuff too and that weighs strongly on decisions about it.

Dracut latest upstream is specifically tested on openrc (and musl) using a Gentoo container.

@bugcrazy

This comment was marked as off-topic.

@bugcrazy

This comment was marked as off-topic.

@classabbyamp
Copy link
Member Author

if we switch, it would be to an initramfs generator that's already packaged and well-tested with void. this issue is not for bikeshedding that.

@ahesford
Copy link
Member

ahesford commented Dec 2, 2022

@abby I think we should consider this issue closed following the reversion to 053. As I noted in #297 (comment), the outstanding issue is not really with this project, but with our failure to identify and patch or remove incompatible modules in the Void dracut package.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

8 participants