Discussion:
PV Grub Questions
Todd Deshane
2008-08-26 19:57:50 UTC
Permalink
I am using Xen 3.3 from source.

My PV guest boots fine with the normal kernel and initrd options

When I boot the guest with PV GRUB I only get:

GNU GRUB version 0.97 (65536K lower / 0K upper memory)

[ Minimal BASH-like line editing is supported. For
the first word, TAB lists possible command
completions. Anywhere else TAB lists the possible
completions of a device/filename. ]

grubdom>

Normally in this situation I would do one of the following:

a)
root (hd0,1)
setup (hd0)
boot (or quit)

In this case however setup and quit are unknown commands.
Is that expected?

b)
kernel (hd0,1)/boot/vmlinuz-2.6.18.8-xen
initrd (hd0,1)/boot/initrd.img-2.6.18.8-xen
boot

In this case, I get
Page fault in pagetable walk (access to invalid memory?).

I get dropped back to the dom0 command line and the guest is still running
xm console guest bring me to a grubdom> prompt.

If I only specify a kernel, i.e.
kernel (hd0,1)/boot/vmlinuz-2.6.18.8-xen
boot

It starts booting the kernel, but gets stuck during the boot process at:

rtc: IRQ 8 is not free.
Non-volatile memory driver v1.2
RAMDISK driver initialized: 16 RAM disks of 16384K size 1024 blocksize
loop: loaded (max 8 devices)
Xen virtual console successfully installed as xvc0
Event-channel device installed.
netfront: Initialising virtual ethernet driver.
xen-vbd: registered block device major 3
hda:

(Full boot output included below ***)

Below is all the relevant information that I could think of.

Any ideas on the best way to troubleshoot?

Thanks in advance.

Cheers,
Todd

APPENDIX OF TROUBLESHOOTING INFO

The disk image was created with dd and the partitions were made with
parted --script <disk image> <commands>

# fdisk -l output
fdisk -l /root/benchvm/bin/img-xen-guest/image-0.img
You must set cylinders.
You can do this from the extra functions menu.

Disk /root/benchvm/bin/img-xen-guest/image-0.img: 0 MB, 0 bytes
4 heads, 32 sectors/track, 0 cylinders
Units = cylinders of 128 * 512 = 65536 bytes
Disk identifier: 0x00019635

Device Boot Start
End Blocks Id System
/root/benchvm/bin/img-xen-guest/image-0.img1 1
7813 500016 82 Linux swap / Solaris
Partition 1 has different physical/logical endings:
phys=(1023, 3, 32) logical=(7812, 3, 32)
/root/benchvm/bin/img-xen-guest/image-0.img2 7814
76406 4389952 83 Linux
Partition 2 has different physical/logical beginnings (non-Linux?):
phys=(1023, 3, 32) logical=(7813, 0, 1)
Partition 2 has different physical/logical endings:
phys=(1023, 3, 32) logical=(76405, 3, 32)


#pygrub try

pygrub /root/benchvm/bin/img-xen-guest/image-0.img
Traceback (most recent call last):
File "/usr/bin/pygrub", line 655, in <module>
fs = fsimage.open(file, get_fs_offset(file))
File "/usr/bin/pygrub", line 117, in get_fs_offset
offset += get_solaris_slice(file, offset)
File "/usr/bin/pygrub", line 80, in get_solaris_slice
raise RuntimeError, "Invalid disklabel magic"
RuntimeError: Invalid disklabel magic


My guest config:

kernel = "/usr/lib64/xen/boot/pv-grub-x86_64.gz"
extra = "(hd0,1)/boot/grub/menu.lst"
memory = 64
vif = [ '' ]
disk = [ 'tap:aio:/root/benchvm/bin/img-xen-guest/image-0.img,hda,w' ]
root = "/dev/hda2 ro"

My grub config file

default 0
timeout 3

title Ubuntu 8.04, kernel 2.6.27-rc4 Default
root (hd0,1)
kernel /boot/vmlinuz root=UUID=d301f12e-0d78-416d-8946-a091291fffe7
ro quiet splash
quiet

title Ubuntu 8.04, kernel 2.6.24-16-xen
root (hd0,1)
kernel /boot/vmlinuz-2.6.24-16-xen
root=UUID=d301f12e-0d78-416d-8946-a091291fffe7 ro quiet splash
initrd /boot/initrd.img-2.6.24-16-xen
quiet

title Ubuntu 8.04, kernel 2.6.18.8-xen
root (hd0,1)
kernel /boot/vmlinuz-2.6.18.8-xen
root=UUID=d301f12e-0d78-416d-8946-a091291fffe7 ro quiet splash
initrd /boot/initrd.img-2.6.18.8-xen
quiet


***Full boot outuput from only using kernel, then boot on grubdom prompt

close blk: backend at /local/domain/0/backend/tap/30/768
WARNING: g.e. still in use! (19)
Bootdata ok (command line is )
Linux version 2.6.18.8-xen (***@test1) (gcc version 4.2.3 (Ubuntu
4.2.3-2ubuntu7)) #1 SMP Sun Aug 24 22:15:44 EDT 2008
BIOS-provided physical RAM map:
Xen: 0000000000000000 - 0000000004800000 (usable)
No mptable found.
Built 1 zonelists. Total pages: 17147
Kernel command line:
Initializing CPU#0
PID hash table entries: 512 (order: 9, 4096 bytes)
Xen reported: 2393.998 MHz processor.
Console: colour dummy device 80x25
Dentry cache hash table entries: 16384 (order: 5, 131072 bytes)
Inode-cache hash table entries: 8192 (order: 4, 65536 bytes)
Software IO TLB disabled
Memory: 60064k/73728k available (2022k kernel code, 5412k reserved,
873k data, 176k init)
Calibrating delay using timer specific routine.. 4788.99 BogoMIPS (lpj=23944986)
Security Framework v1.0.0 initialized
Capability LSM initialized
Mount-cache hash table entries: 256
, L1 D cache: 32K
CPU: Physical Processor ID: 0
CPU: Processor Core ID: 0
SMP alternatives: switching to UP code
Freeing SMP alternatives: 28k freed
Brought up 1 CPUs
migration_cost=0
NET: Registered protocol family 16
Brought up 1 CPUs
PCI: setting up Xen PCI frontend stub
ACPI: Interpreter disabled.
Linux Plug and Play Support v0.97 (c) Adam Belay
pnp: PnP ACPI: disabled
suspend: event channel 6
xen_mem: Initialising balloon driver.
PCI: System does not support PCI
PCI: System does not support PCI
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 1, 8192 bytes)
TCP established hash table entries: 4096 (order: 4, 65536 bytes)
TCP bind hash table entries: 2048 (order: 3, 32768 bytes)
TCP: Hash tables configured (established 4096 bind 2048)
TCP reno registered
IA-32 Microcode Update Driver: v1.14a-xen <***@veritas.com>
audit: initializing netlink socket (disabled)
audit(1219780377.445:1): initialized
VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
Initializing Cryptographic API
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)
rtc: IRQ 8 is not free.
Non-volatile memory driver v1.2
RAMDISK driver initialized: 16 RAM disks of 16384K size 1024 blocksize
loop: loaded (max 8 devices)
Xen virtual console successfully installed as xvc0
Event-channel device installed.
netfront: Initialising virtual ethernet driver.
xen-vbd: registered block device major 3
hda:
--
Todd Deshane
http://todddeshane.net
check out our book: http://runningxen.com
Keir Fraser
2008-08-26 20:35:33 UTC
Permalink
Post by Todd Deshane
root (hd0,1)
setup (hd0)
boot (or quit)
In this case however setup and quit are unknown commands.
Is that expected?
Aren't setup and quit only available when running grub as a utility rather
than in bootloader mode? setup is the command which installs the grub
bootloader program, and quit exits the utility -- neither makes sense from
the bootloader command line (which is the mode in which pvgrub runs).

