"Waiting for network configuration" adding 3 to 5 minutes to boot time

First off, this is a new behavior, documented in the 11.10 release notes, that I actually developed together with Scott Moser as an effort to make server boot more reliable.

Commenting out lo will mean you have no local network capability, which will break some programs when they try to use the network. It will also cause your system to never boot because it is so critical. So leave these two lines:

auto lo
iface lo inet loopback

The bits about eth0 meant that your machine was configured to wait for a dynamic address to be assigned to it before the network is considered UP. In pre-upstart versions of Ubuntu (8.10 and earlier), the system would have waited up to 60 seconds for this before continuing the boot. When upstart was added, this condition wasn't waited for anymore, because network interfaces that were not always expected to be plugged in are better managed by something like network-manager.

So, if you have a server, you probably want to wait for a dynamic address, otherwise the system will boot without all of its networks available (which it does if it takes more than 2 minutes to get an address). If you have a laptop that you don't always expect to be plugged in to eth0, then configure eth0 in network manager, and remove only those lines from /etc/network/interfaces, which should get rid of your boot delay.

Keep in mind, there's a known bug with VMware and dbus that also causes this message.


If you moved your OS from one machine to another it might be a good guess that udev created a configuration containing the mac address of your old network device which is different from the mac address of the network device from your new system.

Try removing the following file then reboot your system and see if this solves the problem:

/etc/udev/rules.d/70-persistent-net.rules

You're mixing 2 incompatible ways of assigning an address to a network interface.

iface eth0 inet dhcp

says "send out a DHCPDISCOVER packet to the physical local network, wait for a DHCPOFFER packet from a physically local DHCP server, and get the IP address from it (see http://www.rfc-editor.org/rfc/rfc1531.txt), while the rest of the lines assign values to the interface "manually". It's important that one gets the IP address assignment method right. If there is a DHCP server on your local network, you should use it. To do so, delete the "address", "netmask", "gateway", and "broadcast" lines.

If you're not connected to an "administered" local area network (and don't have a DHCP server), and want to assign the IP address parameters manually, change the first line to:

iface eth0 inet static

and keep the "address", "netmask", "gateway", and "broadcast" lines. See http://www.rfc-editor.org/rfc/rfc5735.txt for details about which IP addresses are available for use. The parameters you have look OK to me.

Read

man 5 interfaces

simply commenting everything out is not the best path to happiness.