On Thu, Oct 25, 2001 at 06:26:21AM -0700, David Roundy wrote: | On Wed, Oct 24, 2001 at 10:31:21PM +0200, Debian User Jean-Baptiste Note wrote: | > Well, i'm sorry i'm really not an expert, but maybe you should | > try a kernel with a initrd option. | > With a initrd, you'll get somewhat of a prompt and the ability | > to modprobe any module you like, it could help you to debug | > your problem. | | Actually, after some rather extensive web search, I found out that | generally one cannot load USB devices as root from the kernel without | additional trickery. The problem is that the usb devices are detected | asynchronously, so there is a race as to whether they are detected before | the root filesystem is mounted, a race which on my computer they always | lose. So the trick will be to introduce some sort of delay before mounting | the root filesystem. I believe one could do this with an initrd as you | suggest (either putting a delay script or just waiting at the prompt | manually).
You have now cleared the first hurdle -- figuring out _why_ it doesn't work. I think you should study the initrd stuff some more. One purpose of it is to allow modules to be loaded before the kernel mounts the root system. You could do this for the USB module, then the CD will be noticed. The other purpose is to allows scripts to run to set up some stuff first. You can add a script that will sleep until it sees the CD drive exists into the initrd and have that run before the root fs is mounted. Something like while [ ! -f /dev/cdroms/cdrom0 ] ; do sleep 2 ; done This will iterate until the device file exists. If you enable devfs, then the device file will exist only when the device itself exists. The loop then sleeps for 2 seconds, rather than pegging the CPU (known as a "busy wait"). I personally don't know enough to be able to create an initrd, but I think that is what you want. The only other problem is that the initrd and kernel need to be loadable by your boot loader, or else none of the process can start. You may need a separate floppy for booting, then have everything else (root fs) on the CD. HTH, -D