Making boot process wait for recognition of device
I have been trying to install Sarge on my powerbook5,2. My aim is to
have everything on en external (firewire) HD so that the powerbook boots
debian when I turn it on with the HD connected. I have had some success
so far, but there are still some problems. I know very little about the
boot process, so I'll explain it in my own words :)
I didn't want to use an initrd because I never have before (I have some
experience of debian on x86), so I compiled in the kernel what I thought
would be enough for the kernel to be able to mount the filesystems
(which are all on the external HD), namely scsi, ieee1394,
ieee1394_ohci1394, ieee1394_sbp2 (from memory). Also put yaboot on a
partition on the firewire HD, after having found with difficulty its
Open Firmware path.
It almost worked, except that the kernel was trying to mount the
filesystems too soon, in fact before the firewire drivers had time to
'kick in', which resulted in a kernel panic (no /). How can I make the
boot process wait until the kernel drivers have found the firewire HD
and spotted the partitions on it, so that the filesystems can be mounted?
My solution for now has been to create an initrd whose sole purpose is
to make the boot process hang around for a bit before the 'real root'
can be mounted, but it doesn't seem a very good solution to me. I
initially set the delay to 2sec but it didn't seem to be enough so now
I've set it to 5sec which works most of the time but not always. BTW it
seems to me the firewire HD is detected much faster after a reboot than
on a power on.
Thanks for any help.