Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 503498 - sys-kernel/genkernel-next: improve handling of 80-net-setup-link.rules & 99-default.link (after removal of 80-net-name-slot.rules from udev >= 212)
Summary: sys-kernel/genkernel-next: improve handling of 80-net-setup-link.rules & 99-d...
Status: RESOLVED TEST-REQUEST
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Fabio Erculiani (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-03-05 11:09 UTC by Ivan Bagaev
Modified: 2016-05-23 14:58 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
/var/log/genkernel.log (genkernel.log,38.92 KB, text/x-log)
2014-03-05 11:09 UTC, Ivan Bagaev
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ivan Bagaev 2014-03-05 11:09:09 UTC
Created attachment 371774 [details]
/var/log/genkernel.log

* ERROR: Binary /usr/lib/systemd/systemd-udevd could not be found
* 
* -- Grepping log... --
* 
*  INSTALL sound/core/seq/snd-seq.ko
*  INSTALL sound/core/snd-rawmidi.ko
*  INSTALL sound/drivers/mpu401/snd-mpu401-uart.ko
*  INSTALL sound/drivers/mpu401/snd-mpu401.ko
*  DEPMOD  3.13.5-gentoo-v1
*depmod: ERROR: Module 'hci_vhci' has devname (vhci) but lacks major and minor information. Ignoring.
*--
* Running with options: all --menuconfig --no-clean --kernel-config=/etc/kernels/kernel-config-x86_64-3.13.5-gentoo
* Using genkernel.conf from /etc/genkernel.conf
* Sourcing arch-specific config.sh from /usr/share/genkernel/arch/x86_64/config.sh ..
* Sourcing arch-specific modules_load from /usr/share/genkernel/arch/x86_64/modules_load ..
*
* ERROR: Binary /usr/lib/systemd/systemd-udevd could not be found
Comment 1 Samuli Suominen (RETIRED) gentoo-dev 2014-03-05 11:22:13 UTC
When you say 'udev', what do you mean by it, sys-fs/udev, sys-fs/eudev or sys-apps/systemd?
And what version?

To genkernel-next maintainers:

<sys-fs/udev-210 uses /sbin/udevd, /lib/udev/rules.d/80-net-name-slot.rules

>=sys-fs/udev-210 uses /lib/systemd/systemd-udevd, /lib/udev/rules.d/80-net-link-setup.rules, /etc/systemd/network/99-default.link

Plus sys-fs/udev is deleting the systemd specific file '99-systemd.rules´ purposely, always has.
Comment 2 Samuli Suominen (RETIRED) gentoo-dev 2014-03-05 11:23:11 UTC
(In reply to Samuli Suominen from comment #1)
[ ... ]
I meant /lib/systemd/network/99-default.link, of course. Not /etc.
Comment 3 Samuli Suominen (RETIRED) gentoo-dev 2014-03-05 11:24:49 UTC
Arg, another typing error. Sorry for bugspam :(

>=sys-fs/udev-210:

/lib/systemd/systemd-udevd
/lib/systemd/network/99-default.link
/lib/udev/rules.d/80-net-setup-link.rules
Comment 4 Samuli Suominen (RETIRED) gentoo-dev 2014-03-05 14:05:44 UTC
https://github.com/Sabayon/genkernel-next/commit/f38dedf5897e2cc059e48132f7d87a20873faf57

https://github.com/Sabayon/genkernel-next/commit/d3a053874e497eaddea7762563345a0f34231041

The only thing I'm not seeing in genkernel-next git immediately if the required 80-net-setup-link,rules is installed or not, that triggers the 99-default.link

And of course, a missing release and ebuild from Portage
Comment 5 Alexander Tsoy 2014-03-05 17:43:37 UTC
Does genkernel-next really support some sort of networking? If not, including 80-net-name-slot.rules or 80-net-setup-link.rules + 99-default.link in the initramfs is a bad idea. If you do so, then users with network drivers compiled into the kernel will be unable to disable predictable network names via symlink
/etc/udev/rules.d/80-net-setup-link.rules -> /dev/null
Comment 6 Samuli Suominen (RETIRED) gentoo-dev 2014-03-05 18:41:59 UTC
(In reply to Alexander Tsoy from comment #5)
> Does genkernel-next really support some sort of networking?

I haven't verified, but it should, I know dracut at least does.

> If not, including 80-net-name-slot.rules or 80-net-setup-link.rules +
> 99-default.link in the initramfs is a bad idea. If you do so, then users
> with network drivers compiled into the kernel will be unable to disable
> predictable network names via symlink
> /etc/udev/rules.d/80-net-setup-link.rules -> /dev/null

Why are they unable to set the symlink in the real system? I don't get it, where is the problem?
Comment 7 Alexander Tsoy 2014-03-06 09:25:43 UTC
(In reply to Samuli Suominen from comment #6)
> (In reply to Alexander Tsoy from comment #5)
> > If not, including 80-net-name-slot.rules or 80-net-setup-link.rules +
> > 99-default.link in the initramfs is a bad idea. If you do so, then users
> > with network drivers compiled into the kernel will be unable to disable
> > predictable network names via symlink
> > /etc/udev/rules.d/80-net-setup-link.rules -> /dev/null
> 
> Why are they unable to set the symlink in the real system? I don't get it,
> where is the problem?

This symlink is not (and should not be) included in the initramfs (ok, the only exception is dracut in hostonly mode). So if network drivers are compiled into the kernel then udev from initramfs will rename all network devices. And as you know, they cannot be renamed back to eth*.
Comment 8 Alexander Tsoy 2014-03-06 09:33:34 UTC
If *-net-*.rules are not included into initramfs, then all network interfaces gets renamed (or not renamed if symlink in real system exist) AFTER switch root during udev cold plug. I already proposed a patch for dracut which excludes these rules if "network" module is not included in the initramfs.

And see bug 487184 for example.
Comment 9 Ivan Bagaev 2014-03-06 09:36:38 UTC
in udev-210 and highter /etc/udev/rules.d/80-net-setup-link.rules -> /dev/null - is deprecated method. Recomended use net.ifnames=0 in kernel params.
Comment 10 Alexander Tsoy 2014-03-06 09:38:57 UTC
(In reply to Ivan Bagaev from comment #9)
> in udev-210 and highter /etc/udev/rules.d/80-net-setup-link.rules ->
> /dev/null - is deprecated method. Recomended use net.ifnames=0 in kernel
> params.

Yes, but it's still listed first on this page:
http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/
Comment 11 Samuli Suominen (RETIRED) gentoo-dev 2014-03-10 09:50:04 UTC
I'll leave the decision to genkernel-next maintainer how he wants to handle networking.

If the genkernel-next authors want to include somekind of kludge like dracut has, 'hostonly', that controls if the /etc/udev/rules.d/*.rules or /etc/systemd/network/*.link are forwarded to the initramfs or not.

As in, I'm merely informing 80-net-name-slot.rules is not there anymore, and 80-net-setup-link.rules is the new filename but it needs also the 99-default.link file to work.

I'm personally not involved in genkernel or genkernel-next development, and I don't have anything more to add here.
Comment 12 Pacho Ramos gentoo-dev 2015-05-23 09:24:39 UTC
is this still valid with version 63?