UEFI bios

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

UEFI bios

Phil Susi
I'm trying to emulate a system with UEFI bios.  I set the bios='ovmf'
option in the config, but the domain just shuts down immediately.  Is
there some specific path where it is looking for the file, and maybe not
finding it and not logging any error?  I seem to have
/usr/share/ovmf/OVMF.fd and /usr/share/qemu/OVMF.fd.


_______________________________________________
Xen-users mailing list
[hidden email]
https://lists.xen.org/xen-users
Reply | Threaded
Open this post in threaded view
|

Re: UEFI bios

Roger Pau Monné-3
On Thu, Oct 26, 2017 at 01:17:34PM -0400, Phil Susi wrote:
> I'm trying to emulate a system with UEFI bios.  I set the bios='ovmf'
> option in the config, but the domain just shuts down immediately.  Is
> there some specific path where it is looking for the file, and maybe not
> finding it and not logging any error?  I seem to have
> /usr/share/ovmf/OVMF.fd and /usr/share/qemu/OVMF.fd.

Can you paste the output verbose output of the domain build process,
you will have to add '-vvv' to your xl command:

xl -vvv create ....

Thanks, Roger.

_______________________________________________
Xen-users mailing list
[hidden email]
https://lists.xen.org/xen-users
Reply | Threaded
Open this post in threaded view
|

Re: UEFI bios

Phil Susi
On 10/27/2017 10:34 AM, Roger Pau Monné wrote:

> On Thu, Oct 26, 2017 at 01:17:34PM -0400, Phil Susi wrote:
>> I'm trying to emulate a system with UEFI bios.  I set the bios='ovmf'
>> option in the config, but the domain just shuts down immediately.  Is
>> there some specific path where it is looking for the file, and maybe not
>> finding it and not logging any error?  I seem to have
>> /usr/share/ovmf/OVMF.fd and /usr/share/qemu/OVMF.fd.
>
> Can you paste the output verbose output of the domain build process,
> you will have to add '-vvv' to your xl command:
>
> xl -vvv create ....

