[CentOS] Re: add new module in initrd

Thu Aug 16 14:12:01 UTC 2007
Phil Schaffner <Philip.R.Schaffner at NASA.gov>

On Thu, 2007-08-16 at 12:02 +0700, beast wrote:
> On 15/08/07 17:38 -0400, Phil Schaffner wrote:
> >On Wed, 2007-08-15 at 20:23 +0700, beast wrote:
> >> On 14/08/07 07:26 +0200, maze at cela.pl wrote:
> >> >one of the files /linuxrc should list what modules get loaded on start.
> >> 
> >> Thanks for the hint. Where linuxrc located? i already searched initrd image
> >> and can not found it.
> >
> >Looks like the script "init" in the top level does the job.  I would
> >expect mkinitrd to generate it automatically if you add a module, but
> >one should be able to modify it if doing the job manually.
> 
> /init is executable file, statically linked.

Sorry - was looking at an initrd from an installed kernel - that "init"
is a shell script.  Looks like the installer initrd.img is a different
beast :-) than those for the installed kernels or created by mkinitrd.

For the CentOS 5 installer initrd.img:

[root at wx1 TMP]# gunzip < /raid/RH/CentOS/5/os/i386/isolinux/initrd.img |cpio -i --make-directories
12907 blocks
[root at wx1 TMP]# ll
total 36
lrwxrwxrwx 1 root root    4 Aug 16 09:23 bin -> sbin
drwxr-xr-x 2 root root 4096 Aug 16 09:23 dev
drwxr-xr-x 3 root root 4096 Aug 16 09:23 etc
lrwxrwxrwx 1 root root   10 Aug 16 09:23 init -> /sbin/init
drwxr-xr-x 2 root root 4096 Aug 16 09:23 modules
drwxr-xr-x 2 root root 4096 Aug 16 09:23 proc
drwxr-xr-x 2 root root 4096 Aug 16 09:23 sbin
drwxr-xr-x 2 root root 4096 Aug 16 09:23 selinux
drwxr-xr-x 2 root root 4096 Aug 16 09:23 sys
drwxr-xr-x 2 root root 4096 Aug 16 09:23 tmp
drwxr-xr-x 6 root root 4096 Aug 16 09:23 var
[root at wx1 TMP]# find . -type f -exec file {} \;
./.buildstamp: ASCII text
./.profile: ASCII text
./etc/loader.tr: gzip compressed data, from Unix, last modified: Tue Apr 10 15:26:52 2007, max compression
./etc/arch: ASCII text
./etc/terminfo/l/linux: Compiled terminfo entry
./etc/terminfo/v/vt100: Compiled terminfo entry
./etc/terminfo/v/vt100-nav: Compiled terminfo entry
./etc/lang-table: ASCII text
./etc/passwd: ASCII text
./etc/keymaps.gz: gzip compressed data, from Unix, last modified: Mon Feb 27 16:54:51 2006, max compression
./etc/screenfont.gz: gzip compressed data, was "screenfont-i386", from Unix, last modified: Fri Dec 13 09:51:44 2002, max compression
./sbin/loader: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, statically linked, for GNU/Linux 2.6.9, stripped
./sbin/init: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, statically linked, for GNU/Linux 2.6.9, stripped
./modules/module-info: ASCII text
./modules/modules.cgz: gzip compressed data, from Unix, last modified: Tue Apr 10 15:51:11 2007, max compression
./modules/modules.dep: ASCII text
./modules/modules.alias: ASCII text
./modules/pci.ids: ASCII text

>  Any other hints please? i've
> been googling around and no clue so far :(
> 
> Looks like nobody willing to customize the boot image, and prefer to wait the
> new release and hoping it will be supported...

For CentOS5 the r8169.ko module is in modules.cgz and the following
entries are found in the text files:

[root at wx1 modules]# grep r8169 module-info modules.alias modules.dep
module-info:r8169
modules.alias:alias pci:v00001737d00001032sv*sd00000024bc*sc*i* r8169
modules.alias:alias pci:v000016ECd00000116sv*sd*bc*sc*i* r8169
modules.alias:alias pci:v00001186d00004300sv*sd*bc*sc*i* r8169
modules.alias:alias pci:v000010ECd00008129sv*sd*bc*sc*i* r8169
modules.alias:alias pci:v000010ECd00008169sv*sd*bc*sc*i* r8169

Backing up to square 1 - What CentOS version are you trying to install?

Phil