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

The 35network-legacy is still used even if network-scripts isn't installed in Fedora 29 #488

Closed
nullr0ute opened this issue Nov 11, 2018 · 9 comments
Labels

Comments

@nullr0ute
Copy link
Contributor

@nullr0ute nullr0ute commented Nov 11, 2018

In Fedora 29 there's a lot of use cases where the old initscripts/network-scripts are no longer installed and as of dracut 049 the network bits were split into 35network-legacy and 35network-manager modules but in a lot of cases the network-legacy is still used even if initscripts/network-scripts aren't present.

This seems to cause issues when there's no link on wired ethernet connections and we see timeouts where the device doesn't complete booting with the following errors:

[   20.228216] dracut-initqueue[383]: Warning: No carrier detected on interface eth0
[  195.081185] dracut-initqueue[383]: Warning: dracut-initqueue timeout - starting timeout

Looking through the modules I can't seem to work out how it chooses the network-manager module vs the network-legacy modules.

@nullr0ute
Copy link
Contributor Author

@nullr0ute nullr0ute commented Nov 11, 2018

@lkundrak do you have any suggestions/thoughts about this?

@puiterwijk
Copy link

@puiterwijk puiterwijk commented Nov 11, 2018

@nullr0ute I just checked the 40network module, and it does the decision between network-legacy and network-manager, based on /usr/libexec/nm-initrd-generator. But there is no RPM that provides that binary in either Fedora 29 or Rawhide at this moment.
So I am guessing that that path might be wrong, or it depends on something that's not in Fedora yet?
Both 35network-manager and 35network-legacy return 255 from their check() functions, which mean they get selected if something depends on them.

The relevant code from 40network/module-setup.sh:

depends() {
    echo -n "kernel-network-modules "
    if ! dracut_module_included "network-legacy" && [ -x "/usr/libexec/nm-initrd-generator" ] ; then
        echo "network-manager"
    else
        echo "network-legacy"
    fi
    return 0
}
@haraldh
Copy link
Collaborator

@haraldh haraldh commented Nov 12, 2018

My understanding is, that without nm-initrd-generator no kernel cmdline parsing by NM is done, so, as soon as NM is ready, that file will be provided.

@haraldh
Copy link
Collaborator

@haraldh haraldh commented Nov 12, 2018

Oh, and btw, network-legacy refers to dracut network-legacy and not to initscripts network-scripts.

@nullr0ute
Copy link
Contributor Author

@nullr0ute nullr0ute commented Nov 12, 2018

So we're seeing a regression in network related stuff in recent versions of dracut if there's no network link and I'm not sure why that is then.

@haraldh
Copy link
Collaborator

@haraldh haraldh commented Nov 12, 2018

@nullr0ute what is the kernel command line? rdsosreport.txt with rd.debug enabled?

@nullr0ute
Copy link
Contributor Author

@nullr0ute nullr0ute commented Nov 14, 2018

Kernel command line is:
[ 0.000000] Kernel command line: BOOT_IMAGE=/ostree/fedora-iot-578355f971db3df3e514998aa6fc506bc0d99aabecff5694337fd45686ee7678/vmlinuz-4.18.16-300.fc29.aarch64 net.ifnames=0 modprobe.blacklist=vc4 root=UUID=953c1a31-ccad-4ca3-815a-585f34204601 ostree=/ostree/boot.1/fedora-iot/578355f971db3df3e514998aa6fc506bc0d99aabecff5694337fd45686ee7678/0

@haraldh
Copy link
Collaborator

@haraldh haraldh commented Nov 15, 2018

Kernel command line is:
[ 0.000000] Kernel command line: BOOT_IMAGE=/ostree/fedora-iot-578355f971db3df3e514998aa6fc506bc0d99aabecff5694337fd45686ee7678/vmlinuz-4.18.16-300.fc29.aarch64 net.ifnames=0 modprobe.blacklist=vc4 root=UUID=953c1a31-ccad-4ca3-815a-585f34204601 ostree=/ostree/boot.1/fedora-iot/578355f971db3df3e514998aa6fc506bc0d99aabecff5694337fd45686ee7678/0

I don't see any ip= arguments here.. so no network in the initramfs

@johannbg johannbg added the stale label Aug 11, 2020
@johannbg
Copy link
Collaborator

@johannbg johannbg commented Aug 11, 2020

This issue is being marked as stale because it has not had any recent activity. It will be closed if no further activity occurs. If this is still an issue in the latest release of Dracut and you would like to keep it open please comment on this issue within the next 7 days. Thank you for your contributions.

@johannbg johannbg closed this Aug 22, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
4 participants