...
Code Block | ||
---|---|---|
| ||
let local_stuff = [ "serial/0/limit", string_of_int 65536; "console/limit", string_of_int 65536; "console/port", string_of_int console_port; "console/ring-ref", sprintf "%nu" console_mfn; "hvmloader/bios", "seabios"; "hvmloader/seabios-legacy-load-roms", "1"; <--- that guy ] in Looks like this under /local/domain/<n> hvmloader = "" bios = "seabios" seabios-legacy-load-roms = "1" |
VHD Compatibility
Certain VHDs that were created with an upstream version of Xen cannot be used in current OpenXT. At least we think that is the case - really the only one is the CentOS VHD that was created at some point with some version of Xen tools. In general it is now believed that even though we change the VHD meta structures, our VHDs are still compatible. This is why:
Code Block | ||
---|---|---|
| ||
struct dd_batmap_hdr {
char cookie[8]; /* should contain "tdbatmap" */
u64 batmap_offset; /* byte offset to batmap */ <--- This is the offset to where the allocation tables reside after this struct
u32 batmap_size; /* batmap size in sectors */
u32 batmap_version; /* version of batmap */
u32 checksum; /* batmap checksum -- 1's complement of batmap */
/* We add extra stuffs here like the keyhash but the batmap_offset is adjusted to skip them */
};
|
Arguments to QEMU
We did something non standard when invoking QEMU. We slapped the domid as arg 1. Just noting it here in case we run into trouble.
Code Block |
---|
Nonstandard args: Mar 17 19:11:34.942096 dm-agent-0: Info:spawn.c:spawn_dump_cmdline:352: Domain 3: Devmodel 0: cmdline: /usr/sbin/svirt-interpose 3 -xen-domid 3 -nodefaults -name qemu-3.0 -machine xenfv,max-ram-below-4g=0xf0000000 -m 1024 -smp 2 -boot cd -device xenmou -xen-acpi-pm -vga std -display surfman -serial pty -drive file=/storage/isos/null.iso,if=ide,index=2,media=cdrom,format=file,readonly=on -drive file=/dev/xen/blktap-2/tapdev5,if=ide,index=0,media=disk,format=raw,readonly=off -drive file=atapi-pt-local:/dev/bsg/2:0:0:0,media=cdrom,if=atapi-pt,format=raw,readonly=off -soundhw ac97 Nonstandard hackery in the wrapper: DOMID=$1 shift 1 |
GDB and QEMU
Running QEMU in GDB has proven to be very helpful. Simply copy the gdb binaries (gdb, gdbserver, and gdbtui) on to your OpenXT machine and replace the /usr/lib/xen/bin/qemu-system-i386 script with:
...