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);
}
#ifdef HAVE_EXT2FS_OPEN2
err = ext2fs_open2(name, offsetopt, flags, superblock, block_size,
unix_io_manager, &efs);
#else
err = ext2fs_open(name, flags, superblock, block_size,
unix_io_manager, &efs);
#endif
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
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users
|