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

Re: [Xen-users] Problems with pygrub: ValueError: unable to open file

I wrote:
I am currently struggling with getting pygrub to work. I am using unstable
9327:cf89e8f0831b with 2.6.16-rc6-git3 on CentOS 4 (although the kernel
version should not matter here).

Traceback (most recent call last):
 File "/root/pygrub", line 258, in ?
   cf = get_config(file, isconfig)
 File "/root/pygrub", line 121, in get_config
   fs = fstype.open_fs(fn, offset)
 File "/usr/lib/python2.3/site-packages/grub/fsys/ext2/__init__.py", line
35, in open_fs
   return Ext2Fs(fn, offset = offset)
ValueError: unable to open file
Error: Boot loader didn't return any data!

I checked the values of fn and offset:
fn = /dev/sdb1
offset = 512

This seems perfectly ok, considering the output of fdisk:

Well, after further investigation, the problem is that the CentOS/RHEL 4
version of e2fsprogs does not have a ext2fs_open2 that allows to use the
offset. The "bug" is that this is not reported at all.

    if (offset != 0) {
        snprintf(offsetopt, 29, "offset=%d", offset);

    err = ext2fs_open2(name, offsetopt, flags, superblock, block_size,
                       unix_io_manager, &efs);
    err = ext2fs_open(name, flags, superblock, block_size,
                      unix_io_manager, &efs);

Here, HAVE_EXT2FS_OPEN2 is not defined. An offset cannot be used if ext2fs_open2 is not available. Does anyone see a way to work around this issue other than either update e2fsprogs or otherwise teach pygrub to use devicemapper or similar to be able to open an ext2 filesystem in a partition that is not directly accessible to the host (e.g. in a partitioned image)?

Best Regards,
Michael Paesold

Xen-users mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.