-- Keir
Todd Deshane
2008-08-26 20:51:32 UTC
Permalink
Post by Keir Fraser
Post by Todd Deshane
root (hd0,1)
setup (hd0)
boot (or quit)
In this case however setup and quit are unknown commands.
Is that expected?
Aren't setup and quit only available when running grub as a utility rather
than in bootloader mode? setup is the command which installs the grub
bootloader program, and quit exits the utility -- neither makes sense from
the bootloader command line (which is the mode in which pvgrub runs).
Well I have run those many times on broken physical systems to get them
to boot, but it is not an essential feature for PV GRUB, I'm just trying to get
it to work in general. I was just trying any way in that I could.

Cheers,
Todd
Gerd Hoffmann
2008-08-27 07:59:15 UTC
Permalink
Post by Keir Fraser
Post by Todd Deshane
root (hd0,1)
setup (hd0)
boot (or quit)
In this case however setup and quit are unknown commands.
Is that expected?
Aren't setup and quit only available when running grub as a utility rather
than in bootloader mode?
quit is utility only. install/setup works in grub too, and in fact it
was the only way to install grub to disk in the very early grub days:
First "cat stage1 stage2 > /dev/fd0", then boot from the floppy, then
install grub on the hard disk.

For pvgrub install/setup that doesn't make sense at all because it isn't
BIOS-loaded from the guest hard disk in the first place. You have to
pass in the path to the config file via
extra="(hd0,0)/boot/grub/menu.lst" to make it display a menu though.

cheers,
Gerd
Samuel Thibault
2008-08-26 23:45:05 UTC
Permalink
Hello,
Post by Todd Deshane
a)
root (hd0,1)
setup (hd0)
boot (or quit)
In this case however setup and quit are unknown commands.
Is that expected?
Yes. The MBR of a partition is supposed to contain a real bootloader,
not a PV bootloader, thus the setup command doesn't hold. quit only
makes sense when running from a Unix shell, so doesn't make sense here,
reboot or halt can be used instead.
Post by Todd Deshane
b)
kernel (hd0,1)/boot/vmlinuz-2.6.18.8-xen
initrd (hd0,1)/boot/initrd.img-2.6.18.8-xen
boot
In this case, I get
Page fault in pagetable walk (access to invalid memory?).
Should work :/
Could you send me your images so I can test?
Post by Todd Deshane
rtc: IRQ 8 is not free.
Non-volatile memory driver v1.2
RAMDISK driver initialized: 16 RAM disks of 16384K size 1024 blocksize
loop: loaded (max 8 devices)
Xen virtual console successfully installed as xvc0
Event-channel device installed.
netfront: Initialising virtual ethernet driver.
xen-vbd: registered block device major 3
Is there any message in dom0's dmesg or xm dmesg?

Samuel
Todd Deshane
2008-08-27 02:32:52 UTC
Permalink
Hello Samuel,

Thanks again for the response and offer to look into it.

Comments/questions inline.

On Tue, Aug 26, 2008 at 7:45 PM, Samuel Thibault
Post by Samuel Thibault
Hello,
Post by Todd Deshane
a)
root (hd0,1)
setup (hd0)
boot (or quit)
In this case however setup and quit are unknown commands.
Is that expected?
Yes. The MBR of a partition is supposed to contain a real bootloader,
not a PV bootloader, thus the setup command doesn't hold. quit only
makes sense when running from a Unix shell, so doesn't make sense here,
reboot or halt can be used instead.
So do you mean that this is fundamental to a PV guest or just under these
circumstances?

Since I am able to run the following when booted into the same guest by
passing a kernel and ramdisk.

grub> root (hd0,1)
root (hd0,1)
grub> setup (hd0)
setup (hd0)
Checking if "/boot/grub/stage1" exists... yes
Checking if "/boot/grub/stage2" exists... yes
Checking if "/boot/grub/e2fs_stage1_5" exists... yes
Running "embed /boot/grub/e2fs_stage1_5 (hd0)"... 16 sectors are embedded.
succeeded
Running "install /boot/grub/stage1 (hd0) (hd0)1+16 p
(hd0,1)/boot/grub/stage2 /boot/grub/menu.lst"... succeeded
Done.
grub> quit
quit
Post by Samuel Thibault
Post by Todd Deshane
b)
kernel (hd0,1)/boot/vmlinuz-2.6.18.8-xen
initrd (hd0,1)/boot/initrd.img-2.6.18.8-xen
boot
In this case, I get
Page fault in pagetable walk (access to invalid memory?).
Should work :/
Could you send me your images so I can test?
Sent a link in a previous private mail, let me know if there are any problems.
Post by Samuel Thibault
Post by Todd Deshane
rtc: IRQ 8 is not free.
Non-volatile memory driver v1.2
RAMDISK driver initialized: 16 RAM disks of 16384K size 1024 blocksize
loop: loaded (max 8 devices)
Xen virtual console successfully installed as xvc0
Event-channel device installed.
netfront: Initialising virtual ethernet driver.
xen-vbd: registered block device major 3
Is there any message in dom0's dmesg or xm dmesg?
Nothing is added to dmesg or xm dmesg that I can see.

I did however notice some text fly by that I hadn't before.

it is below just in case it could be useful in debugging

when running the xm create -c guest1, I get:

