This is a patch to the script /etc/rc.d/rc.sysinit, for the point where it starts to calculate the module dependencies. It uses the fact that I build the kernels with the details of any patches and the level of SMP support into the kernel name, so it shows when you type 'uname -v'. This is done by creating a file '.name' in /usr/src/linux before building the kernel. The contents are automatically used to tag the kernel if that file exists. N.B. This patch is only really needed if you are using the older versions of the kernels from this repository. If you are using the more up to date versions (April 99 onwards) then you can get away with a much smaller change to c.sysinit, as described in LinuxKernel.ps in the documentation directory of the repository. I extract the relevant part of the name and look for a corresponding subdirectory in /lib/modules during the bootstrap. If I don't find any modules matching the name I have extracted then this probably means that the kernel is not one that I have built and that it doesn't use this feature to tag itself. In this case, I default to using the kernel version number (uname -v) to determine the preferred module set to use. I give here the full startup script I use (rc.sysinit), plus just the relevant parts extracted from it (rc.sysinit.patch). I leave it to you to figure out where the patch goes in your version, since this script varies quite a lot among different systems. This scheme is independent of RedHat (and of SuSE, Slackware, and the price of cheese). It should be easy to make it work with any mix of kernels that might happen to be on your machine. Tony Wildish. 26/01/99.