The boot image bootmcd.img contains a fix which causes mcd drives work correctly for installation. If you have a mitsumi cdrom and have been unable to install Red Hat Linux 4.0 from CDROM, please try using this boot image to do the installation. If it doesn't solve your problem, please send me a detailed explanation of the problem, including all error messages which may show up on virtual consoles 2, 3, or 4. When you install from this disk, the original mcd.o driver will be installed on your system. You may wish to try the mcdx driver to see if it works. Alternatively, if you wish to compile your own kernel with the fixed mcd module, the patch is included below. It has also been incorporated into the official Linux kernel sources. If we release a new kernel-modules package, it will include the fixed module; you can build you own fixed module from the sources included in the file /updates/i386/kernel-source-2.0.18-6.i386.rpm --- mcd.c.nodelay Fri Oct 25 14:44:07 1996 +++ mcd.c Wed Nov 13 11:10:16 1996 @@ -61,6 +61,10 @@ 07 July 1995 Modifications by Andrew J. Kroll Bjorn Ekwall added unregister_blkdev to mcd_init() + + Michael K. Johnson added retries on open + for slow drives which take a while to recognize that they contain + a CD. */ #include @@ -1095,6 +1099,7 @@ mcd_open(struct inode *ip, struct file *fp) { int st; + int count = 0; if (mcdPresent == 0) return -ENXIO; /* no hardware */ @@ -1106,9 +1111,16 @@ mcd_invalidate_buffers(); - st = statusCmd(); /* check drive status */ - if (st == -1) - return -EIO; /* drive doesn't respond */ + do { + st = statusCmd(); /* check drive status */ + if (st == -1) + return -EIO; /* drive doesn't respond */ + if ((st & MST_READY) == 0) { /* no disk? wait a sec... */ + current->state = TASK_INTERRUPTIBLE; + current->timeout = jiffies + HZ; + schedule(); + } + } while (((st & MST_READY) == 0) && count++ < MCD_RETRY_ATTEMPTS); if ((st & MST_READY) == 0) /* no disk in drive */ {