[artix-general] New udev creates eth0, ignores conf.d/net

epektasis rptnix at amerytel.net
Thu Sep 2 00:01:49 CEST 2021


On Wed, Sep 01, 2021 at 10:44:15PM +0100, Colin S wrote:
> I encountered exactly the same problem as Epektasis as a result of this
> recent upgrade to udev.
> 
> This new version no longer has the following rule as part of its default
> ruleset in /usr/lib/udev/rules.d
> 
> 
> $ cat 80-net-name-slot.rules
> # do not edit this file, it will be overwritten on update
> 
> ACTION!="add", GOTO="net_name_slot_end"
> SUBSYSTEM!="net", GOTO="net_name_slot_end"
> NAME!="", GOTO="net_name_slot_end"
> 
> IMPORT{cmdline}="net.ifnames"
> ENV{net.ifnames}=="0", GOTO="net_name_slot_end"
> 
> NAME=="", ENV{ID_NET_NAME_ONBOARD}!="", NAME="$env{ID_NET_NAME_ONBOARD}"
> NAME=="", ENV{ID_NET_NAME_SLOT}!="", NAME="$env{ID_NET_NAME_SLOT}"
> NAME=="", ENV{ID_NET_NAME_PATH}!="", NAME="$env{ID_NET_NAME_PATH}"
> 
> LABEL="net_name_slot_end"
> 
> 
> Adding this rule back to /etc/udev/rules.d restores the previous behaviour.
> 
> However I speculate that the Artix package maintainer may have removed it
> because the persistent interface naming scheme that it implemented is a
> construct devised (and imposed) by the systemd developers rather than the
> default kernel behaviour. The whole point of Artix is after all to expunge
> such idiosyncrasies.
> 
> So I concluded that it was probably better/simpler just to accept the change
> and go back to having eth0 and wlan0, which is actually entirely sufficient
> for most normal use.
> 
> Colin
> 
> 
> 
> On 01/09/2021 22:15, Javier wrote:
> > On 9/1/21 14:34, epektasis wrote:
> > > Greetings.  Since the surprise "upgrade" to udev (now 249.4-1), the
> > > ethernet
> > > interface is now named eth0 and an error is displayed at boot-up:
> > > interface
> > > enp1s0 does not exist and net.enp1s0 failed to start.  But eth0
> > > starts and
> > > runs fine, even though conf.d/net specifices config_enp1s0="dhcp"
> > > and there
> > > are no active references to eth0 in that file.  I added net.ifnames=1 and
> > > biosdevname=1 to GRUB_CMDLINE_LINUX in /etc/default/grub, ran
> > > grub-mkconfig
> > > and rebooted, but the same error recurs.  Perhaps there is some
> > > other file
> > > accessed instead of /etc/conf.d/net that udev uses?  If anyone can
> > > point me to
> > > that file or its documentation, I will be grateful.
> > >     e.
> > 
> > What I've been using for my choice of persistent NIC names is udev rules
> > [1], for quite a while, which kept working fine:
> > 
> > % cat /etc/udev/rules.d/80-net-setup-link-persistent.rules
> > SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="<wired_nic_mac_addr>",
> > NAME="<wired_nic_name>"
> > SUBSYSTEM=="net", ACTION=="add",
> > ATTR{address}=="<wireless_nic_mac_addr>", NAME="<wireless_nic_name>"
> > 
> > That makes the NIC interfaces names more or less independent and
> > persistent...  BTW, I didn't notice any errors while booting, after the
> > change...  Perhaps the error is HW dependent, :(  On dmesg one can
> > notice how the NICs get renamed, if at all.
> > 
> > If you're using specific NIC names for daemons, like dhcpcd or network
> > manager, perhaps you should consider using persistent custom names?
> > 
> > 
> -- 
> artix-general mailing list
> artix-general at artixlinux.org
> https://lists.artixlinux.org/listinfo/artix-general

Both of your responses are very informative and helpful.  Thanks to you both!
	e.



More information about the artix-general mailing list