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