network boot doesn't work (need newer slof.bin)
| Affects | Status | Importance | Assigned to | Milestone | |
|---|---|---|---|---|---|
| | slof (Ubuntu) |
High
|
Unassigned | ||
| | Trusty |
Medium
|
Unassigned | ||
Bug Description
[ SRU Justification ]
Network booting ppc64/pseries machines in qemu is broken in trusty. See the full bug report.
[ Test Case ]
Attempt a pxe-alike boot in a PPC VM and see if it explodes per the bug. smoser can provide more details, or maybe even the test environment.
[ Regression Potential ]
The use of slof/qemu-slof is limited to pseries-style machine emulation, which means this has very limited impact to a subset of a subarchitecture. The major consumer of qemu/kvm in Ubuntu PPC up until now has been Servergy machines, which don't use pseries emulation and, hence, not SLOF. For IBM machines, this is the default way to go, but emulation there has really only begun working right in utopic. The hope is to fix this with selected backports and cherrypicks, of which this is one.
[ Original Report ]
Trying to network boot on a bridge, i get failure
$ qemu-system-ppc64 -enable-kvm -machine pseries,usb=off \
-device spapr-vscsi \
-device spapr-vlan,
-netdev type=tap,
-boot n -display none -nographic -m 4G
qemu-system-ppc64: pci_add_option_rom: failed to find romfile "vgabios-
SLOF *******
QEMU Starting
Build Date = Dec 11 2013 05:07:42
FW Version = buildd@(private build)
Press "s" to enter Open Firmware.
Populating /vdevice methods
Populating /vdevice/
Populating /vdevice/
Populating /vdevice/
SCSI: Looking for devices
Populating /vdevice/
SCSI: Looking for devices
Populating /vdevice/
Populating /pci@8000000200
Adapters on 0800000020000000
No NVRAM common partition, re-initializing...
Installing QEMU fb
Scanning USB
No console specified using hvterm
Welcome to Open Firmware
Copyright (c) 2004, 2011 IBM Corporation All rights reserved.
This program and the accompanying materials are made available
under the terms of the BSD License available at
http://
Trying to load: from: net ... veth: Dropping too big packet [90 bytes]
veth: Dropping too big packet [299 bytes]
veth: Dropping too big packet [342 bytes]
veth: Dropping too big packet [90 bytes]
veth: Dropping too big packet [60 bytes]
veth: Dropping too big packet [78 bytes]
veth: Dropping too big packet [106 bytes]
veth: Dropping too big packet [90 bytes]
veth: Dropping too big packet [70 bytes]
veth: Dropping too big packet [90 bytes]
veth: Dropping too big packet [60 bytes]
Bootloader 1.6
Reading MAC address from device: 52:54:00:12:34:05
Requesting IP address via DHCP: 10.245.71.105
Requesting file "pxelinux.0" via TFTP from 10.245.71.3
Receiving data: 26 KBytes
TFTP: Received pxelinux.0 (26 KBytes)
E3403: Bad executable:
E3406: Client application returned an error.
..`. .. ....... .. ...... .......
..`...`''.`'. .''``````..''. .`''```''`. `''``````
.`` .:' ': `''..... .''. ''` .''..''.......
``.':.';. ``````''`.''. .''. ''``''`````'`
``.':':` .....`''.`'`...... `'`.....`''.`'`
.`.`'`` .'`'`````. ``'''''' ``''`'''`. `'`
Type 'boot' and press return to continue booting the system.
Type 'reset-all' and press return to reboot the system.
..`. .. ....... .. ...... .......
..`...`''.`'. .''``````..''. .`''```''`. `''``````
.`` .:' ': `''..... .''. ''` .''..''.......
``.':.';. ``````''`.''. .''. ''``''`````'`
``.':':` .....`''.`'`...... `'`.....`''.`'`
.`.`'`` .'`'`````. ``'''''' ``''`'''`. `'`
Type 'boot' and press return to continue booting the system.
Type 'reset-all' and press return to reboot the system.
Ready!
0 >
ProblemType: Bug
DistroRelease: Ubuntu 14.10
Package: qemu-slof 20131015+
ProcVersionSign
Uname: Linux 3.16.0-17-generic ppc64le
ApportVersion: 2.14.7-0ubuntu2
Architecture: ppc64el
Date: Fri Sep 26 18:00:04 2014
Dependencies:
PackageArchitec
ProcEnviron:
TERM=screen
PATH=(custom, no user)
LANG=en_US.UTF-8
SHELL=/bin/bash
ProcLoadAvg: 0.24 0.14 0.08 1/1177 41103
ProcLocks:
1: POSIX ADVISORY WRITE 84870 00:11:478688 0 0
2: FLOCK ADVISORY WRITE 2515 00:11:45214 0 EOF
3: POSIX ADVISORY WRITE 2369 00:11:50266 0 EOF
4: POSIX ADVISORY WRITE 2567 00:11:47202 0 EOF
ProcSwaps:
Filename Type Size Used Priority
/swap.img file 8388544 0 -1
ProcVersion: Linux version 3.16.0-17-generic (buildd@fisher03) (gcc version 4.9.1 (Ubuntu 4.9.1-15ubuntu1) ) #23-Ubuntu SMP Fri Sep 19 16:54:14 UTC 2014
SourcePackage: slof
UpgradeStatus: No upgrade log present (probably fresh install)
cpu_cores: Number of cores present = 20
cpu_coreson: Number of cores online = 19
cpu_smt: SMT is off
Related branches
| Scott Moser (smoser) wrote : | #1 |
| Scott Moser (smoser) wrote : | #2 |
| Changed in slof (Ubuntu): | |
| status: | New → Triaged |
| importance: | Undecided → High |
| Scott Moser (smoser) wrote : | #3 |
I'm not able to recreate this now
$ dpkg-query --show linux-generic qemu-slof qemu-system-ppc
linux-generic 3.16.0.22.23
qemu-slof 20131015+
qemu-system-ppc 2.1+dfsg-4ubuntu5
not sure why. but my basic same setup worked fine.
| Scott Moser (smoser) wrote : | #4 |
ok. ignore comment 3. i can recreate failure.
I had 'slof.bin' in the current working directory, and apparently *that* will get loaded over the slof.bin in /usr/share/
which kind of seems like a bug.
with that knowledge in place i was able to recreate problem, and verify that debian's qemu-slof functions:
qemu-
| Adam Conrad (adconrad) wrote : | #5 |
A newer SLOF is now built in Ubuntu. Can you confirm that it works as well as the Debian binary does, and close this bug if it solves your issue?
| Scott Moser (smoser) wrote : | #6 |
Verfied this seems to work for me
$ dpkg-query --show qemu-slof
qemu-slof 20140630+
| Changed in slof (Ubuntu): | |
| status: | Triaged → Fix Released |
| Changed in slof (Ubuntu Trusty): | |
| status: | New → Confirmed |
| importance: | Undecided → Medium |
| description: | updated |
Hello Scott, or anyone else affected,
Accepted slof into trusty-proposed. The package will build now and be available at https:/
Please help us by testing this new package. See https:/
If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-
Further information regarding the verification process can be found at https:/
| Changed in slof (Ubuntu Trusty): | |
| status: | Confirmed → Fix Committed |
| tags: | added: verification-needed |
| Scott Moser (smoser) wrote : | #8 |
verified.
Our system is connected through eth0 to a network that has a functional
maas running. As such, we can boot guests that dhcp onto the network and
should network boot.
Configuring maas is beyond the scope of this verification report.
# enable proposed
$ mirror=http://
$ echo "deb $mirror trusty-proposed main universe" |
sudo tee -a /etc/apt/
$ sudo apt-get -q update
## to get a functional qemu-system-ppc64, we use kilo cloud archive
$ sudo apt-add-repository -y cloud-archive:
$ sudo apt-get update
$ sudo apt-get install -qy qemu-system-ppc qemu-slof
$ dpkg-query --show qemu-slof
qemu-slof 20140630+
# configure eth0 to be a bridge
$ sudo apt-get install -qy bridge-utils
$ ifdown eth0
$ eni="/etc/
$ cp "$eni" "$eni.dist"
$ cat > "$eni" <<EOF
auto lo
auto br0
iface br0 inet dhcp
bridge_ports eth0
EOF
ifup br0
## setup kvm, we're running linux-generic-
$ uname -r
3.16.0-30-generic
$ sudo sh -cx 'grep "kvm_" /proc/modules || modprobe kvm_hv || modprobe kvm_pr'
$ sudo chmod 666 /dev/kvm
$ sudo ppc64_cpu --smt=off
## try booting a qemu-system-ppc via netboot
$ myname=$(id -un)
$ sudo ip tuntap add mode tap user $myname mytap0
$ sudo ip link set mytap0 up
$ qemu-system-ppc64 -machine pseries,usb=off \
-device spapr-vscsi \
-device spapr-vlan,
-netdev type=tap,
-boot n -display none -nographic -m 4G -echr 0x05
## eventually this will show 'booting under maas direction'
## and the system is even enlisted into maas
$ apt-cache policy qemu-system-ppc qemu-slof linux-generic-
qemu-system-ppc:
Installed: 1:2.1+dfsg-
Candidate: 1:2.1+dfsg-
Version table:
*** 1:2.1+dfsg-
500 http://
100 /var/lib/
2.
500 http://
2.
500 http://
2.
500 http://
qemu-slof:
Installed: 20140630+
Candidate: 20140630+
Version table:
*** 20140630+
500 http://
100 /var/lib/
20131015+
500 http://
linux-generic-
Installed: 3.16.0.30.23
Candidate: 3.16.0.30.23
Version table:
*** 3.16.0.30.23 0
500 http://
500 http://
100 /var/lib/
3.16.0.29.22 0
500 http://
| tags: |
added: verification-done removed: verification-needed |
| Launchpad Janitor (janitor) wrote : | #9 |
This bug was fixed in the package slof - 20140630+
---------------
slof (20140630+
* Backport wholesale to trusty to fix network boot issues (LP: #1374568)
-- Adam Conrad <email address hidden> Fri, 23 Jan 2015 12:18:53 -0700
| Changed in slof (Ubuntu Trusty): | |
| status: | Fix Committed → Fix Released |
| Adam Conrad (adconrad) wrote : Update Released | #10 |
The verification of the Stable Release Update for slof has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.


Just for reference, if I copy the slof.bin from powerkvm to slof/slof. bin
/usr/share/
stuff pretty much works.