Simpler Navigation for Servers and Operating Systems
Completed: a much simpler Servers and Operating Systems section of the Community. We combined many of the older boards, so you won't have to click through so many levels to get at the information you need. Check the consolidated boards here as many sub-forums are now single boards.
BladeSystem Management Software
Showing results for 
Search instead for 
Did you mean: 

Support Pack for Proliant Firmware Update over PXE

Frequent Visitor

Re: Support Pack for Proliant Firmware Update over PXE

Hi, still following this thread and again big thanks for keeping this here up to date.


I got the 2013.09B working again ;-).


-as you can read in thread same bug like before kernel modules missing for booting spp from smb share



You can found the rpm with kernel module here


After implementing the kernel modules, i was still not able to pxe boot up with DL580G7.

Because of like usual network card nx_nic driver was missing


You have to edit the initrd.functions in /etc of initrd file.

Change Line Nr. 330


NET_MODULES="e100 e1000 e1000e igb ixgbe qlcnic tg3 bnx2x be2net bnx2 netxen_nic


NET_MODULES="e100 e1000 e1000e igb ixgbe qlcnic tg3 bnx2x be2net bnx2 nx_nic


Then repack the file like described here in the thread and you are done.


Saw many post here regarding get it to work under Windows/with SMB Share as Server(should work for linux as well):


Setup TFTP for example with that freeware

Copy the whole contet of the system directory from spp to /tftproot/HP

Create a share and User with Password that have access rights

Copy the whole SPP.iso into this share 

In the TFTP Folder in the pxelinux.cfg Folder (are the config file createated) 

Create a flile 01-macadddress like this format: 01-ma-ca-dd-rr-es-ss 

Create boot DHCP Entry with option 66, 67. Put in Option 66 your TFTP Server, in Option 67 pxelinux.0

Edit the content, use sample files from hp and use the following append sting:


append initrd=HP/initrd.img media=net rw root=/dev/ram0 ramdisk_size=900000 init=/bin/init loglevel=3 ide=nodma ide=noraid  ip=dhcp  nopat pnpbios=off vga=791 splash=silent hp_fibre showopts noexec32=off numa=off nox2apic TYPE=AUTOMATIC AUTOPOWEROFFONSUCCESS=yes iso1=smb://username:password@yoursmbserver/HP/HP_FW_Update.iso iso1mnt=/mnt/bootdevice


Hope that helps.






Please keep posting here.










Peter Capriccio
Frequent Advisor

Re: Support Pack for Proliant Firmware Update over PXE

Well, the new SPP is out (SPP-2014.02.0) and PXE boot support continues, however there are a few caveats:

1.) You will need to remove the "cdcache" kernel command line parameter from your menu entry -- this is new with this version and if you are using the file "system/isolinux.cfg" from the DVD as your menu entry template, it includes this parameter -- the relevant section of the "init" file in the initrd.img shows:

if [ -n "$(cat /proc/cmdline | grep -i 'cdcache')" ] ; then
    # unmount ${BOOTDEVICEMP} so the new root can mount/unmount
    umount "${BOOTDEVICEMP}" 2>/dev/null
    umount "${CHROOT_DIR}/${BOOTDEVICEMP}" 2>/dev/null

    # create new script to mount the boot media in the chroot
    echo '#!/bin/bash'         > "${CHROOT_DIR}/etc/init.d/boot.d/"
    cat /etc/initrd.default   >> "${CHROOT_DIR}/etc/init.d/boot.d/"
    cat /etc/initrd.functions >> "${CHROOT_DIR}/etc/init.d/boot.d/"



    chmod +x "${CHROOT_DIR}/etc/init.d/boot.d/"

 but when PXE booting, this unmounts the NFS/CIFS file share, but it never gets remounted -- the "mount_media" function call is supposed to do this, but when "media=net*", the "supermount_isos" function is called to mount the shares, which in turn expects to find "/sbin/", but the latter is only present in the initrd and not the squashfs. The "cdcache" parameter is checked for elsewhere, but for me at least, removing it from the menu entry leaves the network share mounted and everything seems to work as in the past. BTW, there are a lot of new parameter checks in the "init" file -- not sure if they are for some future functionality or what, but it looks interesting...

2.) I ran into a big problem when PXE booting and then doing updates from the CP021069 package ("HP Broadcom Online Firmware Upgrade Utility for Linux x86_64"). During my testing, I was using some BL460c (G1) blades and while this package is not supported on this server model, per the "Server Support Guide" for this release:

HPSUM still selected it and it "bricked" the onboard (LOM) NC373i NICs and I have been unable to recover them. During the boot, there is a script that gets executed to place all of the network interfaces (up to 32) administratively "UP", as this is a requirement for the network firmware upgrade package -- from "CP021069.txt":

  Performing the Firmware Upgrade
  1. This utility requires all the associated ethernet interfaces to be up.
  You can  bring up an ethernet interface by using the following command:

          # ifup ethx


          # ifconfig ethx up

When running this update interactively, I opened a debug shell (Ctrl+Alt+D+B+X) and monitored the interface status. Both NICs started out as "UP" (NIC1 had a DHCP obtained IP address as it was connected to the network with the file share). During the update, NIC1 (connected to the network file share) was no longer "UP" and so I'm assuming it lost connection to the network file share and the process hung which caused the update on both NICs to fail and end up in a corrupted state. As an attempted workaround, I copied the CP021069.scexe file to the squashfs and tried it on another server (thinking that since it was being launched from memory instead of from the network it might fare better) -- in this case, the update process still hung, but only NIC1 wound up corrupted and NIC2 got updated. Note that booting via a USB stick and running the same update worked correctly.

I'm not sure if it is something in my configuration or what, but the same CP021069 package worked without a hitch when PXE booting a supported server -- I tested it on a DL360G6 and although it has a different flavor LOM (NC382i), and uses different firmware files, they are all contained in the same package with presumably the same update mechanism. I suppose I need to check to see if the server being updated is supported for that particular component, but in Automatic mode, it selects it anyway. For what it is worth, the last supported version of the "HP Broadcom Online Firmware Upgrade Utility for Linux x86_64" for the BL460c (G1) is 2.6.14 (4 Sep 2012), which is available via SPP-2012.10.0 and which also works without a problem when PXE booted.

On the bright side, it would appear that this release contains the required files for CIFS network shares -- I haven't tested it (I use NFS), but the crypto libraries seem to be present.


Pete C.

Michael Leu
Honored Contributor

Re: Support Pack for Proliant Firmware Update over PXE

Thanks for the great post Pete!


I've had both onboard NICs (NC373i aka BCM5708) bricked on a DL385 G2 by this SPP.

On subsequent boots into the SPP from a physical DVD those NICs were not even discovered anymore so I could not force another firmware update.


There is a very interesting thread about possibly recovering from such firmware failures with a tool called "xdiag" and booting from a DOS ISO:

Occasional Visitor

Re: Support Pack for Proliant Firmware Update over PXE

Did anybody manage to integrate the MSB into a PXE bootable SPP (2014.02)?


Any attempts I tried resulted only in the SPP not finding any baseline at all, or at maximum the SPP default baseline without the MSB.