netboot install of live CD results in unconfigured network interface
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
ubiquity (Ubuntu) |
Triaged
|
Medium
|
Unassigned |
Bug Description
Binary package hint: casper
When netbooting the live CD over NFS, the network connection must be preserved throughout the live session so that the filesystem remains accessible. Currently, this is achieved by adding the following lines to /etc/network/
auto eth0
iface eth0 inet manual
These lines are added by casper in a script called 23networking. Here are a few relevant lines from the script:
if [ -z "${NETBOOT}" ]; then method="dhcp"; else method="manual"; fi
if [ "$method" != dhcp ] || [ ! -x /root/usr/
# ...
cat >> "$IFFILE" <<EOF
auto $i
iface $i inet $method
EOF
fi
So, this at least enables the live cd environment to be loaded over NFS. However, the problem is that this later gets propagated to the installed environment if ubiquity is called. This is done by the install.py script and here are the relevant lines from the script:
for path in ('/etc/
if os.path.
In the most common general case, this is the desired behavior so that the user's network configuration is propagated from the live to the installed environment. However, in the case of netbooting the live cd, this is not necessarily the case because this environment needs to make assumptions about the network which might not apply anymore once the system boots from a drive rather than from the network.
I suspect the behavior should be that a best effort should be done when attempting to propagate the network configuration from the live environment when netbooting. This would mean preserving the configurations for all the network interfaces except the one used to mount the filesystem over NFS. The reasoning is that some assumptions were made about that interface which were only relevant in this context, so all bets are off about preserving that configuration.
In order to achieve this desired behavior, I would suspect that casper would need to communicate somehow to ubiquity that a particular part of the network configuration should not be propagated to the installed environment. This could probably be accomplished by using the configuration file as the communication interface. For example, the interfaces file could look something like:
# BEGIN IGNORE
auto eth0
iface eth0 inet manual
# END IGNORE
Then, ubiquity could easily parse that out when propagating the network configuration from the live to the installed environment.
description: | updated |
Changed in casper (Ubuntu): | |
status: | New → Triaged |
importance: | Undecided → Medium |
tags: | added: netboot |
summary: |
- netboot insall of live cd results in a manual network interface - configuration + netboot install of live CD results in unconfigured network interface |
I can confirm this. When installing via PXE boot using a Karmic Desktop Install CD, the installed system does not properly connect to the network automatically the way the live environment did. Running "sudo dhclient" gets an address, and it then connects fine, but when you reboot it is back to the improper configuration.
Removing:
auto eth0
iface eth0 inet manual
from /etc/network/ interfaces and rebooting solves the problem. Deleting the file also seems to work, though it isn't regenerated after doing so. This seems in keeping with what I've read suggesting that Network Manager doesn't need this file anymore (though perhaps it uses it if it is there?).
In any case, this should be fixed, as it poses a significant barrier towards network based installs using the livecd.