Monday, April 29, 2024
 Popular · Latest · Hot · Upcoming
7
rated 0 times [  7] [ 0]  / answers: 1 / hits: 24316  / 3 Years ago, thu, october 21, 2021, 12:20:12

Somehow after upgrading to 12.04, my virtual machines always boot with an attempt to boot from the network first. See this:



virt-manager screenshot



while I don't have any PXE configuration set:



PXE boot configuration



I've tried:




  • to disable SPICE, by changing the emulator to /usr/bin/kvm from /usr/bin/kvm-spice by editing the XML.

  • Ctrl+B to configure the iPXE, but it doesn't let disable this as a boot option.

  • setting another type of NIC - not an option, I need virtio for performance reasons. However, e1000e doesn't work either.

  • removing the NIC: works. However, I need network.

  • Googling around. Hard. Lots of result is about failing configured PXE boots.



Not a big issue, but it increases boot times by 50-100% here (booting from SSD), so it's relatively long and annoys me.



How can I disable this and boot from virtual hard disk directly?


More From » 12.04

 Answers
5

Short answer



Upgrade to libvirt 0.9.10+ (available in Quantal) and add the <rom bar='off'/> option to the interface configuration of the machine's XML definition.



Long answer



Now that I'm actually using the iPXE boot option I see that the delay occurring in the SeaBIOS screen is not an actual boot attempt. It's just loading the Virtio network option ROM and that takes a few annoying seconds, i.e. it's not yet doing an iPXE boot attempt. This lead me to read the libvirt documentation again, and I made an interesting discovery.



As far as I could find, since libvirt 0.9.7 the behaviour has changed to load interface's option ROMs by default. Ubuntu 11.10 shipped with 0.9.2, Ubuntu 12.04 comes with 0.9.8. This definitely makes sense as to why I see this happening since the upgrade to 12.04.



Moreover, this has become configurable in libvirt version 0.9.10 with the <rom bar='off'/> option in the XML! (see here) However, that version of libvirt is not available in Ubuntu 12.04 and I'll have to upgrade to 12.10 or backport it. This makes Ubuntu 12.04 fall between two stools.



Other workarounds are removing the option ROM files as pointed out by @A.H.' and changing the SeaBIOS 'filesystem' as pointed out by @NlightNFotis. However, both ways will basically disable iPXE completely and it's not configurable (if sticking to virtio network devices only). As I have a mixed setup of iPXE machines and non-PXE machines, I really need this to be configurable.


[#35431] Thursday, October 21, 2021, 3 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
enefiama

Total Points: 43
Total Questions: 125
Total Answers: 102

Location: Gabon
Member since Sat, Jul 25, 2020
4 Years ago
enefiama questions
;