Mailinglist Archive: opensuse (770 mails)

< Previous Next >
[opensuse] Add driver to initrd for pxe-boot
Hello,

i have a Broadcom Corporation NetXtreme BCM57760 Gigabit Ethernet Card and it
doesn't work out of box using autoyast (opensuse 12.1) over pxe. I already
identified the necessary kernel modules broadcom.ko and tg3.ko. tg3 is compiled
into the kernel but broadcom.ko is missing. I asked Uwe Gansert, the author of
autoyast, and he told me that broadcom.ko needs to be in the initrd. But how do
i get broadcom.ko into initrd?

1) unpacking initrd on the server is easy :-)
mkdir /tmp/myinitrd
cd /tmp/myinitrd/
zcat /srv/tftp/initrd | cpio -i

2) getting the broadcom module from the installation source on the server was
no problem :-)
mkdir /tmp/mykernelmods
cd /tmp/mykernelmods/
rpm2cpio /srv/ftp/akt/CD1/suse/i586/kernel-default-3.1.0-1.2.1.i586.rpm |
cpio -idmv
cp
/tmp/mykernelmods/lib/modules/3.1.0-1.2-default/kernel/drivers/net/phy/broadcom.ko
/tmp/myinitrd/modules/

3) And now i do have a problem:

a) booting the client over pxe, switching to konsole and typing:
modprobe tg3 #no problem
modprobe broadcom #FATAL: Module broadcom not found.
But the module is there, in /modules

b) Okay, now i try something different.
After unpacking, i did:
depmod -b /tmp/myinitrd -C /tmp/myinitrd/etc/depmod.d/ 3.1.0-1.2-default
This creates modules.dep, modules.alias, ...
Booting over pxe now gives me the broadcom module, but not all the other
modules from the kernel:
modprobe tg3 #FATAL: Module tg3 not found
modprobe broadcom #no problem

4) solution would be a mixture of 3a and 3b, but how? Can anyone help? I'm
quite desperate now...

5) Ah ja, you can pack the initrd on the server via
cd /tmp/myinitrd/; find ./ | cpio -H newc -o | gzip -n9 > ../initrd.ACER; cp
/tmp/initrd.ACER /srv/tftp/

Thanks,
Markus
--
To unsubscribe, e-mail: opensuse+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse+owner@xxxxxxxxxxxx

< Previous Next >
Follow Ups