libxl: debug: libxl_create.c:1563:do_domain_create: ao 0xdc4ff0: create:
how=(nil) callback=(nil) poller=0xdc4e70
libxl: debug: libxl_device.c:337:libxl__device_disk_set_backend: Disk
vdev=hda spec.backend=unknown
libxl: debug: libxl_device.c:366:libxl__device_disk_set_backend: Disk
vdev=hda, using backend phy
libxl: debug: libxl_device.c:337:libxl__device_disk_set_backend: Disk
vdev=hdc spec.backend=unknown
libxl: debug: libxl_device.c:366:libxl__device_disk_set_backend: Disk
vdev=hdc, using backend phy
libxl: debug: libxl_create.c:947: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:691:libxl__ev_xswatch_deregister: watch
w=0xdc2448: deregister unregistered
xc: detail: elf_parse_binary: phdr: paddr=0x100000 memsz=0x5b844
xc: detail: elf_parse_binary: memory: 0x100000 -> 0x15b844
xc: detail: VIRTUAL MEMORY ARRANGEMENT:
xc: detail:   Loader:   0000000000100000->000000000015b844
xc: detail:   Modules:  0000000000000000->0000000000000000
xc: detail:   TOTAL:    0000000000000000->00000000bb000000
xc: detail:   ENTRY:    0000000000100630
xc: detail: PHYSICAL MEMORY ALLOCATION:
xc: detail:   4KB PAGES: 0x0000000000000200
xc: detail:   2MB PAGES: 0x00000000000003d7
xc: detail:   1GB PAGES: 0x0000000000000001
xc: detail: elf_load_binary: phdr 0 at 0x7fe651b09000 -> 0x7fe651b5add1
domainbuilder: detail: xc_dom_gnttab_hvm_seed: called, pfn=0xff000
libxl: debug: libxl_device.c:337:libxl__device_disk_set_backend: Disk
vdev=hda spec.backend=phy
libxl: debug: libxl_event.c:639:libxl__ev_xswatch_register: watch
w=0xdc3b90 wpath=/local/domain/0/backend/vbd/27/768/state token=3/0:
register slotnum=3
libxl: debug: libxl_device.c:337:libxl__device_disk_set_backend: Disk
vdev=hdc spec.backend=phy
libxl: debug: libxl_device.c:337:libxl__device_disk_set_backend: Disk
vdev=hdc spec.backend=phy
libxl: debug: libxl_event.c:639:libxl__ev_xswatch_register: watch
w=0xdc6460 wpath=/local/domain/0/backend/vbd/27/5632/state token=2/1:
register slotnum=2
libxl: debug: libxl_create.c:1586:do_domain_create: ao 0xdc4ff0:
inprogress: poller=0xdc4e70, flags=i
libxl: debug: libxl_event.c:576:watchfd_callback: watch w=0xdc3b90
wpath=/local/domain/0/backend/vbd/27/768/state token=3/0: event
epath=/local/domain/0/backend/vbd/27/768/state
libxl: debug: libxl_event.c:880:devstate_callback: backend
/local/domain/0/backend/vbd/27/768/state wanted state 2 ok
libxl: debug: libxl_event.c:677:libxl__ev_xswatch_deregister: watch
w=0xdc3b90 wpath=/local/domain/0/backend/vbd/27/768/state token=3/0:
deregister slotnum=3
libxl: debug: libxl_device.c:991:device_backend_callback: calling
device_backend_cleanup
libxl: debug: libxl_event.c:691:libxl__ev_xswatch_deregister: watch
w=0xdc3b90: deregister unregistered
libxl: debug: libxl_linux.c:229:libxl__hotplug_disk: Args and
environment ready
libxl: debug: libxl_device.c:1088:device_hotplug: calling hotplug
script: /etc/xen/scripts/block add
libxl: debug: libxl_aoutils.c:593:libxl__async_exec_start: forking to
execute: /etc/xen/scripts/block add
libxl: debug: libxl_event.c:545:watchfd_callback: watch
epath=/local/domain/0/backend/vbd/27/768/state token=3/0: empty slot
libxl: debug: libxl_event.c:576:watchfd_callback: watch w=0xdc6460
wpath=/local/domain/0/backend/vbd/27/5632/state token=2/1: event
epath=/local/domain/0/backend/vbd/27/5632/state
libxl: debug: libxl_event.c:880:devstate_callback: backend
/local/domain/0/backend/vbd/27/5632/state wanted state 2 ok
libxl: debug: libxl_event.c:677:libxl__ev_xswatch_deregister: watch
w=0xdc6460 wpath=/local/domain/0/backend/vbd/27/5632/state token=2/1:
deregister slotnum=2
libxl: debug: libxl_device.c:991:device_backend_callback: calling
device_backend_cleanup
libxl: debug: libxl_event.c:691:libxl__ev_xswatch_deregister: watch
w=0xdc6460: deregister unregistered
libxl: debug: libxl_linux.c:229:libxl__hotplug_disk: Args and
environment ready
libxl: debug: libxl_device.c:1088:device_hotplug: calling hotplug
script: /etc/xen/scripts/block add
libxl: debug: libxl_aoutils.c:593:libxl__async_exec_start: forking to
execute: /etc/xen/scripts/block add
libxl: debug: libxl_event.c:545:watchfd_callback: watch
epath=/local/domain/0/backend/vbd/27/5632/state token=2/1: empty slot
libxl: debug: libxl_event.c:691:libxl__ev_xswatch_deregister: watch
w=0xdc3c90: deregister unregistered
libxl: debug: libxl_linux.c:246:libxl__get_hotplug_script_info: num_exec
1, not running hotplug scripts
libxl: debug: libxl_device.c:1075:device_hotplug: No hotplug script to
execute
libxl: debug: libxl_event.c:691:libxl__ev_xswatch_deregister: watch
w=0xdc3c90: deregister unregistered
libxl: debug: libxl_event.c:691:libxl__ev_xswatch_deregister: watch
w=0xdc6560: deregister unregistered
libxl: debug: libxl_linux.c:246:libxl__get_hotplug_script_info: num_exec
1, not running hotplug scripts
libxl: debug: libxl_device.c:1075:device_hotplug: No hotplug script to
execute
libxl: debug: libxl_event.c:691:libxl__ev_xswatch_deregister: watch
w=0xdc6560: deregister unregistered
libxl: debug: libxl_dm.c:1796:libxl__spawn_local_dm: Spawning
device-model /usr/bin/qemu-system-i386 with arguments:
libxl: debug: libxl_dm.c:1798:libxl__spawn_local_dm:
/usr/bin/qemu-system-i386
libxl: debug: libxl_dm.c:1798:libxl__spawn_local_dm:   -xen-domid
libxl: debug: libxl_dm.c:1798:libxl__spawn_local_dm:   27
libxl: debug: libxl_dm.c:1798:libxl__spawn_local_dm:   -chardev
libxl: debug: libxl_dm.c:1798:libxl__spawn_local_dm:
socket,id=libxl-cmd,path=/var/run/xen/qmp-libxl-27,server,nowait
libxl: debug: libxl_dm.c:1798:libxl__spawn_local_dm:   -no-shutdown
libxl: debug: libxl_dm.c:1798:libxl__spawn_local_dm:   -mon
libxl: debug: libxl_dm.c:1798:libxl__spawn_local_dm:
chardev=libxl-cmd,mode=control
libxl: debug: libxl_dm.c:1798:libxl__spawn_local_dm:   -chardev
libxl: debug: libxl_dm.c:1798:libxl__spawn_local_dm:
socket,id=libxenstat-cmd,path=/var/run/xen/qmp-libxenstat-27,server,nowait
libxl: debug: libxl_dm.c:1798:libxl__spawn_local_dm:   -mon
libxl: debug: libxl_dm.c:1798:libxl__spawn_local_dm:
chardev=libxenstat-cmd,mode=control
libxl: debug: libxl_dm.c:1798:libxl__spawn_local_dm:   -nodefaults
libxl: debug: libxl_dm.c:1798:libxl__spawn_local_dm:   -name
libxl: debug: libxl_dm.c:1798:libxl__spawn_local_dm:   testing
libxl: debug: libxl_dm.c:1798:libxl__spawn_local_dm:   -vnc
libxl: debug: libxl_dm.c:1798:libxl__spawn_local_dm:   10.1.1.8:0,to=99
libxl: debug: libxl_dm.c:1798:libxl__spawn_local_dm:   -display
libxl: debug: libxl_dm.c:1798:libxl__spawn_local_dm:   none
libxl: debug: libxl_dm.c:1798:libxl__spawn_local_dm:   -device
libxl: debug: libxl_dm.c:1798:libxl__spawn_local_dm:
cirrus-vga,vgamem_mb=8
libxl: debug: libxl_dm.c:1798:libxl__spawn_local_dm:   -boot
libxl: debug: libxl_dm.c:1798:libxl__spawn_local_dm:   order=cda
libxl: debug: libxl_dm.c:1798:libxl__spawn_local_dm:   -usb
libxl: debug: libxl_dm.c:1798:libxl__spawn_local_dm:   -usbdevice
libxl: debug: libxl_dm.c:1798:libxl__spawn_local_dm:   tablet
libxl: debug: libxl_dm.c:1798:libxl__spawn_local_dm:   -device
libxl: debug: libxl_dm.c:1798:libxl__spawn_local_dm:
rtl8139,id=nic0,netdev=net0,mac=00:16:3e:59:7c:52
libxl: debug: libxl_dm.c:1798:libxl__spawn_local_dm:   -netdev
libxl: debug: libxl_dm.c:1798:libxl__spawn_local_dm:
type=tap,id=net0,ifname=vif27.0-emu,script=no,downscript=no
libxl: debug: libxl_dm.c:1798:libxl__spawn_local_dm:   -machine
libxl: debug: libxl_dm.c:1798:libxl__spawn_local_dm:   xenfv
libxl: debug: libxl_dm.c:1798:libxl__spawn_local_dm:   -m
libxl: debug: libxl_dm.c:1798:libxl__spawn_local_dm:   2992
libxl: debug: libxl_dm.c:1798:libxl__spawn_local_dm:   -drive
libxl: debug: libxl_dm.c:1798:libxl__spawn_local_dm:
file=/dev/mapper/hyper1-testing,if=ide,index=0,media=disk,format=raw,cache=writeback
libxl: debug: libxl_dm.c:1798:libxl__spawn_local_dm:   -drive
libxl: debug: libxl_dm.c:1798:libxl__spawn_local_dm:
file=/mnt/artful-desktop-amd64.iso,if=ide,index=2,readonly=on,media=cdrom,format=raw,cache=writeback,id=ide-5632
libxl: debug: libxl_dm.c:1800:libxl__spawn_local_dm: Spawning
device-model /usr/bin/qemu-system-i386 with additional environment:
libxl: debug: libxl_dm.c:1802:libxl__spawn_local_dm:
XEN_QEMU_CONSOLE_LIMIT=1048576
libxl: debug: libxl_event.c:639:libxl__ev_xswatch_register: watch
w=0xdc2740 wpath=/local/domain/0/device-model/27/state token=2/2:
register slotnum=2
libxl: debug: libxl_event.c:576:watchfd_callback: watch w=0xdc2740
wpath=/local/domain/0/device-model/27/state token=2/2: event
epath=/local/domain/0/device-model/27/state
libxl: debug: libxl_exec.c:399:spawn_watch_event: domain 27 device
model: spawn watch p=(null)
libxl: debug: libxl_event.c:576:watchfd_callback: watch w=0xdc2740
wpath=/local/domain/0/device-model/27/state token=2/2: event
epath=/local/domain/0/device-model/27/state
libxl: debug: libxl_exec.c:399:spawn_watch_event: domain 27 device
model: spawn watch p=running
libxl: debug: libxl_event.c:677:libxl__ev_xswatch_deregister: watch
w=0xdc2740 wpath=/local/domain/0/device-model/27/state token=2/2:
deregister slotnum=2
libxl: debug: libxl_exec.c:129:libxl_report_child_exitstatus: domain 27
device model (dying as expected) [20191] died due to fatal signal Killed
libxl: debug: libxl_event.c:691:libxl__ev_xswatch_deregister: watch
w=0xdc2740: deregister unregistered
libxl: debug: libxl_qmp.c:706:libxl__qmp_initialize: connected to
/var/run/xen/qmp-libxl-27
libxl: debug: libxl_qmp.c:296:qmp_handle_response: message type: qmp
libxl: debug: libxl_qmp.c:555:qmp_send_prepare: next qmp command: '{
    "execute": "qmp_capabilities",
    "id": 1
}
'
libxl: debug: libxl_qmp.c:296:qmp_handle_response: message type: return
libxl: debug: libxl_qmp.c:555:qmp_send_prepare: next qmp command: '{
    "execute": "query-chardev",
    "id": 2
}
'
libxl: debug: libxl_qmp.c:296:qmp_handle_response: message type: return
libxl: debug: libxl_qmp.c:555:qmp_send_prepare: next qmp command: '{
    "execute": "query-vnc",
    "id": 3
}
'
libxl: debug: libxl_qmp.c:296:qmp_handle_response: message type: return
libxl: debug: libxl_event.c:639:libxl__ev_xswatch_register: watch
w=0xdcbf00 wpath=/local/domain/0/backend/vif/27/0/state token=2/3:
register slotnum=2
libxl: debug: libxl_event.c:576:watchfd_callback: watch w=0xdcbf00
wpath=/local/domain/0/backend/vif/27/0/state token=2/3: event
epath=/local/domain/0/backend/vif/27/0/state
libxl: debug: libxl_event.c:884:devstate_callback: backend
/local/domain/0/backend/vif/27/0/state wanted state 2 still waiting state 1
libxl: debug: libxl_event.c:576:watchfd_callback: watch w=0xdcbf00
wpath=/local/domain/0/backend/vif/27/0/state token=2/3: event
epath=/local/domain/0/backend/vif/27/0/state
libxl: debug: libxl_event.c:880:devstate_callback: backend
/local/domain/0/backend/vif/27/0/state wanted state 2 ok
libxl: debug: libxl_event.c:677:libxl__ev_xswatch_deregister: watch
w=0xdcbf00 wpath=/local/domain/0/backend/vif/27/0/state token=2/3:
deregister slotnum=2
libxl: debug: libxl_device.c:991:device_backend_callback: calling
device_backend_cleanup
libxl: debug: libxl_event.c:691:libxl__ev_xswatch_deregister: watch
w=0xdcbf00: deregister unregistered
libxl: debug: libxl_device.c:1088:device_hotplug: calling hotplug
script: /etc/xen/scripts/vif-bridge online
libxl: debug: libxl_aoutils.c:593:libxl__async_exec_start: forking to
execute: /etc/xen/scripts/vif-bridge online
libxl: debug: libxl_event.c:691:libxl__ev_xswatch_deregister: watch
w=0xdcc000: deregister unregistered
libxl: debug: libxl_device.c:1088:device_hotplug: calling hotplug
script: /etc/xen/scripts/vif-bridge add
libxl: debug: libxl_aoutils.c:593:libxl__async_exec_start: forking to
execute: /etc/xen/scripts/vif-bridge add
libxl: debug: libxl_event.c:691:libxl__ev_xswatch_deregister: watch
w=0xdcc000: deregister unregistered
libxl: debug: libxl_linux.c:259:libxl__get_hotplug_script_info: num_exec
2, not running hotplug scripts
libxl: debug: libxl_device.c:1075:device_hotplug: No hotplug script to
execute
libxl: debug: libxl_event.c:691:libxl__ev_xswatch_deregister: watch
w=0xdcc000: deregister unregistered
libxl: debug: libxl_event.c:2183:libxl__ao_progress_report: ao 0xdc4ff0:
progress report: ignored
libxl: debug: libxl_event.c:1874:libxl__ao_complete: ao 0xdc4ff0:
complete, rc=0
libxl: debug: libxl_event.c:1843:libxl__ao__destroy: ao 0xdc4ff0: destroy
libxl: debug: libxl_qmp.c:706:libxl__qmp_initialize: connected to
/var/run/xen/qmp-libxl-27
libxl: debug: libxl_qmp.c:296:qmp_handle_response: message type: qmp
libxl: debug: libxl_qmp.c:555:qmp_send_prepare: next qmp command: '{
    "execute": "qmp_capabilities",
    "id": 1
}
'
libxl: debug: libxl_qmp.c:296:qmp_handle_response: message type: return
libxl: debug: libxl_qmp.c:555:qmp_send_prepare: next qmp command: '{
    "execute": "cont",
    "id": 2
}
'
libxl: debug: libxl_qmp.c:296:qmp_handle_response: message type: return
xc: debug: hypercall buffer: total allocations:994 total releases:994
xc: debug: hypercall buffer: current allocations:0 maximum allocations:3
xc: debug: hypercall buffer: cache current size:3
xc: debug: hypercall buffer: cache hits:982 misses:3 toobig:9