Using config file "/etc/xen/guest1".
Started domain guest1
Xen Minimal OS!
start_info: 0x9ac000
nr_pages: 16384 shared_inf: cec1c000
pt_base: 0x9af000 mod_start: 0x0
mod_len: 0
flags: 0x0
cmd_line: root=/dev/hda2 ro (hd0,1)/boot/grub/menu.lst
stack: 0x94b860-0x96b860
MM: Init
_text: 0x0
_etext: 0x5cd36
_erodata: 0x74000
_edata: 0x7cb00
stack start: 0x94b860
_end: 0x98be48
start_pfn: 9bb
max_pfn: 4000
Mapping memory range 0xc00000 - 0x4000000
setting 0x0-0x74000 readonly

followed by the GRUB/grubdom prompt on a cleared screen.

Cheers,
Todd
Samuel Thibault
2008-08-27 09:02:30 UTC
Permalink
Post by Todd Deshane
Post by Samuel Thibault
Yes. The MBR of a partition is supposed to contain a real bootloader,
not a PV bootloader, thus the setup command doesn't hold. quit only
makes sense when running from a Unix shell, so doesn't make sense here,
reboot or halt can be used instead.
So do you mean that this is fundamental to a PV guest or just under these
circumstances?
As Gerd explained, that's fundamental to a PV guest. I really don't
want to implement stage1/1.5/2 while the domain builder can just boot
PV-GRUB directly :)
Post by Todd Deshane
grub> root (hd0,1)
root (hd0,1)
grub> setup (hd0)
setup (hd0)
Checking if "/boot/grub/stage1" exists... yes
Checking if "/boot/grub/stage2" exists... yes
Checking if "/boot/grub/e2fs_stage1_5" exists... yes
Running "embed /boot/grub/e2fs_stage1_5 (hd0)"... 16 sectors are embedded.
succeeded
Running "install /boot/grub/stage1 (hd0) (hd0)1+16 p
(hd0,1)/boot/grub/stage2 /boot/grub/menu.lst"... succeeded
Done.
grub> quit
quit
Yes, but that installed the real grub, one that is loaded by a real BIOS
with real IDE disks etc, not PV-GRUB.
Post by Todd Deshane
Started domain guest1
Xen Minimal OS!
... etc
Yes, that is Mini-OS boot messages, not useful here actually.

Samuel
Samuel Thibault
2008-08-27 15:33:42 UTC
Permalink
Hello,
Post by Todd Deshane
kernel (hd0,1)/boot/vmlinuz-2.6.18.8-xen
initrd (hd0,1)/boot/initrd.img-2.6.18.8-xen
boot
In this case, I get
Page fault in pagetable walk (access to invalid memory?).
It looks like a stack overflow, possibly because initrd.img is a bit big
(6MB), I'm looking in the zlib code to see where that could come from.
In the meanwhile, you can try to increase __STACK_SIZE_PAGE_ORDER to 5
in extras/mini-os/include/x86/arch_limits.h, that works for me.

Samuel
Todd Deshane
2008-08-27 19:33:40 UTC
Permalink
Hello,

On Wed, Aug 27, 2008 at 11:33 AM, Samuel Thibault
Post by Samuel Thibault
Hello,
Post by Todd Deshane
kernel (hd0,1)/boot/vmlinuz-2.6.18.8-xen
initrd (hd0,1)/boot/initrd.img-2.6.18.8-xen
boot
In this case, I get
Page fault in pagetable walk (access to invalid memory?).
It looks like a stack overflow, possibly because initrd.img is a bit big
(6MB), I'm looking in the zlib code to see where that could come from.
In the meanwhile, you can try to increase __STACK_SIZE_PAGE_ORDER to 5
in extras/mini-os/include/x86/arch_limits.h, that works for me.
I made the change in the file above as:

#define __STACK_SIZE_PAGE_ORDER 5

Now I get:
grubdom> kernel (hd0,1)/boot/vmlinuz-2.6.18.8-xen
grubdom> initrd (hd0,1)/boot/initrd.img-2.6.18.8-xen

grubdom> boot
Cannot handle page request order 0!
Page fault at linear address 0x0, rip 0x4f730, regs 0xa9fd08, sp
0xa9fdb0, our_sp 0xa9fcd0, code 2
Thread: main
RIP: e030:[<000000000004f730>]
RSP: e02b:0000000000a9fdb0 EFLAGS: 00010202
RAX: 0000000000000000 RBX: 000000200685bcd8 RCX: 0000000000000020
RDX: 0000000000001000 RSI: 0000000000000000 RDI: 0000000000000000
RBP: 0000000000a9fde8 R08: 0101010101010101 R09: 0000000000000000
R10: 0000000000000000 R11: 000000000000003f R12: 000000000010e79d
R13: 000000000000d368 R14: 0000000000001a6d R15: 0000002006803d80
base is 0xa9fde8 caller is 0x187ca
base is 0xa9fe58 caller is 0x3c63
base is 0xa9fe68 caller is 0x8e65
base is 0xa9fe88 caller is 0xaa9f
base is 0xa9feb8 caller is 0x10bd3
base is 0xa9ff58 caller is 0x4129
base is 0xa9ff68 caller is 0x425ad
base is 0xa9ffe8 caller is 0x33da

a9fda0: b0 fd a9 00 00 00 00 00 2b e0 00 00 00 00 00 00
a9fdb0: 95 84 01 00 00 00 00 00 00 1c 00 00 00 00 00 00
a9fdc0: 80 3d 80 06 20 00 00 00 60 3d 00 04 20 00 00 00
a9fdd0: 20 d3 72 00 00 00 00 00 70 3d 80 04 20 00 00 00

a9fdd0: 20 d3 72 00 00 00 00 00 70 3d 80 04 20 00 00 00
a9fde0: 00 18 34 01 00 00 00 00 58 fe a9 00 00 00 00 00
a9fdf0: ca 87 01 00 00 00 00 00 0d 00 00 00 4e 00 00 00
a9fe00: 09 00 00 00 00 00 00 00 c8 03 00 00 00 00 00 00

4f720: 48 81 fa 00 01 00 00 72 78 48 c1 e9 07 0f 1f 00
4f730: 48 0f c3 07 48 0f c3 47 08 48 0f c3 47 10 48 0f
4f740: c3 47 18 48 0f c3 47 20 48 0f c3 47 28 48 0f c3
4f750: 47 30 48 0f c3 47 38 48 0f c3 47 40 48 0f c3 47
Pagetable walk from virt 0, base 9f0000:
L4 = 00000001113b7067 (0x9f1000) [offset = 0]
L3 = 00000001113b6067 (0x9f2000) [offset = 0]
L2 = 0000000102cb9067 (0x9f3000) [offset = 0]
L1 = 0000000000000000 [offset = 0]

