Hi.
I tried ti use VHD-disk-image for my Opensolaris DomU.
Installation on this disk is fine, but i cannot to boot from it.
in logs "Disk isn''t accessible";
I mount image and tried to use pygrub directly:
pygrub /dev/xvdp
Traceback (most recent call last):
File "/usr/bin/pygrub", line 705, in <module>
fs = fsimage.open(file, get_fs_offset(file))
IOError: [Errno 95] Operation not supported
but i can ''dd'' from it device-file.
I researched this issue:
error returned from:
*** xen-src-root/tools/pygrub/src/fsimage/fsimage.c ***
static PyObject *
fsimage_open(PyObject *o, PyObject *args, PyObject *kwargs)
{
static char *kwlist[] = { "name", "offset",
"options", NULL };
char *name;
char *options = NULL;
uint64_t offset = 0;
fsimage_fs_t *fs;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s|Ls", kwlist,
&name, &offset, &options))
return (NULL);
if ((fs = PyObject_NEW(fsimage_fs_t, &fsimage_fs_type)) == NULL)
return (NULL);
if ((fs->fs = fsi_open_fsimage(name, offset, options)) == NULL) {
PyErr_SetFromErrno(PyExc_IOError);
<<<<<<<<<<<<<<<<<<<<<<<<
return (NULL);
}
return (PyObject *)fs;
}
*** xen-src-root/tools/libfsimage/common/fsimage.c ***
fsi_t *fsi_open_fsimage(const char *path, uint64_t off, const char *options)
{
fsi_t *fsi = NULL;
int fd;
int err;
if ((fd = open(path, O_RDONLY)) == -1)
<<<<<<<<<<<<<<<<<<<<<<
goto fail;
if ((fsi = malloc(sizeof(*fsi))) == NULL)
goto fail;
fsi->f_fd = fd;
fsi->f_off = off;
fsi->f_data = NULL;
fsi->f_bootstring = NULL;
pthread_mutex_lock(&fsi_lock);
err = find_plugin(fsi, path, options);
pthread_mutex_unlock(&fsi_lock);
if (err != 0)
goto fail;
return (fsi);
fail:
err = errno;
if (fd != -1)
(void) close(fd);
free(fsi);
errno = err;
return (NULL);
}
If i use ''file:/'' type of disk-image (i have other disk-image)
then all ok.
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel