[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [Xen-devel] Discussion: xen hvm guest direct kernel boo
Re: [Qemu-devel] [Xen-devel] Discussion: xen hvm guest direct kernel boot
Mon, 28 Apr 2014 16:36:08 +0100
On Fri, 2014-04-25 at 01:08 -0600, Chun Yan Liu wrote:
> 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 , 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
The option ROM way does sound like a neater mechanism. The only issue I
can think of is that it may be incompatible with putting qemu into a
stubdom, because it requires that qemu can read the file from disk.
For save restore I think the same problem is solved by wiring the save
file up to a qemu chr device attached to a secondary PV console, so qemu
within the stubdom can stream the save image once. Perhaps something
similar could be done here?
> Could we touch hvmloader?
If the patches are clean I don't see why not, but solving it in qemu
sounds like it could be cleaner, at least for the 10,000 foot view I
have of it right now.
> My knowledge is limited in this part. Welcome experts' clues or ideas
> or discussions. Thanks.
> Xen-devel mailing list