Monday 13 May 2013

Call for testing: new udev -- switch to vendor/name/slot based net interface names?

Hello fellow Ubuntuers,

now that we have logind/uaccess and libudev1 in Ubuntu, it is finally
time to update to a current udev version. This will bring a faster
system boot as it does not call the modprobe, scsi_id, blkid and other
programs a gazillion times, but instead has all these built in
(through libkmod, libblkid, etc.). It will also get us rid of quite a
few patches which were piling up to make our increasingly ancient udev
work with the current kernel and plumbing.

I went through our current package and applied our remaining patches,
initramfs integration and Ubuntu specific rules. There were two
patches which were non-obvious:

* avoid-exit-deadlock-for-timely-events: This was applied for
http://pad.lv/842560 . Andy discussed that with upstream in
http://comments.gmane.org/gmane.linux.hotplug.devel/17206 and as a
result the whole TIMEOUT legacy stuff has been removed, so this
does not apply any more. Also, firmware handling has changed quite
a bit (e. g. recent kernels load it by themselves). So I dropped
the patch.

* avoid-exit-deadlock-for-dm_cookie.patch: This was applied as a
kind of workaround for http://pad.lv/802626 (I think we really
should stop having two udevs in the boot process, BTW), and further
modified the code that avoid-exit-deadlock-for-timely-events
already changed. I think I ported it correctly, but if you have an
LVM setup, double-checking this can't hurt.

There is one important change which warrants some discussion: By
default, current udev now uses BIOS/vendor/slot number based names so
that they are easier to identify, but more importantly, they have
predictable names without the old 70-persistent-net.rules. My current
package disables this for upgrades (to avoid changing any existing
network configuration), but enables it for new installs. Stephane
Graber mentioned that we might not want this as it might break too
many tools which rely on the ethX naming; I can forward port the old
generator for 70-persistent-net.rules (it's just a shell script) if we
want.

So before I land it in the archive I'd like to get a few more testing
results on various machines. If you could install the packages from
https://launchpad.net/~pitti/+archive/ppa (systemd is the only one for
saucy in that PPA) and tell me how it goes, together with your
machine/install config (UEFI, LVM, cryptsetup, etc.), I'd appreciate.

Thank you in advance!

Martin

--
Martin Pitt | http://www.piware.de
Ubuntu Developer (www.ubuntu.com) | Debian Developer (www.debian.org)