_______________________________________________
Xen-users mailing list
[hidden email]
https://lists.xen.org/xen-users
Reply | Threaded
Open this post in threaded view
|

Re: UEFI bios

Roger Pau Monné-3
On Fri, Oct 27, 2017 at 10:40:31AM -0400, Phil Susi wrote:

> On 10/27/2017 10:34 AM, Roger Pau Monné wrote:
> > On Thu, Oct 26, 2017 at 01:17:34PM -0400, Phil Susi wrote:
> >> I'm trying to emulate a system with UEFI bios.  I set the bios='ovmf'
> >> option in the config, but the domain just shuts down immediately.  Is
> >> there some specific path where it is looking for the file, and maybe not
> >> finding it and not logging any error?  I seem to have
> >> /usr/share/ovmf/OVMF.fd and /usr/share/qemu/OVMF.fd.
> >
> > Can you paste the output verbose output of the domain build process,
> > you will have to add '-vvv' to your xl command:
> >
> > xl -vvv create ....

Hm, the output doesn't seem to contain anything much relevant. Have
you compiled the hypervisor with debug support? If so the output from
`xl dmesg` would also be helpful.

Thanks, Roger.

_______________________________________________
Xen-users mailing list
[hidden email]
https://lists.xen.org/xen-users
Reply | Threaded
Open this post in threaded view
|

