[Pkg-sysvinit-devel] Bug#510367: Bug#510367: initscripts: checkfs.sh runs before /etc/modules processed

Arthur Marsh arthur.marsh at internode.on.net
Thu Jan 1 13:14:38 UTC 2009



Petter Reinholdtsen wrote, on 01/01/09 21:14:
> [Arthur Marsh]
>> After manually observing a reboot, it appears that although module
>> eata is successfully loaded before filesystems are checked, the
>> device files for the SCSI disk are created asynchronously, in my
>> case after the filesystem check script has attempted to check the
>> filesystems on the SCSI disk.
> 
> Right.  So you have been hit by the introduction of asynchronous
> behaviour of the Linux kernel.  I have no good idea how to solve it.
> We need to make the early boot system asynchronous too to avoid such
> problems.  It also affect USB disks and other busses with slow
> discovery process. :(
> 
> Happy hacking,

I manually added the following script to execute as 
/etc/rcS.d/S22sleep-for-scsi

#!/bin/sh
if (lsmod|grep eata); then
         echo waiting 5 seconds for module eata to query SCSI bus
         sleep 5
fi

The 5 second wait between module-loading and filesystem checking was 
sufficient time for the SCSI bus to be queried and device files 
/dev/sda? to be created.

As my system is not a candidate for sub-5-second boot anyway, I don't 
mind the wait if it means that the filesystems are checked before they 
are mounted (-:.

Arthur.





More information about the Pkg-sysvinit-devel mailing list