Operating System - Linux
1832251 Members
2624 Online
110041 Solutions
New Discussion

drvnet.img (adding drivers for kickstart)

 
SOLVED
Go to solution
steven Burgess_2
Honored Contributor

drvnet.img (adding drivers for kickstart)

Hi everyone

I am trying to get an IBM Blade Server to perform an install via FTP from an external server. The problem I am having is with getting the bcm5700 broadcom driver loaded during the initial kickstart process, ie

boot: linux dd ks=floppy

I have followed the below procedure in an attempt to get this to work

Note: most documentation I have found referes to modification of bootnet.img. RHEL3 update 4 doesn't supply this file but instead (i'm hoping) uses drvnet.img

1. Make the following directories:
/tmp/boot
/tmp/boot/custom_img
/tmp/boot/modules

2. Copy the drvnet.img to /tmp/boot.

3. Rename the drvnet.img to custom.img


Mount and decompress the files from the 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 the modules

# gzip -dc custom_img/modules.cgz > modules.cpio
4. Extract the cpio archive
# cd /tmp/boot/modules
# cpio -idumv < /tmp/boot/modules.cpio

Get the new module in place

1. Copy the new modules (*.o)
# cp /tmp/bcm7500.o /tmp/boot/modules/2.4.2-2BOOT/i386

2. Remove unwanted modules in

/tmp/boot/modules/2.4.2-2BOOT to free up some space

3. Edit /tmp/boot/custom_img/module-info Replace tg3 reference with bcm5700

4. Edit /tmp/boot/initrd_img/modules/pcitable

Update with new hardware (as below, replacing old driver tg3 with new)

0x14e4 0x1644 "bcm5700" "BROADCOM NetXtreme 10/100/1000TX [onboard]"
0x14e4 0x1645 "bcm5700" "BROADCOM NetXtreme 10/100/1000TX [onboard]"
0x14e4 0x1646 "bcm5700" "BROADCOM NetXtreme 10/100/1000TX [onboard]"
0x14e4 0x1647 "bcm5700" "BROADCOM NetXtreme 10/100/1000TX [onboard]"
0x14e4 0x164D "bcm5700" "BROADCOM NetXtreme 10/100/1000TX [onboard]"
0x14e4 0x16A6 "bcm5700" "BROADCOM NetXtreme 10/100/1000TX [onboard]"
0x14e4 0x16A7 "bcm5700" "BROADCOM NetXtreme 10/100/1000TX [onboard]"

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 -9c modules.cpio > modules.cpio.cgz
4. Remove the old modules.cgz
# rm /tmp/boot/custom_img/modules.cgz
5. Move the new modules file into place
# mv modules.cpio.cgz /tmp/boot/custom_img/modules.cgz
# cd /tmp/boot
6. Unmount the custom filesystem
# umount custom_img

7. # mv custom.img drvnet.img

8. # dd if=drvnet.img of=/dev/sdb

9. # mount /mnt/floppy

10. # cp /tmp/ks.cfg /mnt/floppy

I boot from my boot disk (cd), enter

boot: linux dd ks-floppy (enter floppy)

Answer yes to load additional drivers, this fails. Answer yes to select drivers manually, this also fails as the system advises no driver found.......

Has anyone managed to complete this task, or can anyone throw me any advise

I have gone through a tonne of links so please don't just paste any unless....

frustratingly

steven
take your time and think things through
9 REPLIES 9
Ivan Ferreira
Honored Contributor
Solution

Re: drvnet.img (adding drivers for kickstart)

The problem that you are trying to resolve is the creation of the boot image with the driver for bcm or the installation via network?.

If the only thing you want to do is install via network, install a supporte network adapter and then configure the bcm network card.

If you try to make the boot image, i don't know how to help you. I didn't understood the command # 8, i think is recording the image to the CD.

Without testing is hard to say what can be wrong. I don't want to give you any link because is pretty sure you already visit the page.
Por que hacerlo dificil si es posible hacerlo facil? - Why do it the hard way, when you can do it the easy way?
Stuart Browne
Honored Contributor

Re: drvnet.img (adding drivers for kickstart)

I agree with Ivan. The 'dd' to '/dev/sdb' isn't how you go about creating a bootable CD.