Re: UEFI bios

Phil Susi
On 10/27/2017 10:50 AM, Roger Pau Monné wrote:
> Hm, the output doesn't seem to contain anything much relevant. Have
> you compiled the hypervisor with debug support? If so the output from
> `xl dmesg` would also be helpful.

No; I'm just using the package provided in Ubuntu 16.04.  Is there any
other logging I can turn on or go check somewhere without having to reboot?


_______________________________________________
Xen-users mailing list
[hidden email]
https://lists.xen.org/xen-users
Reply | Threaded
Open this post in threaded view
|

Re: UEFI bios

Mark Pryor
In reply to this post by Phil Susi
Phil,

The 16.04 distro has Xen 4.6.5 and qemu-2.5, although xen4.6 released using qemu-2.2.

I don't believe there was support for OVMF bios in qemu-2.2, nor in xen-4.6. You can tell if Xen was built with OVMF bios support when you see hvmloader> 1.5 MB, since it is carrying an embedded 1MB blob.

I know the preferences of many 16.04 Xen users and the majority will not use the distro packages, but prefer a source build like this:


If you navigate up you can find xen-4.8 builds too.

PryMar56
##xen-packaging Freenode IRC



On Thursday, October 26, 2017 10:19 AM, Phil Susi <[hidden email]> wrote:


I'm trying to emulate a system with UEFI bios.  I set the bios='ovmf'
option in the config, but the domain just shuts down immediately.  Is
there some specific path where it is looking for the file, and maybe not
finding it and not logging any error?  I seem to have
/usr/share/ovmf/OVMF.fd and /usr/share/qemu/OVMF.fd.


_______________________________________________
Xen-users mailing list



_______________________________________________
Xen-users mailing list
[hidden email]
https://lists.xen.org/xen-users
Reply | Threaded
Open this post in threaded view
|

Re: UEFI bios

Mark Pryor
In reply to this post by Phil Susi

dpkg -L xen-utils-4.6
/usr/lib/xen-4.6/boot/hvmloader

check that path/size. If its more than 1.5 MB it has an embedded OVMF bios.

You can try to specify an alternate ovmf bios:
bios_path_override="PATH"

in xl config. This was supported in xen-4.9 and above.
On Friday, October 27, 2017 2:25 PM, Mark Pryor <[hidden email]> wrote:


Phil,

The 16.04 distro has Xen 4.6.5 and qemu-2.5, although xen4.6 released using qemu-2.2.

I don't believe there was support for OVMF bios in qemu-2.2, nor in xen-4.6. You can tell if Xen was built with OVMF bios support when you see hvmloader> 1.5 MB, since it is carrying an embedded 1MB blob.

