0

I'm trying to install CentOS 7 in a VM from an ISO, but I keep getting an the error libxl_dom.c:892:libxl__load_hvm_firmware_module: failed to read BIOS file: No such file or directory. Here is my config:

name = 'CentOS'
builder = 'hvm'
memory = '512'
boot = 'dc'
disk = [ '/srv/xen/centos/xvda.img,,xvda,rw', '/srv/xen/centos/disk.iso,,xvdb,cdrom' ]
vif = [ '','mac=00:16:3E:13:37:01,bridge=xenbr1,ip=172.20.0.2/28' ]

I created /srv/xen/centos/xvda.img using truncate -s 10G xvda.img and disk.iso is downloaded from http://mirror.chpc.utah.edu/pub/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1611.iso. Here is the debug output when I try to create the domain to install CentOS:

 ⚡  root@k7dxs-laptop-r500 > /srv/xen/centos >xl -vvv create centos.cfg
Parsing config from centos.cfg
libxl: debug: libxl_create.c:1614:do_domain_create: ao 0xcb7ca0: create: how=(nil) callback=(nil) poller=0xcb7d30
libxl: debug: libxl_device.c:361:libxl__device_disk_set_backend: Disk vdev=xvda spec.backend=unknown
libxl: debug: libxl_device.c:396:libxl__device_disk_set_backend: Disk vdev=xvda, using backend phy
libxl: debug: libxl_device.c:361:libxl__device_disk_set_backend: Disk vdev=xvdb spec.backend=qdisk
libxl: debug: libxl_create.c:970:initiate_domain_create: running bootloader
libxl: debug: libxl_bootloader.c:324:libxl__bootloader_run: not a PV domain, skipping bootloader
libxl: debug: libxl_event.c:686:libxl__ev_xswatch_deregister: watch w=0xcb8840: deregister unregistered
domainbuilder: detail: xc_dom_allocate: cmdline="(null)", features="(null)"
domainbuilder: detail: xc_dom_kernel_file: filename="/usr/lib/xen/boot/hvmloader"
domainbuilder: detail: xc_dom_malloc_filemap    : 463 kB
libxl: debug: libxl_dom.c:884:libxl__load_hvm_firmware_module: Loading BIOS: yes

# Here is the error message
libxl: error: libxl_dom.c:892:libxl__load_hvm_firmware_module: failed to read BIOS file: No such file or directory
libxl: error: libxl_dom.c:1079:libxl__build_hvm: initializing domain firmware failed
domainbuilder: detail: xc_dom_release: called
libxl: error: libxl_create.c:1223:domcreate_rebuild_done: cannot (re-)build domain: -3
libxl: debug: libxl.c:1712:devices_destroy_cb: forked pid 8301 for destroy of domain 2
libxl: debug: libxl_create.c:1640:do_domain_create: ao 0xcb7ca0: inprogress: poller=0xcb7d30, flags=i
libxl: debug: libxl_event.c:1869:libxl__ao_complete: ao 0xcb7ca0: complete, rc=-3
libxl: debug: libxl_event.c:1838:libxl__ao__destroy: ao 0xcb7ca0: destroy
libxl: debug: libxl.c:1445:libxl_domain_destroy: ao 0xcb7ca0: create: how=(nil) callback=(nil) poller=0xcb7d30
libxl: error: libxl.c:1575:libxl__destroy_domid: non-existant domain 2
libxl: error: libxl.c:1534:domain_destroy_callback: unable to destroy guest with domid 2
libxl: error: libxl.c:1463:domain_destroy_cb: destruction of domain 2 failed
libxl: debug: libxl_event.c:1869:libxl__ao_complete: ao 0xcb7ca0: complete, rc=-21
libxl: debug: libxl.c:1454:libxl_domain_destroy: ao 0xcb7ca0: inprogress: poller=0xcb7d30, flags=ic
libxl: debug: libxl_event.c:1838:libxl__ao__destroy: ao 0xcb7ca0: destroy
xencall:buffer: debug: total allocations:83 total releases:83
xencall:buffer: debug: current allocations:0 maximum allocations:3
xencall:buffer: debug: cache current size:3
xencall:buffer: debug: cache hits:69 misses:3 toobig:11

What is causing this? Am I doing something wrong? Is this a bug?

1 Answers1

1

In my case, I had XEN installed from AUR on Arch Linux and the problem occurred after upgrading that.

In version 4.8.0-5, SeaBIOS was removed from the package (see this comment), as there is a version of SeaBIOS in the regular Arch repository. To fix the issue, simply install that by running pacman -S seabios.

cdauth
  • 418
  • I got the answer on the xen-users mailing list after no response on here. My problem was that the AUR package was misconfigured, but as that has been fixed, this is the only cause I can think of for this issue now. Upvoted and accepted. – Dessa Simpson Jun 21 '17 at 05:02