Menu

mkpxeinitrd-net and firmware loading / udev

pdf
2009-07-28
2013-10-30
  • pdf

    pdf - 2009-07-28

    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.

     
    • Jazz Yao-Tsung Wang

      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 ]

       
      • pdf

        pdf - 2009-07-28

        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.

         
        • Steven Shiau

          Steven Shiau - 2009-07-29

          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.

           
          • pdf

            pdf - 2009-07-29

            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?

             
            • Steven Shiau

              Steven Shiau - 2009-07-29

              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.

               
  • Pau Roldan

    Pau Roldan - 2013-10-17

    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:

    ln -sf /tftpboot/nbi_img/initrd-pxe.3.2.0-4-bnx2_fixed-amd64.img  /tftpboot/nbi_img/initrd-pxe.img
    

    so I had to force:

    mv /tftpboot/nbi_img/initrd-pxe.3.2.0-4-bnx2_fixed-amd64.img /tftpboot/nbi_img/initrd-pxe.img
    

    I hope this helps in case someone else is still having the same issue.
    /P

     
    • Steven Shiau

      Steven Shiau - 2013-10-30

      Which version of DRBL are you using? and on which GNU/Linux?
      Thanks.

      Steven.

       

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.