Again, I get bumped from the guest and xm console back
in brings me to a grubdom prompt.

Any ideas?

Cheers,
Todd
--
Todd Deshane
http://todddeshane.net
check out our book: http://runningxen.com
Samuel Thibault
2008-08-27 23:05:02 UTC
Permalink
Post by Todd Deshane
grubdom> boot
Cannot handle page request order 0!
The message could be less verbose, but that should be it: IIRC you have
only 64MB in your domain, that's actually not so much for building a PV
domain.

Samuel
Todd Deshane
2008-08-28 00:48:13 UTC
Permalink
On Wed, Aug 27, 2008 at 7:05 PM, Samuel Thibault
Post by Samuel Thibault
Post by Todd Deshane
grubdom> boot
Cannot handle page request order 0!
The message could be less verbose, but that should be it: IIRC you have
only 64MB in your domain, that's actually not so much for building a PV
domain.
I gave it a bunch more memory and now it hangs try to boot at the same
point as before...

<Boot Process>
RAMDISK driver initialized: 16 RAM disks of 16384K size 1024 blocksize
loop: loaded (max 8 devices)
Xen virtual console successfully installed as xvc0
Event-channel device installed.
netfront: Initialising virtual ethernet driver.
xen-vbd: registered block device major 3
hda:
<HANG>

Something in the way PV GRUB is doing things, since booting manually
with kernel and ramdisk still works.

It may be some option to the kernel command line, i tried adding:

things like the following to kernel grubdom line, with no luck, still hangs.
xencons=tty root=/dev/hda2
console=tty1 root=/dev/hda2
console=xvc0 root=/dev/hda2

The bigger problem though is the PV GRUB isn't actually working like I
might expect it to.

Do I need to pass the menu.lst file in the ramdisk option to see a grub
menu? Or should it detect the menu.lst within the guest disk image file?

Is there a simple example that I could download and work with to get
a sense of a working PV GRUB example?

Cheers,
Todd
Todd Deshane
2008-08-28 13:34:19 UTC
Permalink
On Thu, Aug 28, 2008 at 4:57 AM, Samuel Thibault
Post by Todd Deshane
On Wed, Aug 27, 2008 at 7:05 PM, Samuel Thibault
Post by Samuel Thibault
Post by Todd Deshane
grubdom> boot
Cannot handle page request order 0!
The message could be less verbose, but that should be it: IIRC you have
only 64MB in your domain, that's actually not so much for building a PV
domain.
I gave it a bunch more memory and now it hangs try to boot at the same
point as before...
<Boot Process>
RAMDISK driver initialized: 16 RAM disks of 16384K size 1024 blocksize
loop: loaded (max 8 devices)
Xen virtual console successfully installed as xvc0
Event-channel device installed.
netfront: Initialising virtual ethernet driver.
xen-vbd: registered block device major 3
Ok, is your dom0 kernel a Xen 3.3 kernel? If yes, could you send me its
configuration?
Yes a default make world build of Xen 3.3, config attached.
Post by Todd Deshane
Do I need to pass the menu.lst file in the ramdisk option to see a grub
menu? Or should it detect the menu.lst within the guest disk image file?
Is there a simple example that I could download and work with to get
a sense of a working PV GRUB example?
Errr, did you read /usr/share/doc/xen/README.stubdom? And there is a
PV-GRUB example in /etc/xen/xmexample.pv-grub.
I just read the <xen source tree>/stubdom/README file, particularly focusing
on the PV-GRUB section. The description matches my understanding, but
the results of using it do not...

This README does not appear to be installed to
the system in /usr/share/doc/xen, is it expected to be?

I based my configuration directly from the /etc/xen/xmexample.pv-grub that
you suggest. I think I mis-worded my request for an example. I suspect that
my problem is either the disk image or some of configuration issue, is there
a smallish disk image that you could make available for me to use with its
corresponding config file so that I could get a known working disk image
to narrow down the isssue?

Cheers,
Todd
Samuel Thibault
2008-08-28 13:48:42 UTC
Permalink
Post by Todd Deshane
Errr, did you read /usr/share/doc/xen/README.stubdom? And there is a
PV-GRUB example in /etc/xen/xmexample.pv-grub.
I just read the <xen source tree>/stubdom/README file, particularly focusing
on the PV-GRUB section. The description matches my understanding, but
the results of using it do not...
This README does not appear to be installed to
the system in /usr/share/doc/xen, is it expected to be?
It should get installed to /usr/share/doc/xen/README.stubdom yes
Post by Todd Deshane
I suspect that my problem is either the disk image or some of
configuration issue, is there a smallish disk image that you could
make available for me to use with its corresponding config file so
that I could get a known working disk image to narrow down the isssue?
Well IIRC I'm just using the 3.3 dom0 kernel too (though with less
modules to get it compiled faster).

Samuel
Todd Deshane
2008-08-28 17:17:21 UTC
Permalink
Post by Samuel Thibault
Post by Todd Deshane
This README does not appear to be installed to
the system in /usr/share/doc/xen, is it expected to be?
It should get installed to /usr/share/doc/xen/README.stubdom yes
The issue seems to be that make install was not called in the stubdom
directory by default.

I ran make install manually in stubdom/ and it installed everything. I re-ran
make dist manually and in fact it doesn't actually call make install directly,
instead it does:

install -m0644 -p README
/root/xen-3.3.0/dist/install/usr/share/doc/xen/README.stubdom

Which for some reason doesn't work, since I checked the install location
( /root/xen-3.3.0/dist/install/usr/share/doc/xen/) manually and it
doesn't show up there.

So, I'm not sure what the real issue is why the README files don't also make it
into /usr/share/doc/xen. They would be useful I think, so if you have
ideas on what
to fix/try I'd be willing to test.

Cheers,
Todd
Samuel Thibault
2008-08-28 17:25:17 UTC
Permalink
Post by Todd Deshane
Post by Samuel Thibault
Post by Todd Deshane
This README does not appear to be installed to
the system in /usr/share/doc/xen, is it expected to be?
It should get installed to /usr/share/doc/xen/README.stubdom yes
The issue seems to be that make install was not called in the stubdom
directory by default.
Err, well, just like other xen directories, no?

Samuel
Todd Deshane
2008-08-28 17:31:20 UTC
Permalink
On Thu, Aug 28, 2008 at 1:25 PM, Samuel Thibault
Post by Samuel Thibault
Post by Todd Deshane
Post by Samuel Thibault
Post by Todd Deshane
This README does not appear to be installed to
the system in /usr/share/doc/xen, is it expected to be?
It should get installed to /usr/share/doc/xen/README.stubdom yes
The issue seems to be that make install was not called in the stubdom
directory by default.
Err, well, just like other xen directories, no?
Well the only docs that are installed are the user.{pdf,ps} and
interface.{pdf,ps}