The other steps look good (You're using RHEL2.1 I take it?), but you need to look at the documentation for getting an ISOLinux boot disk. From the RH release notes:

isolinux is now used for booting the CD. If you have problems booting from the CD, you can write the images/boot.img image to a diskette according to the directions in the Official Red Hat Linux Installation Guide.

If you want to make your own CD to boot the installation program, copy the isolinux directory from the first CD into a temporary directory (cp -r /path/to/tree/isolinux/ /path/to/cdimage) and then run the following command:

mkisofs -o /path/to/file.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -V -T /path/to/cdimage


This is also detailed in the 'Red Hat Linux x86 Installation Guide' at:

http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/install-guide/s1-steps-install-cdrom.html#S2-STEPS-MAKE-CD

One long-haired git at your service...
steven Burgess_2
Honored Contributor

Re: drvnet.img (adding drivers for kickstart)

Hi,

Thanks for the responses. I should have stated that I have already created and booted from the bootable cd from iso in the images dir

This step

dd if=drvnet.img of=/dev/sdb

Was me putting the modified drvnet.img that contains the broadcom driver onto a floppy disk. from this I was hoping that is what linux would reference in an attempt to load the broadcom driver after entering

boot: linux dd ks=floppy

I also performed similar steps modifying the initrd.img from the iso

I errors must however be consistent as I get the same message from both methods

Unable to find any devices of the type needed for this installation

Will continue reading

Any further replies recieved with gratitude

Steven



take your time and think things through
Stuart Browne
Honored Contributor

Re: drvnet.img (adding drivers for kickstart)

Ok. When I did this, I was creating a bootable CD, and it was successful in recognizing the NIC automatically for a network installation.

That was using RH9 however.

What release/update are you using? It's pretty important.

If it's not recognizing the NIC, are you getting any error messages on the other VTY's? (ALT-F3/ALT-F4). If any errors occur during the attempted module installation, they should be coming up there.
One long-haired git at your service...
steven Burgess_2
Honored Contributor

Re: drvnet.img (adding drivers for kickstart)

Hi Stuart

I'm using

Red Hat Enterprise Linux ES release 3 (Taroon Update 4)

The problem I have is with the standard driver that is shipped (tg3) It has a problem with the cisco switch module in the blade center. I therefore need to be using the newer bcm5700 driver to allow external communications.

Checking the error I get the below message

/tmp/bcm5700.o compiled for 2.4.21-27.EL this version is 2.4.21-27.ELBOOT

So,

This tells me that I need to boot from the ELBOOT kernel, supplied in rpm kernel-BOOT-2.4.21-27.EL.i386.rpm then recompile the driver and boot it in the initrd.img.

That should cover it ?

Thanks in advance

Steven

take your time and think things through
Stuart Browne
Honored Contributor

Re: drvnet.img (adding drivers for kickstart)

It's a pain in the ass, but yup! Those are the exact steps you need to do! :)
One long-haired git at your service...
steven Burgess_2
Honored Contributor

Re: drvnet.img (adding drivers for kickstart)

the pain continues

I have booted from 2.4.21-27.ELBOOT and re-compiled the driver. When I try to load it however it still complains that it has been compiled against the standard EL kernel. From that I ammended the Makefile and changed all to read '2.4.21-27.ELBOOT' as opposed to doing a $(uname -r). This still fails.........

My colleague programmer chap Andy is having a look at it with me,

If anyone can assist then please do

Thanks in advance

Steven
take your time and think things through
Stuart Browne
Honored Contributor

Re: drvnet.img (adding drivers for kickstart)

You may need to modify '/usr/src/linux-2.4/Makefile', and change the 'VERSION', 'PATCHLEVEL', 'SUBLEVEL' and 'EXTRAVERSION' to the appropriate values:

VERSION = 2
PATCHLEVEL = 4
SUBLEVEL = 21
EXTRAVERSION = -27.ELBOOT

These will be the details the module is stamped with.
One long-haired git at your service...
steven Burgess_2
Honored Contributor

Re: drvnet.img (adding drivers for kickstart)

Hi Stuart

Did this, it resolved the issue with the kernel version, next issue I had was with unresolved symbols. The test blade center I had has gone back to the vendor, I tried it with Suse9.2 which comes with the broadcom driver without any issue. Will have to wait for EL update 5 I suppose. It would have been good to get this working properly though.

Thanks for your help, will let you know if i get it sorted in the future

steven

take your time and think things through