Ubuntu mini iso Install Network Woes

A friend from my local Linux User Group has an old Samsung P28 laptop which he wanted to install Ubuntu on. Due to PAE issues he had to use the mini.iso image to install from rather than the Live or Alternate CDs. Post-install he did sudo apt-get install ubuntu-desktop^ to add the desktop task, which worked fine to install Unity and all the other standard desktoppy bits.

However booting with the network cable unplugged would hang for ages waiting for the network. It would eventually time out and boot okay to the logon screen, once logged in wired or wifi could be used. Booting with the network cable attached would boot fine as expected.

The issue is that when you install using a wired network using the mini ISO you end up with an “eth0″ stanza in /etc/network/interfaces. This is all well and good for that part of the install. When you add ubuntu-desktop^ which pulls in Network Manager is when it goes awry slightly.

Network Manager will ignore any network interface listed in /etc/network/interfaces. So the laptop worked when plugged in, and would boot normally, but when unplugged some service sat waiting for the network (eth0) to come up, which it wouldn’t because eth0 was being ignored by Network Manager. Once it timed out and booted the wireless network worked okay because /etc/network/interfaces had no reference to wlan0, no Network Manager was able to manage it, and get the wifi up.

The solution was to remove the “eth0″ stanza from /etc/network/interfaces and reboot to test. All works fine now.

Now, the question is, is that a bug in Network Manager, or something else? I mean, it’s working as designed, but the use case of “installing from mini-iso then adding ubuntu desktop subsequently” is one I expect a few (not huge) number of people to do, so he won’t be alone in experiencing this..

9 thoughts on “Ubuntu mini iso Install Network Woes”

  1. Yes, I noticed this with my 12.04 minimal ISO install. I believe it’s the way the installation manager sets up the network by specifying it in /etc/network/interfaces and then installs that file.

    When you then run Ubuntu fully gnome network manager handles things outside of /etc/network/interfaces and this then conflicts with the configuration without telling you. I suspect this is a bug, but I’m not sure to whom the bug belongs.

  2. I don’t really see any point where this could be “fixed”. After an installation without NetworkManager, users would still want networking, so the interface should be configured in /etc/network/interfaces. NetworkManager and the NetworkManager package should respect the user’s configuration files. It might be nice for the NetworkManager package to offer a debconf screen asking whether to transfer network devices previously configured to nm management, but that would, of course, have to be able to copy all possible /etc/network/interfaces options to NetworkManager’s configuration system (which could be quite complex).

    The package manager and all the packages are behaving correctly, and it’s the user’s responsibility to reconfigure the system the way they want it. This is not ideal, so what we really need is a script to migrate the system to ubuntu-desktop, changing all the configuration and defaults that apt correctly stays away from. This should also be able to move from Kubuntu to Ubuntu etc. I have no idea how complicated this would be and how many users would use it, but the only solution is a separate program designed to reconfigure your system, not simply add things (as apt-get does)

  3. I appreciate the explanation on why the problem happens and what can be done to rectify the problem. It has happened to me more than once.

    Since a standard installation of Ubuntu (and some of its spin-offs/variants) use NetworkManager, or another similar applet, to avoid the use of /etc/network/interfaces, wouldn’t it be easier to have the installation change /etc/network/interfaces to a unread backup file for those who will need it?

  4. I worked around this problem on my laptop by installing “ifplugd”, available in the repoistories. From the description:

    ifplugd is a daemon which will automatically configure your ethernet device
    when a cable is plugged in and automatically de-configure it if the cable is
    pulled out. This is useful on laptops with onboard network adapters, since it
    will only configure the interface when a cable is really connected.

  5. Sometimes the way to work through a problem is to go around it. The live-build package theoretically, if memory serves, allows for the building of custom alternate-style install discs. The manual is still a wee bit vague on how to pull that off, though.

  6. Isn’t this because /etc/network/interfaces has eth0 as dhcp instead of static? If that’s the reason, then when booting up it will sit up waiting for network to come up delaying the boot up process.

    In orther to fix this you would need to either change /etc/network/interfaces eth0 to static or remove the lines for that interface from there.

    Cheers

Leave a Reply

Additional comments powered by BackType