Also if you have graphviz, the xenapi.{pdf,ps} is probably also built/installed.

Maybe it is policy not to include the READMEs or maybe I am missing the
build flag.

My offer to test/try/things debug is still available if I get suggestions.

Cheers,
Todd
Samuel Thibault
2008-08-28 17:33:12 UTC
Permalink
Post by Todd Deshane
Post by Samuel Thibault
Err, well, just like other xen directories, no?
Well the only docs that are installed are the user.{pdf,ps} and
interface.{pdf,ps}
I changed that a bit before the Xen 3.3 release.

Samuel
Marco Sinhoreli
2008-09-03 12:18:02 UTC
Permalink
Hi Samuel, xen devels,

After apply the Samuel's patch in tools/libxc/xc_minios.c, I continue
having the same problem after boot the kenrel: "Page fault in
pagetable walk (access to invalid memory?)."

More informations:

# xm create -c pvmtest
Using config file "./pvmtest".
Started domain pvmtest
Xen Minimal OS!
start_info: 0xa8f000
nr_pages: 131072 shared_inf: bfcd6000
pt_base: 0xa92000 mod_start: 0x0
mod_len: 0
flags: 0x0
cmd_line: (hd0,0)/boot/grub/menu.lst
stack: 0x94e860-0x96e860
MM: Init
_text: 0x0
_etext: 0x5dfe7
_erodata: 0x75000
_edata: 0x7f3e0
stack start: 0x94e860
_end: 0x98ee48
start_pfn: a9e
max_pfn: 20000
Mapping memory range 0xc00000 - 0x20000000
setting 0x0-0x75000 readonly
skipped 0x1000
MM: Initialise page allocator for b98000(b98000)-20000000(20000000)
MM: done
Demand map pfns at 20001000-2020001000.
Heap resides at 2020002000-4020002000.
Initialising timer interface
Initialising console ... done.
gnttab_table mapped at 0x20001000.
Initialising scheduler
Thread "Idle": pointer: 0x2020002010, stack: 0xcb0000
Initialising xenbus
Thread "xenstore": pointer: 0x20200027c0, stack: 0xcc0000
Dummy main: start_info=0x96e960
Thread "main": pointer: 0x2020002f70, stack: 0xcd0000
"main" "(hd0,0)/boot/grub/menu.lst"
vbd 768 is hd0
******************* BLKFRONT for device/vbd/768 **********


backend at /local/domain/0/backend/vbd/107/768
Failed to read /local/domain/0/backend/vbd/107/768/feature-flush-cache.
20971520 sectors of 512 bytes
**************************


## menu.lst

title Debian GNU/Linux, kernel 2.6.18.8-xen
root (hd0,0)
kernel /boot/vmlinuz-2.6.18.8-xen root=/dev/hda1 ro quiet
initrd /boot/initrd.img-2.6.18.8-xen



# sed '/^#/d;/^$/d' pvmtest.cfg
kernel = "/usr/lib/xen/boot/pv-grub-x86_64.gz"
extra = "(hd0,0)/boot/grub/menu.lst"
memory = 512
name = "pvmtest"
vcpus = 1
vif = [ 'bridge=eth0' ]
disk = [ 'phy:empirevg/lenny.pvm,hda,w' ]
vfb = [ 'type=vnc' ]
on_poweroff = 'destroy'
on_reboot = 'restart'
on_crash = 'restart'



Best regards,
--
Marco Sinhoreli
Samuel Thibault
2008-09-03 21:01:09 UTC
Permalink
Post by Marco Sinhoreli
After apply the Samuel's patch in tools/libxc/xc_minios.c, I continue
having the same problem after boot the kenrel: "Page fault in
pagetable walk (access to invalid memory?)."
Just to make sure: did you make distclean?
Is it still "somehow" working without the initrd?
(it really works for me now)

Samuel
Marco Sinhoreli
2008-09-03 21:12:57 UTC
Permalink
Hi Samuel,

I updated the Xen from mercurial xen-3.3-testing and it's okay now.

Thanks,

On Wed, Sep 3, 2008 at 6:01 PM, Samuel Thibault
Post by Samuel Thibault
Post by Marco Sinhoreli
After apply the Samuel's patch in tools/libxc/xc_minios.c, I continue
having the same problem after boot the kenrel: "Page fault in
pagetable walk (access to invalid memory?)."
Just to make sure: did you make distclean?
Is it still "somehow" working without the initrd?
(it really works for me now)
Samuel
_______________________________________________
Xen-devel mailing list
http://lists.xensource.com/xen-devel
--
Marco Sinhoreli
Samuel Thibault
2008-08-28 14:04:21 UTC
Permalink
Post by Todd Deshane
I just read the <xen source tree>/stubdom/README file, particularly focusing
on the PV-GRUB section. The description matches my understanding, but
the results of using it do not...
Just to make it clear: I think the results do not just because of bugs
:)

About menu.lst, just to make sure, when you say "My grub config file",
it is in the guest (hd0,1) image, right?

Samuel
Todd Deshane
2008-08-28 14:11:51 UTC
Permalink
On Thu, Aug 28, 2008 at 10:04 AM, Samuel Thibault
Post by Samuel Thibault
Post by Todd Deshane
I just read the <xen source tree>/stubdom/README file, particularly focusing
on the PV-GRUB section. The description matches my understanding, but
the results of using it do not...
Just to make it clear: I think the results do not just because of bugs
:)
:), well I still don't rule out the case that I am doing something wrong still.

So, I am trying to give information that can help us decide if I am doing
something silly or if in fact there is a bug that was not found.
Post by Samuel Thibault
About menu.lst, just to make sure, when you say "My grub config file",
it is in the guest (hd0,1) image, right?
Yes, the root partition, which contains the boot and grub directories, is
on the virtual disk as /dev/hda2, I confirmed this and also early on sent
the fdisk -l of the disk image. I still haven't ruled out the fact that it could
be an issue with the detection of the disk image, but still need a working
disk image to test on somehow.

How do you create your disk images for test purposes? Do you use dd,
some install tool, etc?

