2

So, I'm trying to convert some domU's I have to use PV mode.

xe-edit-bootloader -u ... -p 2

Finds the menu.lst no problem.

The grub, boot, and root partitions are 1, 2, and 3, respectively. I flagged boot and root as bootable, just to be safe.

Here's the error I get:

$ xe vm-start uuid=ad275e7d-b8c2-673f-6ced-7cfc94eef415 
Error code: Traceback (most recent call last):
Error parameters:   File "/usr/bin/pygrub", line 808, in ?,     fs = fsimage.open(file, part_offs[0], bootfsoptions), IOError: [Errno 95] Operation not supported, 

Here's some relevant params:

           HVM-boot-policy ( RW): 
           HVM-boot-params (MRW): order: dc
     HVM-shadow-multiplier ( RW): 1.000
                 PV-kernel ( RW): 
                PV-ramdisk ( RW): 
                   PV-args ( RW): console=hvc0 xencons=hvc root=/dev/xvda2 decrypt_initrd decrypt
            PV-legacy-args ( RW): 
             PV-bootloader ( RW): pygrub
        PV-bootloader-args ( RW):

UPDATE: So if it's not clear, I have no idea what I'm doing. I'm just stabbing in the dark at this point. By dumping the variables in that line of pygrub, it looks like it's looking at the first partition. The variable part_offs[0] was an integer that's equal to the starting block of the first partition.

So, clearly I'm not configuring pygrub properly. I haven't found thorough enough documentation on it. Everything is forum posts with how-to's that worked for one of the major distro's. Or in many cases, the info is out of date.

2
  • Don't you need to specify a kernel and initrd for PV VMs?
    – mgorven
    Jul 12, 2012 at 1:03
  • I'll try that, but I was under the impression it would read /boot/grub/menu.lst.
    – kjprice
    Jul 17, 2012 at 21:09

3 Answers 3

1

I found the answer to this awhile back. pygrub expects the boot partition to be number 1. I had to renumber my partitions with parted.

1

If your target VM is a BSD system, pygrub can't read FFSv2. You'll need your root filesystem to be FFSv1 -- which is more easily said than done.

0

You need to specially compile your kernel for PV support. You are correct that pygrub will try and parse grub, but that's not enough. If you tell me which distros you are trying to convert I can help you find a guide

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .