[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] Discussion: xen hvm guest direct kernel boot

From: Chun Yan Liu
Subject: [Qemu-devel] Discussion: xen hvm guest direct kernel boot
Date: Fri, 25 Apr 2014 01:08:18 -0600


I'm looking at xen hvm guest direct kernel boot and interested to do
it. I found there were some discussions about it and an early work
around by Daniel (based on xen qemu-dm).

In xen, the BIOS is provided by hvmloader, which is loaded to RAM in
libxc. When hvmloader finishes, it jumps to BIOS entry point. BIOS
will probe for MBR from qemu disk, through grub loading kernel and
initrd to correct address and then start the guest kernel.

In [2], the work around implementation is to pass kernel and initrd
to qemu, qemu reads kernel and initrd to certain address and generate
a boot sector on the 1st disk for BIOS probing.

But in current qemu code, the load_linux() way is different. It reads
kernel and initrd to certain address, then put linuxboot.bin and
multiboot.bin to option roms which will intercept boot process, so
that boot process will jump to linuxboot.bin/multiboot.bin instead
of normal int19 probing MBR stage. This sounds much cleaner then
generating a boot sector. And in current xen hvmloader, it uses
seabios, which is also the one upstream qemu uses.

So, back to xen direct kernel boot, I wonder if not generate a boot
sector for BIOS probing, could we break hvmloader limitation and
borrow qemu load_linux() way to achieve the goal? Then, where is the
right place to load the kernel and initrd, any way to intercept boot
process? Could we touch hvmloader?

My knowledge is limited in this part. Welcome experts' clues or ideas
or discussions. Thanks.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]