Cheers,
Todd
Samuel Thibault
2008-08-28 08:57:57 UTC
Permalink
Post by Todd Deshane
On Wed, Aug 27, 2008 at 7:05 PM, Samuel Thibault
Post by Samuel Thibault
Post by Todd Deshane
grubdom> boot
Cannot handle page request order 0!
The message could be less verbose, but that should be it: IIRC you have
only 64MB in your domain, that's actually not so much for building a PV
domain.
I gave it a bunch more memory and now it hangs try to boot at the same
point as before...
<Boot Process>
RAMDISK driver initialized: 16 RAM disks of 16384K size 1024 blocksize
loop: loaded (max 8 devices)
Xen virtual console successfully installed as xvc0
Event-channel device installed.
netfront: Initialising virtual ethernet driver.
xen-vbd: registered block device major 3
Ok, is your dom0 kernel a Xen 3.3 kernel? If yes, could you send me its
configuration?
Post by Todd Deshane
Do I need to pass the menu.lst file in the ramdisk option to see a grub
menu? Or should it detect the menu.lst within the guest disk image file?
Is there a simple example that I could download and work with to get
a sense of a working PV GRUB example?
Errr, did you read /usr/share/doc/xen/README.stubdom? And there is a
PV-GRUB example in /etc/xen/xmexample.pv-grub.

Samuel
Samuel Thibault
2008-08-27 15:55:11 UTC
Permalink
Should be applied to the 3.3 tree as well.



stubdom: make xc_map_foreign_ranges use malloc instead of stack space

Signed-off-by: Samuel Thibault <***@eu.citrix.com>

