
Quoting russell@coker.com.au (russell@coker.com.au):
Sometimes you just have to do such things.
We all make sacrifices to get by. ;->
I run a server that has as its main purpose preparing SD card images for embedded PCs. The images are made by the people who install the embedded PCs on-site (who wear high-visibility clothing).
Getting them to unplug USB devices during system boot isn't a viable option. I just have to make the system work with a SD card being sda and hard drives being sde and sdf if it boots with the USB device connected.
I would think that using either disk labels or UUIDs for the hard drive filesystems in /etc/fstab would be more than sufficient for that functional need. (Of course, I'm not denigrating your choice of tactics, which is naturally something you know best.)
As for Ethernet device names, here are the device names I chose for one of my systems: ethbl ethbr gethm getht lo mb0
On RHEL/CentOS, you were always able to do that without (and before) udev, courtesy of the ability to hard-map device names to MAC addresses. On other distributions, ifrename suffices to get you the same thing. Nothing wrong with using udev for this if you like it. My only objection is to Freedesktop.org-style PR advocacy suggesting it's somehow essential and ground-breaking, when clearly it's neither.