I think you are confusing the initrd feature with sysv init scripts. /sbin/mk_initrd is a script that will take a bunch of kernel modules and other files and pack them together in a compressed file in the /boot directory, those are the initrd...
That's for booting the kernel with needed modules. It examines the modules.conf file. See /etc/rc.d/boot - which ALSO examines modules.conf Then there is /etc/rc.d/kerneld Somewhere in the initiation, it seems to either miss the modules.conf or the new modprobe or depmod didn't like the existing init system. When you look at the linux-utils source on kernel.org, it warns you about it's potential to mess up the initiation and booting ability of the system... RPMed SuSe's mod-util abd 10 times hoping it would work. It wouldn't work until the init system was upgraded. Excerp of boot ___________________________________________________ MODULES_DIR=/lib/modules/`uname -r` if test -x /sbin/depmod -a -d $MODULES_DIR ; then for i in $MODULES_DIR/* $MODULES_DIR/*/* /etc/modules.conf ; do test -e $i || continue if test $i -nt $MODULES_DIR/modules.dep ; then rm -f $MODULES_DIR/modules.dep break fi done if test ! -e $MODULES_DIR/modules.dep ; then echo -n Setting up $MODULES_DIR /sbin/depmod -a > /dev/null 2>&1 rc_status -v -r fi fi _____________________________________________________
files you see there. When linux boots that file is uncompressed and the modules in there are loaded, then the boot continues. The variable INITRD_MODULES in /etc/rc.config especifies which modules go in.
Are you saying that I use any init scripts and module.conf will look the same?
I don't understand that question.
The system did NOT find the aliases in modules.conf which means it wasn't initialized correctly by the starting system. Whereever that takes place, it failed. Change file in the /usr/linux/src/Document/Cahnges says: Modutils -------- Upgrade to recent modutils to fix various outstanding bugs which are seen more frequently under 2.3.x, and to enable auto-loading of USB modules. In addition, the layout of modules under /lib/modules/`uname -r`/ has been made more sane. This change also requires that you upgrade to a recent modutils. Mkinitrd -------- These changes to the /lib/modules file tree layout also require that mkinitrd be upgraded. Why did SUSE decide to call this file mk_initrd ?? Who knows
The original /rc.d/boot - or some other script in that directory had a case in the shell script looking for kerneld and conf.modules or modules.conf or both or either ;)
The init scripts are a convenient way of booting a unix system, but it is not the only one. The module loading mechanism could be started some other way. Perhaps "not related" is not appropriate, they are part of the same system and each contributes to make your linux expereience what it is.
I'll be damned, I just looked for kerneld and there is no such program in my suse 7.1.
-- Rafael
Yep it should be using kmod Can't remember where I read the documentatin... I tried to download it for backward compatibilbity to see if I could shake the system loose - it didn't work. Nothing but a replacement of the /etc/rc.d directory worked. BTW - the modules directory not link into the source tree of the kernel. I used to mv the directory. I think that will kill the modules directory now ;( util-linux-2.11 needed to be upgraded according to the kernal docs...this is the message in the readme: ______________________________________________________________________ WARNING: THE PROGRAMS IN THIS SUITE DO *NOT* SUPPORT SHADOW PASSWORD FILES! UNLESS YOU USE PAM. WARNING: THIS COLLECTION CONFLICTS WITH SYSTEM V INITTAB. UNLESS YOU CONFIGURE IT NOT TO. WARNING: USE GNU TAR -- OTHER TARS WILL FAIL SILENTLY! WARNING: DO *NOT* INSTALL WITHOUT THINKING. WARNING: The simpleinit and some other programs in this package are *NOT* System V compliant. These utilities are meant to be used by people who build their own systems. If you are not a wizard, do *NOT* blindly install these utilities: they could prevent you from logging into your system. Have a boot floppy ready, especially if you don't know what you are doing. It's a great way to learn though ;-) To install from source: 1) Get source distribution (see the .lsm file for locations) 2) Untar util-linux-2.10X.tar.gz somewhere 3) cd util-linux-2.10X 4) Edit MCONFIG 5) ./configure 6) Look at defines.h and make_include, and edit if necessary 7) make 8) make install 9) If you want to use simpleinit and agetty, then make softlinks from /sbin/init to simpleinit and from /sbin/getty to agetty, but make sure that your /etc/inittab is set up right (this is *NOT* the System V compatible init!), or you will be hosed. If you are using the SysV init and/or some other getty, they you can keep using those. So there are a number of points of possible failure. I got tired of tracking it down and finally just took someones advise and upgraded from 7.1...which didn't go easy either. Until I allowed to to replace the entire init system, it failed. Ruben