diff -r 96bbda1afb81 tools/libxc/xc_minios.c
--- a/tools/libxc/xc_minios.c Wed Aug 27 15:53:44 2008 +0100
+++ b/tools/libxc/xc_minios.c Wed Aug 27 16:50:16 2008 +0100
@@ -80,9 +80,10 @@ void *xc_map_foreign_ranges(int xc_handl
size_t size, int prot, size_t chunksize,
privcmd_mmap_entry_t entries[], int nentries)
{
- unsigned long mfns[size / PAGE_SIZE];
+ unsigned long *mfns;
int i, j, n;
unsigned long pt_prot = 0;
+ void *ret;
#ifdef __ia64__
/* TODO */
#else
@@ -92,12 +93,16 @@ void *xc_map_foreign_ranges(int xc_handl
pt_prot = L1_PROT;
#endif

+ mfns = malloc((size / PAGE_SIZE) * sizeof(*mfns));
+
n = 0;
for (i = 0; i < nentries; i++)
for (j = 0; j < chunksize / PAGE_SIZE; j++)
mfns[n++] = entries[i].mfn + j;

- return map_frames_ex(mfns, n, 1, 0, 1, dom, 0, pt_prot);
+ ret = map_frames_ex(mfns, n, 1, 0, 1, dom, 0, pt_prot);
+ free(mfns);
+ return ret;
}
Samuel Thibault
2008-08-28 14:43:05 UTC
Permalink
Post by Todd Deshane
extra = "(hd0,1)/boot/grub/menu.lst"
memory = 64
vif = [ '' ]
disk = [ 'tap:aio:/root/benchvm/bin/img-xen-guest/image-0.img,hda,w' ]
root = "/dev/hda2 ro"
Oh, that root option is the cause of the menu not showing up. That
shouldn't be here, since it's in menu.lst itself. Won't solve the hang
however.

Samuel
Todd Deshane
2008-08-28 15:13:10 UTC
Permalink
On Thu, Aug 28, 2008 at 10:43 AM, Samuel Thibault
Post by Samuel Thibault
Post by Todd Deshane
extra = "(hd0,1)/boot/grub/menu.lst"
memory = 64
vif = [ '' ]
disk = [ 'tap:aio:/root/benchvm/bin/img-xen-guest/image-0.img,hda,w' ]
root = "/dev/hda2 ro"
Oh, that root option is the cause of the menu not showing up. That
shouldn't be here, since it's in menu.lst itself.
Cool, that is the first step on the way. I think that should be changed in the
xmexample.pv-grub file, it will help users following the examples.

Cheers,
Todd
Samuel Thibault
2008-08-28 15:27:37 UTC
Permalink
Post by Todd Deshane
On Thu, Aug 28, 2008 at 10:43 AM, Samuel Thibault
Post by Samuel Thibault
Post by Todd Deshane
extra = "(hd0,1)/boot/grub/menu.lst"
memory = 64
vif = [ '' ]
disk = [ 'tap:aio:/root/benchvm/bin/img-xen-guest/image-0.img,hda,w' ]
root = "/dev/hda2 ro"
Oh, that root option is the cause of the menu not showing up. That
shouldn't be here, since it's in menu.lst itself.
Cool, that is the first step on the way. I think that should be changed in the
xmexample.pv-grub file,
Gargl, I thought I had tested that file, but apparently not... Should
be applied to the 3.3 tree too of course.

Samuel



pv-grub: fix example file
Apparently 64MB is too short for the domain builder.
No kernel option should be passed, as they are provided by menu.lst, and
would only confuse grub.

diff -r 51f868f2a29f tools/examples/xmexample.pv-grub
--- a/tools/examples/xmexample.pv-grub Thu Aug 28 13:01:25 2008 +0100
+++ b/tools/examples/xmexample.pv-grub Thu Aug 28 16:23:26 2008 +0100
@@ -25,7 +25,7 @@ extra = "(hd0,0)/boot/grub/menu.lst"
# WARNING: Creating a domain with insufficient memory may cause out of
# memory errors. The domain needs enough memory to boot kernel
# and modules. Allocating less than 32MBs is not recommended.
-memory = 64
+memory = 128

# A name for your domain. All domains must have different names.
name = "ExampleDomain"
@@ -119,32 +119,6 @@ disk = [ 'phy:hda1,hda1,w' ]
#vtpm = [ 'instance=1,backend=0' ]

#----------------------------------------------------------------------------
-# Set the kernel command line for the new domain.
-# You only need to define the IP parameters and hostname if the domain's
-# IP config doesn't, e.g. in ifcfg-eth0 or via DHCP.
-# You can use 'extra' to set the runlevel and custom environment
-# variables used by custom rc scripts (e.g. VMID=, usr= ).
-
-# Set if you want dhcp to allocate the IP address.
-#dhcp="dhcp"
-# Set netmask.
-#netmask=
-# Set default gateway.
-#gateway=
-# Set the hostname.
-#hostname= "vm%d" % vmid
-
-# Set root device.
-root = "/dev/hda1 ro"
-
-# Root device for nfs.
-#root = "/dev/nfs"
-# The nfs server.
-#nfs_server = '192.0.2.1'
-# Root directory on the nfs server.
-#nfs_root = '/full/path/to/root/directory'
-
-#----------------------------------------------------------------------------
# Configure the behaviour when a domain exits. There are three 'reasons'
# for a domain to stop: poweroff, reboot, and crash. For each of these you
# may specify:
Samuel Thibault
2008-08-28 15:02:03 UTC
Permalink
Post by Todd Deshane
disk = [ 'tap:aio:/root/benchvm/bin/img-xen-guest/image-0.img,hda,w' ]
Using tap may be a problem too, could you try with a plain partition?

Samuel
Samuel Thibault
2008-08-28 15:50:39 UTC
Permalink
Post by Samuel Thibault
Post by Todd Deshane
disk = [ 'tap:aio:/root/benchvm/bin/img-xen-guest/image-0.img,hda,w' ]
Using tap may be a problem too, could you try with a plain partition?
Or a file without tap.

Samuel
Marco Sinhoreli
2008-08-28 16:51:11 UTC
Permalink
Using pv-grub is possible install a system from cdrom using a kernel
with pv_ops?


Cheers,

On Thu, Aug 28, 2008 at 12:50 PM, Samuel Thibault
Post by Samuel Thibault
Post by Samuel Thibault
Post by Todd Deshane
disk = [ 'tap:aio:/root/benchvm/bin/img-xen-guest/image-0.img,hda,w' ]
Using tap may be a problem too, could you try with a plain partition?
Or a file without tap.
Samuel
_______________________________________________
Xen-devel mailing list
http://lists.xensource.com/xen-devel
--
Marco Sinhoreli
Samuel Thibault
2008-08-28 17:29:53 UTC
Permalink
Post by Marco Sinhoreli
Using pv-grub is possible install a system from cdrom using a kernel
with pv_ops?
You should be able to feed pv-grub with a menu.lst that fetches the
kernel and initrd from the cdrom, yes; i.e. put in the config file

kernel=/usr/lib/xen/boot/pv-grub-x86_64.gz
ramdisk=/tmp/menu.lst
disk=...
vif=...

where /tmp/menu.lst contains for instance

root=(hd1)
kernel /vmlinuz
initrd /initrd.img
boot

Samuel
Marco Sinhoreli
2008-09-25 21:06:40 UTC
Permalink
Hi Samuel,

The pv-grub can read the cdrom but the OS installer can't identify the
vbd as cdrom driver. Do you know how can I fix it? There is this
feature in Xen for paravirt domains?


Regards,


On Thu, Aug 28, 2008 at 2:29 PM, Samuel Thibault
Post by Samuel Thibault
Post by Marco Sinhoreli
Using pv-grub is possible install a system from cdrom using a kernel
with pv_ops?
You should be able to feed pv-grub with a menu.lst that fetches the
kernel and initrd from the cdrom, yes; i.e. put in the config file
kernel=/usr/lib/xen/boot/pv-grub-x86_64.gz
ramdisk=/tmp/menu.lst
disk=...
vif=...
where /tmp/menu.lst contains for instance
root=(hd1)
kernel /vmlinuz
initrd /initrd.img
boot
Samuel
--
Marco Sinhoreli
Samuel Thibault
2008-09-26 08:05:54 UTC
Permalink
Hello,
Post by Marco Sinhoreli
The pv-grub can read the cdrom but the OS installer can't identify the
vbd as cdrom driver.
At that point PV-Grub doesn't exist any more, so the problem is
somewhere.
Post by Marco Sinhoreli
Do you know how can I fix it? There is this feature in Xen for
paravirt domains?
Yes there is, but you need to explicitely tell it, for instance:

disk = ['file:/foo/bar/something.img,hdc:cdrom,r']

Samuel
Marco Sinhoreli
2008-09-26 17:22:18 UTC
Permalink
It ins't working too. Below, I'm reproducing informations about my test system:

My xen version:
# xm info | grep -E 'major|minor'
xen_major : 3
xen_minor : 3

# virtual machine dmesg
| Registering block device major 202
| xvda: xvda1 xvda2 xvda3
| Registering block device major 22
| hdc: unknown partition table

In vm configuration, the variable 'disk' is set like below:
| disk = [ 'phy:/dev/empirevg/centos,xvda,w',
'file:/home/iso/centos-xen-image/CentOS-5.2-x86_64-bin-1of7.iso,hdc:cdrom,r'
]

In log has only these entries about the vbd:
# /var/log/xen/qemu-dm-pvcentos.log
| medium change watch on `hdc' (index: 1):
/home/iso/centos-xen-image/CentOS-5.2-x86_64-bin-1of7.iso

# /var/log/xen/xend.log
| [2008-09-26 13:55:00 3997] TRACE (XendDomainInfo:2860)
XendDomainInfo.update done on domain 152: {'vcpus_params': {'cap': 0,
'weight': 256}, 'PV_args': '', '_temp_kernel':
'/var/run/xend/boot/boot_kernel.aKv9gR', 'features': '', '_temp_args':
'ro root=LABEL=/ rhgb quiet', 'cpus': [[], []], 'paused': 1,
'shutdown_reason': 0, 'actions_after_reboot': 'restart', 'vcpu_avail':
3, 'VCPUs_live': 1, 'PV_bootloader': '', 'actions_after_crash':
'restart', 'vbd_refs': ['96741415-cc7f-888f-bb22-d9536e4a2667',
'c4cb92df-3d4e-a8b1-429d-e291aed95248'], 'PV_ramdisk': '',
'memory_dynamic_min': 268435456, '_temp_ramdisk':
'/var/run/xend/boot/boot_ramdisk.2Dkcev', 'name_label': 'pvcentos',
'VCPUs_at_startup': 1, 'HVM_boot_params': {}, 'platform':
{'device_model': '/usr/lib64/xen/bin/qemu-dm'}, 'PV_kernel': '',
'console_refs': ['f44f980b-2fee-d156-8e1a-2dcdd56c0d1a',
'c8a40489-9b26-94e2-2590-507038155e2e'], 'shutdown': 0, 'dying': 0,
'_temp_using_bootloader': '1', 'blocked': 0, 'on_xend_stop': 'ignore',
'memory_static_min': 0, 'HVM_boot_policy': '', 'domid': 152,
'VCPUs_max': 2, 'start_time': 1222448100.201066, 'online_vcpus': 1,
'memory_static_max': 268435456, 'actions_after_shutdown': 'destroy',
'on_xend_start': 'ignore', 'crashed': 0, 'memory_dynamic_max':
268435456, 'actions_after_suspend': '', 'is_a_template': False,
'is_control_domain': False, 'uuid':
'b7f2a041-0369-a085-c4de-49073e338742', 'cpu_time': 0.0,
'shadow_memory': 0, 'target': 0, 'PV_bootloader_args': '', 'notes':
{'FEATURES': writable_page_tables|writable_descriptor_tables|auto_translated_physmap|pae_pgdir_above_4gb|supervisor_mode_kernel',
'VIRT_BASE': 18446744071562067968L, 'GUEST_VERSION': '2.6',
'PADDR_OFFSET': 18446744071562067968L, 'GUEST_OS': 'linux',
'HYPERCALL_PAGE': 18446744071564189696L, 'LOADER': 'generic', 'ENTRY':
18446744071564165120L, 'XEN_VERSION': 'xen-3.0'}, 'other_config': {},
'running': 0, 'devices': {'96741415-cc7f-888f-bb22-d9536e4a2667':
('vbd', {'uuid': '96741415-cc7f-888f-bb22-d9536e4a2667', 'bootable':
1, 'devid': 51712, 'driver': 'paravirtualised', 'dev': 'xvda',
'uname': 'phy:/dev/empirevg/centos', 'mode': 'w'}),
'a5ecf6ea-a8b1-67d1-6308-068cebf5ab80': ('vkbd', {'devid': 0, 'uuid':
'a5ecf6ea-a8b1-67d1-6308-068cebf5ab80'}),
'f44f980b-2fee-d156-8e1a-2dcdd56c0d1a': ('vfb', {'other_config':
{'type': 'vnc', 'xauthority': '/root/.Xauthority'}, 'xauthority':
'/root/.Xauthority', 'devid': 0, 'location': 'localhost:5901', 'type':
'vnc', 'uuid': 'f44f980b-2fee-d156-8e1a-2dcdd56c0d1a'}),
'c8a40489-9b26-94e2-2590-507038155e2e': ('console', {'other_config':
{}, 'protocol': 'vt100', 'uuid':
'c8a40489-9b26-94e2-2590-507038155e2e', 'location': '2'}),
'c4cb92df-3d4e-a8b1-429d-e291aed95248': ('vbd', {'uuid':
'c4cb92df-3d4e-a8b1-429d-e291aed95248', 'bootable': 0, 'devid': 5632,
'driver': 'paravirtualised', 'dev': 'hdc:cdrom', 'uname':
'file:/home/iso/centos-xen-image/CentOS-5.2-x86_64-bin-1of7.iso',
'mode': 'r'}), '256dc778-ec84-f42b-f31b-229fc88544d6': ('vif',
{'bridge': 'eth0', 'mac': '00:16:3e:3f:d6:38', 'devid': 0, 'uuid':
'256dc778-ec84-f42b-f31b-229fc88544d6'})}, 'vif_refs':
['256dc778-ec84-f42b-f31b-229fc88544d6'], 'vtpm_refs': []}

Perhaps, only HVM supports cdrom media type. PVM has no this feature
or I can be wrong.

Cheers,

On Fri, Sep 26, 2008 at 5:05 AM, Samuel Thibault
Post by Samuel Thibault
Hello,
Post by Marco Sinhoreli
The pv-grub can read the cdrom but the OS installer can't identify the
vbd as cdrom driver.
At that point PV-Grub doesn't exist any more, so the problem is
somewhere.
Post by Marco Sinhoreli
Do you know how can I fix it? There is this feature in Xen for
paravirt domains?
disk = ['file:/foo/bar/something.img,hdc:cdrom,r']
Samuel
--
Marco Sinhoreli
Samuel Thibault
2008-09-26 18:39:02 UTC
Permalink
Post by Marco Sinhoreli
| Registering block device major 202
| xvda: xvda1 xvda2 xvda3
| Registering block device major 22
| hdc: unknown partition table
Ah, that's odd. Maybe you need to set it as xvdb:cdrom to get the cdrom
type working.
Post by Marco Sinhoreli
Perhaps, only HVM supports cdrom media type. PVM has no this feature
or I can be wrong.
The PV interface does exist, maybe just a few details need to be sorted
out.

Samuel
Marco Sinhoreli
2008-09-26 20:14:58 UTC
Permalink
On Fri, Sep 26, 2008 at 3:39 PM, Samuel Thibault
Post by Samuel Thibault
Ah, that's odd. Maybe you need to set it as xvdb:cdrom to get the cdrom
type working.
It isn't working too.
Post by Samuel Thibault
The PV interface does exist, maybe just a few details need to be sorted
out.
Yes, I think so, considering that this is a nice feature and , the
principals linux distributions have a kernel paravirt and initram
into CD to install the system. In the future, with dom0 and domU
running with pv_ops, this is an important feature considering that
paravirt is a better solution than fullvirt.
--
Marco Sinhoreli
Samuel Thibault
2008-11-10 00:32:12 UTC
Permalink
Hello,

Old issue still not solved.
Post by Marco Sinhoreli
On Fri, Sep 26, 2008 at 3:39 PM, Samuel Thibault
Post by Samuel Thibault
Ah, that's odd. Maybe you need to set it as xvdb:cdrom to get the cdrom
type working.
It isn't working too.
Post by Samuel Thibault
The PV interface does exist, maybe just a few details need to be sorted
out.
I've opened
http://bugzilla.xensource.com/bugzilla/show_bug.cgi?id=1383
Maybe it's just a register_cdrom() call which is missing.

Samuel
Marco Sinhoreli
2009-04-22 13:55:32 UTC
Permalink
Some news about this issue? I looked the ticket and no news about this.

Regards,

On Sun, Nov 9, 2008 at 9:32 PM, Samuel Thibault
Post by Samuel Thibault
Hello,
Old issue still not solved.
Post by Marco Sinhoreli
On Fri, Sep 26, 2008 at 3:39 PM, Samuel Thibault
Ah, that's odd.  Maybe you need to set it as xvdb:cdrom to get the cdrom
type working.
It isn't working too.
The PV interface does exist, maybe just a few details need to be sorted
out.
I've opened
http://bugzilla.xensource.com/bugzilla/show_bug.cgi?id=1383
Maybe it's just a register_cdrom() call which is missing.
Samuel
--
Marco Sinhoreli
Todd Deshane
2008-08-28 17:27:56 UTC
Permalink
On Thu, Aug 28, 2008 at 11:50 AM, Samuel Thibault
Post by Samuel Thibault
Post by Samuel Thibault
Post by Todd Deshane
disk = [ 'tap:aio:/root/benchvm/bin/img-xen-guest/image-0.img,hda,w' ]
Using tap may be a problem too, could you try with a plain partition?
Or a file without tap.
Yes, using tap:aio doesn't work. phy: and file: work fine. Is that expected?

So I have a booting PV GRUB guest :)

Thanks for your tips and efforts.

Cheers,
Todd
Samuel Thibault
2008-08-28 17:32:18 UTC
Permalink
Post by Todd Deshane
Yes, using tap:aio doesn't work. phy: and file: work fine. Is that expected?
It was just not tested. I guess the tap backend is not restartable...

Samuel
Loading...