Hi all,
I have a new Dell with a bnx2-based NIC. I am trying to get this to boot from our Debian-based drbl server, running Lenny and DRBL 1.9.4-47, with mkpxeinitrd-net 1.2-43. Unfortunately, I'm getting the 'Unable to load firmware file' error, even though I have added the firmware-bnx2 package to the system, and re-created the initrd. I even added the firmware to the mkpxeinitrd-net template, and verified that the firmware is indeed in the initrd after generation. It looks like there's no udev in the initrd created by mkpxeinitrd-net though, so I'm not sure how to get it to load... the included version of busybox's modprobe certainly doesn't seem to be loading firmware properly.
Note: I can PXE boot fine with an NFS initramfs created using the standard mkinitramfs.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi there, I have the same problem in our IBM Servers, too.
It's an issue of non-free kernel module.
Could you tell us which Linux distribution and which version of kernel ??
Currently I temperately solved this issue by replace linux kernel to 2.6.22.
I install Ubuntu 9.04, the original kernel version is 2.6.28
Since I need the distributed filesyetem "Lustre", I installed pre-compiled 2.6.22 with Lustre.
Following is my procedure to re-deploy 2.6.22 kernel to DRBL clients.
Debian, 2.6.26-2-686. Unfortunately dropping the kernel rev is not an option for us - we use the server to push images to ubiquitous hardware, some of which depends on the newer kernel for NIC driver reliability.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Yes, in the future, mkpxeinitrd-net should support udev, which is not available now. Only with udev support, the non-free firmware can be loaded.
For the time being, if you are not using multicast clone, there is another option you can try. i.e. use Clonezilla live via PXE. By doing this, you can separate the kernel from the server and the client. To do so, you can:
1. Set up a DRBL server running the latest stable DRBL (1.9.4-47)
2. Download the latest Clonezilla live iso, e.g. clonezilla-live-1.2.2-26.iso
3. On your DRBL sever, run:
/opt/drbl/sbin/drbl-SL.sh -i clonezilla-live-1.2.2-26.iso
Stable clonezilla live does not use any non-free software, so it won't load the non-free firmware. However, maybe your NIC is supported in kernel 2.6.30 without any need of firmware.
If it does not work, give ubuntu-based Clonezilla live a try.
Steven.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi all,
I have a new Dell with a bnx2-based NIC. I am trying to get this to boot from our Debian-based drbl server, running Lenny and DRBL 1.9.4-47, with mkpxeinitrd-net 1.2-43. Unfortunately, I'm getting the 'Unable to load firmware file' error, even though I have added the firmware-bnx2 package to the system, and re-created the initrd. I even added the firmware to the mkpxeinitrd-net template, and verified that the firmware is indeed in the initrd after generation. It looks like there's no udev in the initrd created by mkpxeinitrd-net though, so I'm not sure how to get it to load... the included version of busybox's modprobe certainly doesn't seem to be loading firmware properly.
Note: I can PXE boot fine with an NFS initramfs created using the standard mkinitramfs.
Hi there, I have the same problem in our IBM Servers, too.
It's an issue of non-free kernel module.
Could you tell us which Linux distribution and which version of kernel ??
Currently I temperately solved this issue by replace linux kernel to 2.6.22.
I install Ubuntu 9.04, the original kernel version is 2.6.28
Since I need the distributed filesyetem "Lustre", I installed pre-compiled 2.6.22 with Lustre.
Following is my procedure to re-deploy 2.6.22 kernel to DRBL clients.
[ Shut down all DRBL Clients ]
bio:~# echo "deb http://www.pdsi-scidac.org/repository/debian testing main" > /etc/apt/sources.list.d/lustre.list
bio:~# apt-get update
bio:~# apt-get install pdsi-scidac-keyring
bio:~# apt-get install linux-image-2.6.22.19-lustre-686 lustre-modules-2.6.22.19-lustre-686 lustre-utils
[ Reboot and choose 2.6.22 kernel ]
bio:~$ uname -a
Linux bio 2.6.22.19-lustre-686 #2 SMP Tue Aug 26 00:01:59 UTC 2008 i686 GNU/Linux
bio:~$ sudo /opt/drbl/sbin/drblsrv-offline -s `uname -r`
bio:~$ sudo /opt/drbl/sbin/drblpush -C /etc/drbl/drblpush.conf
[ Boot all DRBL Clients with Wake-On-LAN ]
Debian, 2.6.26-2-686. Unfortunately dropping the kernel rev is not an option for us - we use the server to push images to ubiquitous hardware, some of which depends on the newer kernel for NIC driver reliability.
Yes, in the future, mkpxeinitrd-net should support udev, which is not available now. Only with udev support, the non-free firmware can be loaded.
For the time being, if you are not using multicast clone, there is another option you can try. i.e. use Clonezilla live via PXE. By doing this, you can separate the kernel from the server and the client. To do so, you can:
1. Set up a DRBL server running the latest stable DRBL (1.9.4-47)
2. Download the latest Clonezilla live iso, e.g. clonezilla-live-1.2.2-26.iso
3. On your DRBL sever, run:
/opt/drbl/sbin/drbl-SL.sh -i clonezilla-live-1.2.2-26.iso
Then went you boot your client via PXE, you can see an option to use this Clonzilla live. To do more automatically steps, you can make it by append boot parameters. For more info, please check
http://clonezilla.org/clonezilla-live/doc/
Especially
http://clonezilla.org/clonezilla-live/doc/showcontent.php?topic=07_Customized_script_with_PXE
http://clonezilla.org/clonezilla-live/doc/fine-print.php?path=./99_Misc/00_live-initramfs-manual.doc#00_live-initramfs-manual.doc
Good luck.
Steven.
Thanks Steven, I'll give it a shot - will the Stable version load the non-free drivers, or do I need the Alternative Ubuntu version?
Stable clonezilla live does not use any non-free software, so it won't load the non-free firmware. However, maybe your NIC is supported in kernel 2.6.30 without any need of firmware.
If it does not work, give ubuntu-based Clonezilla live a try.
Steven.
Hi,
I was having the same problem: lack of udev binaries and libs in the initrd image for the clients. I came across this solution:
http://lists.debian.org/debian-user/2013/01/msg00977.html
I followed the same procedure described in the above post and managed to boot clients with udev binaries.
The only minor problem I had with the procedure is that, for some odd reason, the bootloader didn't like the symlink created by the last line of code:
so I had to force:
I hope this helps in case someone else is still having the same issue.
/P
Which version of DRBL are you using? and on which GNU/Linux?
Thanks.
Steven.