Unable to network boot Ubuntu 16.04 installer normally on Briggs
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
busybox (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Xenial |
Won't Fix
|
Undecided
|
Unassigned | ||
Yakkety |
Fix Released
|
Undecided
|
Unassigned | ||
debian-installer (Ubuntu) |
Invalid
|
Undecided
|
Taco Screen team | ||
Xenial |
Invalid
|
Undecided
|
Unassigned | ||
Yakkety |
Invalid
|
Undecided
|
Taco Screen team | ||
systemd (Ubuntu) |
Fix Released
|
Undecided
|
Martin Pitt | ||
Xenial |
Fix Released
|
Undecided
|
Martin Pitt | ||
Yakkety |
Fix Released
|
Undecided
|
Martin Pitt |
Bug Description
== Comment: #7 - Guilherme Guaglianoni Piccoli <email address hidden> - 2016-08-19 10:08:07 ==
The normal procedure to perform a Netboot installation of Ubuntu 16.04 is to download the latest vmlinux and initrd.gz files available, and kexec them with no parameters (at least in ppc64el).
We're experiencing a strange issue in which the installer freezes before menus are showed. The system hangs in the point specified below, right after the i40e driver initialization:
[ 11.052832] i40e 0002:01:00.0 enP2p1s0f0: renamed from eth0
[ 11.073976] i40e 0002:01:00.1 enP2p1s0f1: renamed from eth1
[ 11.117799] i40e 0002:01:00.2 enP2p1s0f2: renamed from eth2
[ 11.225745] i40e 0002:01:00.3 enP2p1s0f3: renamed from eth3
***HANG***
The most difficult part in this issue is that it seems to be a timing issue/race condition, and many debug trials end up by avoiding the issue reproduction (heisenbug).
We were successful though in getting logs by booting the kernel with the command-line "BOOT_DEBUG=2" and by changing the initrd in order to enable systemd debug; only the files "init" and "start-udev" were changed in initrd, both attached here.
We've attached here a saved screen session that shows the entire boot process until it gets flooded with lots of messages like:
"starting '/bin/readlink /etc/udev/
'/bin/readlink /etc/udev/
udev/rules.
seq 3244 queued, 'add' 'pci_bus'
starting '/bin/readlink /etc/udev/
passed 408 byte device to netlink monitor 0x1003cfe8020seq 3236 running'
ink.rules'(err) 'failed to execute '/bin/readlink' '/bin/readlink /etc/udev/
file or directory'
'/bin/readlink /etc/udev/
udev/rules.
Process '/bin/readlink /etc/udev/
PROGRAM '/bin/readlink /etc/udev/
passed device to netlink monitor 0x1003d01f730
"
Then it keeps hanged in this stage. We re-tested it by changing the file 73-usb-
Notice that if we boot the installer with command-line "net.ifnames=0" or "net.ifnames=1", the problem does not reproduces anymore.
We want to ask Canonical's help in investigating this issue.
Thanks,
Guilherme
SRU INFORMATION for systemd
=======
Test case:
* Check what happens for uevents on devices which are not USB network interfaces:
udevadm test /sys/devices/
udevadm test /sys/class/net/lo
With the current version these will run
PROGRAM '/bin/readlink /etc/udev/
which is pointless. With the proposed version these should be gone.
* Ensure that the rule still works as intended by connecting an USB network device that has a permanent MAC address (e. g. Android tethering uses a temporary MAC): You should get a MAC-based name like "enx12345678" for it. Now disconnect it again, disable ifnames with
sudo ln -s /dev/null /etc/udev/
and reconnect the device. You should now get a kernel name like "usb0" for it.
* Regression potential: Errors in the rule could break persistent naming - or its disabling - of USB network interfaces. Running the above test carefully is important to ensure this keeps working. This has little to no actual effect on anything else on the system (aside from a performance impact and spamming logs), so overall the regression potential is low.
Changed in systemd (Ubuntu): | |
status: | New → Confirmed |
description: | updated |
Default Comment by Bridge