Remco Barendse redhat@barendse.to wrote:
OK, thanks. Sorry for my next question, how do I create the new initrd
# mkinitrd (options) /boot/initrd-`uname -r`-(tag) `uname -r`
[ The `uname -r` returns the kernel revision ]
and how do i specify which drivers to (not) include in the new initrd?
The mkinitrd binary is pretty smart at what to and what to not include. E.g., it figures Ext2/3 if the root is Ext2/3 (and Ext2/3 is a filesystem driver), if scsi_hostadapter is defined in modprobe.conf, then the base scsi, that driver, plus sd (SCSI disk) drivers, etc...
In the case of 3Ware, you'll have something like: alias scsi_hostadapter 3w-xxxx (3w-9xxx for 9000) In /etc/modprobe.conf (/etc/modules.conf for 2.4/CentOS3)
You can manually force things with "--with" and "--preload" (to load before the "--with" or other things automagically included).
In the "old days" I used to manually define the load order of the SCSI core, 3Ware driver and SCSI disk modules. But nowdays, the "alias scsi_hostadapter" ensures all 3 are built into the initrd.
This is still blackmagic to me. I have an ISDN PRI card in the system for which I need a specific driver. There is a driver included with the kernel which kudzu always wants to install but I don't want initrd to include that driver.
If it's _not_ required to mount the root (/) filesystem, then it doesn't go into the initrd. E.g., filesystem, disk device, SAN (and any networking required), network (if thin client/NFS mounted root), etc... are typically loaded as necessary (NOTE: disk label support is never modular, always static in vmlinuz itself).
An ISDN card driver shouldn't be put in the initrd.
My current workaround is to pull the card from the box before any upgrades, not ideal at all
Ouch. You shouldn't have to do that.