Present Location: News >> Blog >> Arragh!

Blog

> Arragh!
Posted by prox, from North Brunswick, on November 27, 2005 at 19:42 local (server) time

So I figured it was time for the nat box at my parents place to get upgraded from lilo/devfs/2.4 -> grub/udev/2.6.  This is all on Debian 3.1.  I've done it before successfully ... with two reboots, and a total of 20 minutes spent.  Since this box has 3 NICs (and a 2.4 -> 2.6 upgrade typically renumbers interfaces), I figured I'd setup an /etc/mactab and add the appropriate lines to /etc/init.d/networking to invoke /sbin/nameif.

I managed to first screw up my MBR with Grub (I've done it a dozen times before, you'd think I'd learn by now, right?) and burn like 30 minutes waiting for an Ubuntu LiveCD to boot Gnome, before I got anything done.  This machine has 128MiB of RAM, so loading up an xterm took 5 minutes and thrashed the disk.  I would have used a Gentoo LiveCD.. but I didn't have any handy, and no nat box to provide connectivity to obtain it.

Additionally, the nameif stuff didn't work at all.  All the network interfaces were detected, but after nameif ran (eg., after networking was started), most of the services complained and gave some weird errors.  OpenVPN just failed with a binding error of some sort, snmpd spewed errors about interface counters being invalid, and there was, erm, a lack of connectivity.

Ok, back to square one.  I added the modules (3c59x, ne2k-pci, b44) in the correct order to /etc/modules, rebooted, and hoped it might read that file first.  Wrong.

Just for giggles, I removed everything from /etc/modules just to see what order the system would bring up the interfaces, figuring I'd just bite the bullet and reconfigure daemons and firewall scripts.  System booted up - so I jotted down what ethX name went with what card, and started reconfiguring stuff.  Ended up rebooting again, and to my dismay... the names changed AGAIN.  It turned out that every time the box rebooted, the interface names would be different.  I was really hating hotplug/udev at this point.

So, it was suggested that I write my own udev rules, in the hopes that it would rename the interfaces the right way.  This resulted in some "cannot rename interface; File exists" error that I didn't bother looking into.

I finally broke down and added a few lines to /etc/init.d/udev and called it a day.

Yeah, this was a good portion of my Saturday afternoon.  At least stuff is running 2.6 here, now, not that I'm going to see any immediate benefit.

Back to work tomorrow, horray.

> Add Comment

New comments are currently disabled for this entry.