Moving to eudev


The poll

History repeats itself, as the saying goes. That’s what it happening to Calculate Linux as its network interfaces are falling back to the classic naming scheme, with names such as ethX and wlan0. Not necessarily because the developers had been feeling nostalgic; the decision came to us naturally after a public poll posted on VKontakte, that revealed the startling prevalance of those who preferred old names. Among the 150 votes cast, those were 16 times more numerous!

Two months before, in December 2014, another controversial poll had been prompted, asking our users if they would welcome SystemD on Calculate Linux. Setting aside the ignorant and the uninterested, 11.4 per cent said to be pro-SystemD, 17.7 per cent, anti-SystemD and another 17.7 per cent, virulently anti-SystemD. About one hundred users answered.

As for now, I must say that the Calculate team are totally with our users in these matters. Note however that both polls were held in Russian, the original language of the project. In future, we will be using Google+ and/or Facebook for similar inquiries among English speakers (how would the reactions differ I wonder?)

The how-to

Eudev is a fork of the udev device manager, developed by Gentoo crowd. As they presented it at FOSDEM 2013, its creators insisted that eudev should be considered as nothing more than a training project - and that was, partly, why we refrained from using it back then. Meanwhile, eudev has been gaining popularity with Linux developers. Looks like we too are in the club now.

Do you remember udev creating the 70-persistent-net.rules file? Eudev can do this too, especially when it comes to managing classic network interfaces - even better than udev, in fact. Now when udev has no autonomy from SystemD, eudev seems altogether a sounder and a more reliable choice.

Migration is performed at update time and is quite transparent. Once eudev has been merged, CU templates will rerun the daemon and overwrite the initramfs file. Then eudev, in its turn, will generate 70-persistent-net.rules and fill it with existing network interface names.

To migrate, please proceed as follows:

# Run cl-update to update your system.
# If you are an OpenRC user, rename the links to network interfaces as shown in the example below. You will have to edit the content of the /etc/init.d directory to do so:

    mv /etc/init.d/net.enp2s0 /etc/init.d/net.eth0

# OpenRC users must then edit the /etc/conf.d/net file, replacing the obsolete names.
# Either modify /etc/udev/rules.d/70-persistent-net.rules in the same way, or delete it and reboot for the new configuration to take effect. To recover the rules file, relaunch the daemon by running ‘/etc/init.d/udev restart’.

Calculate Linux images with eudev on board will be made available on Stage 20140205.