Help needed adding modules to the boot image

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello all,

I posted a few notes on this subject back on Oct '02.   I never got the
problem resolved and now I am revisiting it.   Unfortunately, I am not
having any more luck this time around.  I finally decided one last post to
the kickstart list asking for help, then if I don't get it, I am giving up
for good!!

I am doing a RedHat 7.1 kickstart.  The e100.o module that comes with the
bootnet.img is too old to work with my motherboard.  So, I need to put an
updated e100.o module onto my kickstart floppy.  I compile the e100.o
module under the BOOT floppy, add it to the bootnet.img, create a floppy
and try to kickstart.  I end up with the following message on my Alt-F3
window:

* going to insmod e100.o (path is null)
/tmp/e100.o : unresolved_symbol __io_virt_debug
/tmp/e100.o : unresolved_symbol __netdev_watchdog_up
/tmp/e100.o : unresolved_symbol eth_type_trans
/tmp/e100.o : unresolved_symbol __kfree_skb
/tmp/e100.o : unresolved_symbol alloc_skb
/tmp/e100.o : unresolved_symbol init_etherdev
/tmp/e100.o : unresolved_symbol skb_under_panic
plus about 12 more unresolved symbols
* No appropriate device for kickstart method is available

I have listed my steps below.  If anyone has any suggestions, they would
greatly be appreciated!!

First, I compile my e100.o module under the BOOT kernel with the following
steps:
1) Install the BOOT kernel RPM --> kernel-BOOT-2.4.2-2.i386.rpm
2) Install the kernel source RPM --> kernel-source-2.4.2-2.i386.rpm
3) Copy the BOOT config file to the kernel source directory
      cp /usr/src/linux-2.4.2/configs/kernel-2.4.2-2-i386-BOOT.config
/usr/src/linux-2.4.2/.config
4) Configure the kernel source tree
     cd /usr/src/linux-2.4.2
     make clean
     make dep
5) Alter the Makefile in the e100 module src directry (I previously grabbed
the e100-2.1.24.tar.gz  file from the Intel site and untarred it).
Change the KSP defines as shown below:
     KSP := /usr/src/linux-2.4.2
6) Make the module


My steps for altering the bootnet.img compiled from various posts on the
kickstart list:

Setup
1.  Make the following directories:
/tmp/boot
/tmp/boot/custom_img
/tmp/boot/initrd_img
/tmp/boot/modules
2.  Copy the bootnet.img to /tmp/boot. Bootnet.img can be grabbed from CVS
or RedHat CD #1.
3.  Rename the bootnet.img to custom.img

Mount and decompress the files from the boot image
1.  Move into the working directory
    cd /tmp/boot
2.  Mount the custom.img as a filesystem mount
    mount -o loop custom.img custom_img
3.  Decompress
    gzip -dc custom_img/initrd.img > initrd.ext2
4.  Mount initrd.ext2 as a filesystem mount
     mount -o loop initrd.ext2 initrd_img
5.  Get the modules
     gzip -dc initrd_img/modules/modules.cgz >modules.cpio
6.  Extract the cpio archive
     cd /tmp/boot/modules
     cpio -idumv < /tmp/boot/modules.cpio

Get the new modules in place
1.  Copy the new e100.o module to /tmp/boot/modules/2.4.2-2BOOT
2.  Remove unwanted modules in /tmp/boot/modules/2.4.2-2BOOT .  I removed
hid.o, sis900.o, hp100.o and de4x5.0
3.  Edit /tmp/boot/initrd_img/modules/module-info Remove information on the
modules I deleted.
4.  Edit /tmp/boot/initrd_img/modules/modules.dep
5.  Edit /tmp/boot/initrd_img/modules/pcitable Updated with information on
the new e100.o module

Rebuild the boot image
1.  Get into the modules directory
     cd /tmp/boot/modules
2.  Create new modules.cpio file
     find 2.4.2-2BOOT -print -depth |cpio -H crc -ovF modules.cpio 2>
/dev/null
3.  Compress the file
     gzip -S .cgz modules.cpio
4.  Remove the old modules.cgz
     rm /tmp/boot/initrd_img/modules/modules.cgz
5.  Move the new modules file into place
     mv modules.cpio.cgz /tmp/boot/initrd_img/modules/modules.cgz
6.  Get into the boot directory
     cd /tmp/boot/initrd_img
7.  This is an important step if the floppy is full. The ext2 partition has
junk left over from the removed files. It will not compress and fit on the
floppy without zeroing unused bits to improve compression ratio. You will
get an error that says "No Space Left on Device" -- just continue on.
     touch zerofile
     cat /dev/zero > zerofile
     rm -f zerofile
8.  Move directories again
     cd /tmp/boot
9.  Unmount the initrd filesystem
     umount initrd_img
10.  Recompress it
     gzip initrd.ext2
11.  Remove old initrd.img
     rm custom_img/initrd.img
12.  Place new initrd on boot image
     mv initrd.ext2.gz custom_img/initrd.img
13.  Remove unneeded *.msg files from /tmp/boot/custom_img
14.  Copy your syslinux.cfg and boot.msg files to /tmp/boot/custom_img
15.  Unmount the bootnet filesystem
     umount custom_img

Place the custom.img on the boot floppy
1.  custom.img is located in /tmp/boot. This is the file that will need to
be copied to a floppy in order to create a kickstart floppy.
     dd if=custom.img of=/dev/fd0
2.  Mount the floppy and copy the ks.cfg to it.






[Index of Archives]     [Red Hat General]     [CentOS Users]     [Fedora Users]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]

  Powered by Linux