26.11.2014 21:59, pe...@easthope.ca wrote:
> Here there are three diskettes which at least two machines 
> cold boot from.  Also the qemu virtual machine boots from 
> the diskette image file.  In fact that has allowed installation 
...

Instead of trying random things or diskettes, you can be quite
a bit more productive and actually take the steps I suggested,
whcih are trying qemu-2.1 series from backports, and comparing
strace of working and non-working run (image file and /dev/fd0).

> of an OS by this procedure.
> http://www.ocp.inf.ethz.ch/wiki/Documentation/Installation#toc23 
> 
> These are the results when attempting to boot the qemu virtual 
> machine from the diskettes.
> 
> root@dalton:/home/peter# qemu-system-i386 -fda /dev/fd0 -vga std -boot a
> qemu-system-i386: -fda /dev/fd0: could not open disk image /dev/fd0: Could 
> not refresh total sector count: Input/output error
> 
> root@dalton:/home/peter# qemu-system-i386 -fda /dev/fd0 -vga std -boot a
> qemu-system-i386: -fda /dev/fd0: could not open disk image /dev/fd0: Could 
> not open '/dev/fd0': Permission denied

There's somethig fishy going on here.  The first time qemu is able
to open /dev/fd0, but the next time it fails with `permission
denied' error, for root user.  This is a /dev/fd0 device
malfunctioning, most likely a floppy driver error.  Which I
already suggested to be the case before.

> 
> root@dalton:/home/peter# qemu-system-i386 -fda /dev/fd0 -vga std -boot a
> qemu-system-i386: -fda /dev/fd0: could not open disk image /dev/fd0: Could 
> not open '/dev/fd0': Permission denied
> 
> "Could not refresh total sector count" might be significant. I don't know.

Yes, it is yet another indicator of your /dev/fd0 malfunctioning.

Refreshing total sector count does this (block/raw_posix.c):

static int64_t raw_getlength(BlockDriverState *bs)
{
    BDRVRawState *s = bs->opaque;
    int ret;
    int64_t size;

    ret = fd_open(bs);
    if (ret < 0) {
        return ret;
    }

    size = lseek(s->fd, 0, SEEK_END);
    if (size < 0) {
        return -errno;
    }
    return size;
}

so it merely opens the device file and seeks at the end of
it.  This return EIO (input/output error), it should not.
This is how size of all other devices is detected.

/mjt


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to