lepton wrote:
Hi, I found when I am using qemu, I can't boot from emulated cdrom.
After some debug, I found the reason is that my iso file is in a samba
file system. When qemu read data from my samba file system. read will be
interrupted by signal alarm. So qemu won't boot from it.

The follwing patch will fix it.

--- qemu-0.7.1/block.c  2005-07-25 02:52:08.000000000 +0800
+++ qemu-0.7.1-lepton/block.c   2005-07-27 18:57:21.000000000 +0800
@@ -591,10 +591,16 @@ static int raw_read(BlockDriverState *bs
     int ret;
lseek(s->fd, sector_num * 512, SEEK_SET);
-    ret = read(s->fd, buf, nb_sectors * 512);
- if (ret != nb_sectors * 512) - return -1;
-    return 0;

There's another error related to this code: qemu won't boot floppy images whose size isn't a multiple of 512, it will drop the last incomplete sector, as the last read will not give 512 bytes.
a good testcase is the asmutils linux floppy image.

Jani



_______________________________________________
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel

Reply via email to