I know the preferences of many 16.04 Xen users and the majority will not use the distro packages, but prefer a source build like this:


If you navigate up you can find xen-4.8 builds too.

PryMar56
##xen-packaging Freenode IRC



On Thursday, October 26, 2017 10:19 AM, Phil Susi <[hidden email]> wrote:


I'm trying to emulate a system with UEFI bios.  I set the bios='ovmf'
option in the config, but the domain just shuts down immediately.  Is
there some specific path where it is looking for the file, and maybe not
finding it and not logging any error?  I seem to have
/usr/share/ovmf/OVMF.fd and /usr/share/qemu/OVMF.fd.


_______________________________________________
Xen-users mailing list





_______________________________________________
Xen-users mailing list
[hidden email]
https://lists.xen.org/xen-users
Reply | Threaded
Open this post in threaded view
|

Re: UEFI bios

Phil Susi
On 10/27/2017 6:05 PM, Mark Pryor wrote:
>  
> dpkg -L xen-utils-4.6
> /usr/lib/xen-4.6/boot/hvmloader
>
> check that path/size. If its more than 1.5 MB it has an embedded OVMF bios.

Looks like the answer is no.  Why would it be embedded though instead of
just asking qemu to load the ovmf firmware image into the device model
instead of the default seabios?  I've been doing this easily with just
qemu for a few years now.

If I understand you right, 16.04 hit a bad spot in time where it has a
new enough qemu to support ovmf, but a slightly older xen that did not.
Is that correct?


_______________________________________________
Xen-users mailing list
[hidden email]
https://lists.xen.org/xen-users