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

Colin S cs-artix at c20.ksac.uk
Wed Sep 1 23:44:15 CEST 2021


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?
> 
> 


More information about the artix-general mailing list