cancel
Showing results for
Did you mean:

Thanks

dcc

## Re: Support Pack for Proliant Firmware Update over PXE

Peter - with regards to your langsel.htm.wbu, correct me if I am wrong here in what you did....

1. You mounted initrd.img to /tmp/initrd.
2. You extracted /system/squashfs.img from the ISO image.
3. Then you extracted /opt/hp/hp-phoenix/srv/www/langsel.htm from squashfs.img and saved it as /tmp/initrd/langsel.htm.wbu.
4. You edited /tmp/initrd/langsel.htm.wbu.
5. Immediately below line 13 (the entry for "HP_Localize();"), you added:

HP_SystemCommand("bash", "-c 'export HDU_BOOTENV_SMPJTB=yes && cd /mnt/cdrom/hp/swpackages && ./hpsum'");
6. You edited /tmp/initrd/init and immediately under the command "mount_fs" (line 40), you added the following two lines:

cp /langsel.htm.wbu "${CHROOT_DIR}"/opt/hp/hp-phoenix/srv/www/langsel.htm sed -i 's|/mnt/cdrom|/mnt/bootdevice|g' "${CHROOT_DIR}"/opt/hp/hp-phoenix/srv/www/langsel.htm
7. You then created a new initrd.img and use that initrd.img to boot from.

This has the effect of bypassing the language prompt and EULA and immediately starting HPSUM upon boot - or atleast in my test environment.

Correct?

dcc

Honored Contributor

## Re: Support Pack for Proliant Firmware Update over PXE

FYI: I have sent a link to this thread to the SUM guy at HP and he has forwarded it to the person responsible for the boot environment for the SPP. So hopefully that person will participate here or the fixes will be in the next official SPP.

Additional question: does adding a CPxxxxxx.scexe to the root directory of HPSUM still work for you?

I just can't seem to get it to work. The new scexe shows up in the repository contents as a unbundled component but somehow doesn't get selected during installation (the older firmware that is in the bundle gets installed). I have tried all kinds of variations of -express_install, -allow_non_bundle_components and -allow_update_to_bundle as hpsum flags...

---------------------------------------------------------------------------------
Navigation: Forum Site Map // ye olde ITRC Tree
Honored Contributor

## Re: Support Pack for Proliant Firmware Update over PXE

Good stuff Michael,

In my opinion HP were slow to recognize what the community wanted in terms of PXE delivery of firmware/smart start/SPP. Also, when it was delivered it seemed very buggy which kind of negated it's use. I've spent hour tinkering with builds to get it working on different platforms which really defeats the purpose. Hopefully the next couple of releases will be more stable :)

If my post was helpful please award me Kudos! or Points :)

## Re: Support Pack for Proliant Firmware Update over PXE

Have anything changed regarding to the new SPP 2012.08.0 (released on 4 Sep 2012) ?

## Re: Support Pack for Proliant Firmware Update over PXE

Not that I saw. The same workarounds and instructions for the last couple of SPP ISOs are still valid and required for 2012.08.0. Kinda disappointing as you would have expected someone at HP to have taken notice of this... I'm intending to bring it up at the ISS ExpertOne Tech Tour I'm doing in Houston in early November.

dcc

## Re: Support Pack for Proliant Firmware Update over PXE

Could someone make SPP2012.08 work with the provided initrd ?

From looking at the console i see that the mount_url.sh script tries to mount the iso as if it was a directory

+ chmod a+x /sbin/mount_url.sh
+ mount_url.sh nfs://10.200.1.247:/osbuild/extra/install_packages/hp_firmware/SPP2012.08.iso
+ local_path=Error: unable to mount 'nfs://10.200.1.247:/osbuild/extra/install_packages/hp_firmware/SPP2012.08.iso'
+ [ -n Error: unable to mount 'nfs://10.200.1.247:/osbuild/extra/install_packages/hp_firmware/SPP2012.08.iso' ]
+ [ -n /mnt/bootdevice ]
+ [ -f Error: unable to mount 'nfs://10.200.1.247:/osbuild/extra/install_packages/hp_firmware/SPP2012.08.iso' ]
+ umount -d Error: unable to mount 'nfs://10.200.1.247:/osbuild/extra/install_packages/hp_firmware/SPP2012.08.iso'
+ mkdir -p /mnt/bootdevice
+ mount_url.sh --dir /mnt/bootdevice nfs://10.200.1.247:/osbuild/extra/install_packages/hp_firmware/SPP2012.08.iso

Furthermore when mounting an nfs url it tries to use the mountproto=tcp option THAT'S NOT VALID, the right syntax is proto=tcp

Does anyone ever perform QA on these releases ?

## Re: Support Pack for Proliant Firmware Update over PXE

Finally i was able to make SPP 2012.08 work over PXE using the unmodified initrd provided in

http://h18006.www1.hp.com/products/servers/service_packs/en/index.html

The trick was to specify the right NFS options on the kernel command line, that now looks like:

label sos1208
MENU LABEL Automatic Firmware Update Version 2012.08
kernel vmlinuz.FW2012.08
append initrd=initrd.img.FW2012.08 media=net rw root=/dev/ram0 ramdisk_size=900000 init=/bin/init loglevel=3 ide=nodma ide=noraid nopat pnpbios=off vga=7
91 splash=silent hp_fibre showopts noexec32=off numa=off nox2apic TYPE=AUTOMATIC iso1=nfs://10.200.1.247/osbuild/extra/install_packages/hp_firmware/SPP2012.0
8.iso iso1mnt=/mnt/bootdevice iso1opts=nolock,rsize=32768,wsize=32768,timeo=600,hard,intr,proto=udp,vers=3,ro d3bug AUTOPOWEROFFONSUCCESS=no AUTOREBOOTONSUCC
ESS=yes console=ttyS0,115200
ipappend 2

label vsos1208
MENU LABEL Interactive Firmware Update Version 2012.08
kernel vmlinuz.FW2012.08
append initrd=initrd.img.FW2012.08 media=net rw root=/dev/ram0 ramdisk_size=900000 init=/bin/init loglevel=3 ide=nodma ide=noraid nopat pnpbios=off vga=7
91 splash=silent hp_fibre showopts noexec32=off numa=off nox2apic TYPE=MANUAL iso1=nfs://10.200.1.247/osbuild/extra/install_packages/hp_firmware/SPP2012.08.i
so iso1mnt=/mnt/bootdevice iso1opts=nolock,rsize=32768,wsize=32768,timeo=600,hard,intr,proto=udp,vers=3,ro d3bug console=ttyS0,115200
ipappend 2

Occasional Visitor

## Re: Support Pack for Proliant Firmware Update over PXE

Thanks bro. Been struggling with why this wouldn't work all morning. The NFS mounting options worked.

Frequent Visitor

## Re: Support Pack for Proliant Firmware Update over PXE

Hi all

I am struggeling with getting the latest SPP's working on our Windows based PXE enviroment, and even though I've followed the instructions in this thread (alot of neat tricks) I still have no luck getting the latest SPP working in our enviroment. It simply won't mount the filesystem.

I've tried almost every possible workaround (the ones I could figure out in a windoes based environment), but I am not sure if the latest SPP requires you to modify the initrd file like the last couple of releases?

The problem is that everytime I boot a machine, it makes it to the HP loading bar screen, and then dropping me to a shell stating "Good Luck". Kinda not what I have come to expect from HP

Our PXE entry-menu point looks like this:

label f9
menu label ^9) HP Firmware Update
kernel HPFWU201208/vmlinuz

append initrd=/HPFWU201208/initrd.img media=cdrom rw root=/dev/ram0 ramdisk_size=900000 init=/bin/init loglevel=3 ide=nodma ide=noraid nopat pnpbios=off vga=791 splash=silent hp_fibre showopts noexec32=off numa=off nox2apic TYPE=AUTOMATIC AUTOPOWEROFFONSUCCESS=no AUTOREBOOTONSUCCESS=yes iso1=smb://[Path to iso] iso1mnt=/mnt/bootdevice

as stated before, I've tried with some of the fixes listed here, but still no cigar regarding mounting the filesystem.

Updated: Trying to fix this problem, I've encountered a strange entry when it fails to mount the file system. It's like it is trying to mount the network path onto the network, and not the .iso file which path I have clearly specified. Anyone knows why this might occur? And why did they change so much from 2012.02, it just worked back then.

Occasional Visitor

## Re: Support Pack for Proliant Firmware Update over PXE

After reading the sourceode and testing a lot I found a way to get it to boot from something else then eth0 without manually fixing the ramdisk. Using initrd-SPP2012080.2012_0730.60.img from  ftp://ftp.hp.com/pub/softlib2/software1/pubsw-generic/p1178085713/v81187/ and on he append line, insert

     append initrd=<the_one_downloaded> ...   netdev=${BOOTIF/01-/} netmac=${BOOTIF/01-/} ...
ipappend 2

"netdev" could also be "eth4" or so but then you need to know that ahead of time. In this case it is = MAC because of a bug in the code
"netmac" should probably be the MAC address of the nic to use but in the code it's only a trigger to use the value of  "netdev" as MAC to search for.

## Re: Support Pack for Proliant Firmware Update over PXE

dcc -- apologies for the very late reply -- I lost my bookmarked posts when they updated this Forum software (and I can't figure out how to add it back in), so I no longer receive email notifications when someone posts...

It looks like you already figured it out, but for the record, this is what I did:

- mounted the SPP ISO (to /mnt)

- unpacked the initrd:

zcat /mnt/system/initrd.img | cpio -i --make-directories

- edited the "init" file (made a copy first) to copy the updated langsel file after it calls the "mount_fs" function that mounts the squashfs:

cp -p init{,.original}

vi init

diff init{,.original}
42,48d41
< # "fix" xorg.conf (change "*Depth" from 24 back to 16 for older systems)
< sed -i '/Depth/s/24/16/g' "${CHROOT_DIR}"/etc/X11/xorg.default-us < < # "fix" references to "/mnt/cdrom" and remove EULA, etc, in the langsel.htm file in the squash < # sed -i 's|/mnt/cdrom|/mnt/bootdevice|g' "${CHROOT_DIR}"/opt/hp/hp-phoenix/srv/www/langsel.htm
< cp /langsel.htm.wbu "${CHROOT_DIR}"/opt/hp/hp-phoenix/srv/www/langsel.htm < - NOTE above that the "sed" line is commented out -- that would have fixed the mount point reference, but while I was mucking around in there, I managed to somehow eliminate the Language Selection and EULA, so I ended up just replacing the whole file (I left the "sed" line in there just as a reference to why I was messing with that file to begin with). So, in your example in point 5, the only change would have been substituting "/mnt/bootdevice" for "/mnt/cdrom". - copied the updated langsel.htm file to the unpacked initrd directory: cp -p /root/langsel.htm.wbu . - made edits to "sbin/netconfig.sh" and "etc/initrd.functions" as previously described - repacked the initrd (saved a copy of the original first): cp -p /tftpboot/SPP-2012.06.0B/initrd.img{,.original} find . ! -name "*~" | cpio -H newc --create | gzip -9 > /tftpboot/SPP-2012.06.0B/updated-initrd.img Now, as far as obtaining the "original" langsel.htm from the squashfs.img, well, I don't have squashfs capabilities installed on my server (running Debian Lenny), so I cheated and booted another system off of what I had so far for the SPP and made the edits there. Once I was satisfied, I copied the updated file to my server. Here are the changes: diff langsel.htm.nocr langsel.htm.wbu 104,107c104 < if (document.getElementById('lin').innerHTML == document.getElementById('LinuxJA').innerHTML) < HP_SystemCommand("bash", "-c 'export HDU_BOOTENV_SMPJTB=yes && export HDU_LANGUAGE=ja && cd /mnt/cdrom/hp/swpackages && ./hpsum'"); < else < HP_SystemCommand("bash", "-c 'export HDU_BOOTENV_SMPJTB=yes && cd /mnt/cdrom/hp/swpackages && ./hpsum'"); --- > HP_SystemCommand("bash", "-c 'export HDU_BOOTENV_SMPJTB=yes && cd /mnt/bootdevice/hp/swpackages && ./hpsum'"); 112,115c109 < if (document.getElementById('title2').innerHTML == document.getElementById('TitleLaunch2EN').innerHTML) //english < document.getElementById('title2').innerHTML = document.getElementById('RebootEN').innerHTML; < else < document.getElementById('title2').innerHTML = document.getElementById('RebootJA').innerHTML; --- > document.getElementById('title2').innerHTML = document.getElementById('RebootEN').innerHTML; 121c115 < HP_EjectDefaultCDROM(); --- > // HP_EjectDefaultCDROM(); 206c200 < <span id="title2" class="pagelegend">Please select the appropriate language.</span> --- > <span id="title2" class="pagelegend">Please select the appropriate option.</span> 212,213c206,207 < <h2><A id="len" onclick="runeulaEN();" href="#">English</A></h2> < <h2><A id="lja" onclick="runeulaJA();" href="#">Japanese</A></h2> --- > <h2><A id="len" onclick="runLin();" href="#">Launch HP SUM</A></h2> > <h2><A id="len" onclick="restartpress();" href="#">Reboot</A></h2> 241c235 < <h2 id="waittxt">text to wait</h2> --- > <h2 id="waittxt">please wait</h2> Note that the original "langsel.htm" was in DOS format (CR/LF line terminators), but after editing or maybe copying, "langsel.htm.wbu" was not. It didn't seem to make a difference. The latter file is attached, but who knows how it might get mangled by the Forum software, so let me know if it doesn't come through okay. Hope this helps and sorry again for the late reply, Pete C. Acclaimed Contributor ## Re: Support Pack for Proliant Firmware Update over PXE >I lost my bookmarked posts when they updated this Forum software, so I no longer receive email notifications when someone posts... Here is the FAQ entry for Bookmarks and Subscriptions: http://h30499.www3.hp.com/t5/help/faqpage/faq-category-id/advanced#advanced At the top of each topic page is "Topic Options > Subscribe". Frequent Visitor ## Re: Support Pack for Proliant Firmware Update over PXE Hello again. I recently tried with the modified initrd.img file, but the damm thing still refuses to work. We are still deploying the latest updates with a USB-Stick, but it would be really nice if the PXE would start working again. I've tried almost everything from patching the files useing Linux to following the PDF from HP to the letter. Still unable to mount filesystem in our windows environment. Frequent Advisor ## Re: Support Pack for Proliant Firmware Update over PXE Dennyaa - check your private messages. dcc Frequent Advisor ## Re: Support Pack for Proliant Firmware Update over PXE FYI -- if you haven't seen it already, the HP Service Pack for ProLiant 2012.10.0 release is out -- they've fixed a lot of stuff, but the NFS options problem that Gerardo Arceri discovered in the updated initrd of the previous release still remains. Since I was modifying the initrd anyways, I opted to update "sbin/mount_url.sh" (line 305) instead of passing the options on the command line: # diff sbin/mount_url.sh{,.original} 305c305 < mntoptions="nolock,rsize=32768,wsize=32768,timeo=600,hard,intr,proto=tcp" --- > mntoptions="nolock,rsize=32768,wsize=32768,timeo=600,hard,intr,mountproto=tcp" BTW, this release is really nice -- they now include ACU and Insight Diagnostics so you can do a lot of stuff in one boot. Also, saving an Insight Diagnostics Survey to USB works great (couldn't get this to work on PXE-booted, recent SmartStart releases to save my life). Pete C. Frequent Advisor ## Re: Support Pack for Proliant Firmware Update over PXE In case anyone is interested, here is my stab at bypassing the Language Selection and EULA acceptance screen in SPP 2012.10.0. As in the previous couple of releases, I modified the "/opt/hp/hp-phoenix/srv/www/langsel.htm" file in the squashfs, although this new version is very different. Basically, I added the "acceptEula();" and "Launch();" function calls to the "InitializePage()" function and then deleted the language selection and EULA divs, plus the "Next" button on the footer, but kept the "Reboot" button -- there is a new widget on the top bar to reboot or shutdown, but that requires two clicks (am I lazy or what?). Here's the diff: # diff langsel.htm.wbu ../langsel.htm.original 32a33 > disableAccept(); 34,35d34 < acceptEula(); < Launch(); 140a140 > HideObject("eulareboot"); 250a251,264 > <div id="langselect" style="position:absolute; top:220px; left:80px;"><span id="SELECTPREFLANGUAGE" style="color:#353535; font-size:large; font-weight:bolder;">Select the preferred language</span> > <input type="checkbox" id="leng" value="en-US" name="leng" checked="checked" onchange="onChangeLanguage(this.id);" style="position:absolute; top:50px; left:20px;"/> > <label for="leng" style="position:absolute; top:50px;left:30px; width:80px;"><span id="ENGLISHLANG">English</span></label> > <input type="checkbox" id="ljap" value="ja-JP" name="ljap" onchange="onChangeLanguage(this.id);" style="position:absolute; top:50px; left:140px;"/> > <label for="ljap" style="position:absolute; top:50px;left:150px; width:80px;"><span id="JAPANESELANG">Japanese</span></label> > </div> > > <div id="eulaaccept" style="position:absolute; top:350px; left:80px;"> > <span id="ACCEPTEULA" style="color:#353535; font-size: large; font-weight:bolder;">Accept the End User License Agreement (EULA)</span> > <button id="eularead" class="standardbutton" onclick="ReadSPPEula();" style="position:absolute; top:50px; width:80px; left:20px;"><span id="EULAREAD">Read</span></button> > <input type="checkbox" id="eulaYes" name="eulaYes" onchange="acceptEula();" style="position:absolute; top:60px; left:140px;"/> > <label for="eulaYes" style="position:absolute; top:58px;left:145px; width:80px;"><span id="ACCEPT">Accept</span></label> > </div> > 252a267 > <button id="eulanext" class="standardbutton" onclick="Launch();" style="position:absolute; bottom:10px; width:80px; left:850px;"><span id="NEXT">Next</span></button> I'm a total n00b when it comes to HTML stuff, so there is probably a better way, but it seems to work okay. To implement the change, again instead of unpacking/repacking the squashfs, I instead modified the "init" file in the initrd to copy the modified version (that I called "langsel.htm.wbu") from the root of the initrd (or wherever you want to store it) into the squashfs after it is unpacked. Here are my changes to the "init" file: # diff init{,.original} 45,50d44 < # "fix" xorg.conf (change "*Depth" from 24 back to 16 for older systems) < sed -i '/Depth/s/24/16/g' "${CHROOT_DIR}"/etc/X11/xorg.default-us
<
< # replace the langsel.htm file in the squash to remove language selection and EULA
< cp /langsel.htm.wbu "\${CHROOT_DIR}"/opt/hp/hp-phoenix/srv/www/langsel.htm
<

The modified files are attached.

*NOTE* that the forum software won't accept filenames with no extensions (or my stupid ones), so I added a ".txt" to each one...

Pete C.

## Re: Support Pack for Proliant Firmware Update over PXE

Hi Peter,

Can confirm that PXE booting 2012.10 works without modifying the initrd..

the post earlier specifying the NFS options on the command line does the trick, eg:

label hpsum 2012.10
kernel pxelinux.cfg/vmlinuz.SPP2012.10
append initrd=pxelinux.cfg/initrd.img.SUM2012.10 media=net rw root=/dev/ram0 ramdisk_size=900000 init=/bin/init loglevel=3 ide=nodma ide=noraid nopat pnpbios=
off vga=791 splash=silent hp_fibre showopts noexec32=off numa=off nox2apic TYPE=AUTOMATIC AUTOREBOOTONSUCCESS=yes AUTOPOWEROFFONSUCCESS=no iso1=nfs://[nfs ip]/[nfs path to ISO] iso1opts=nolock,rsize=32768,wsize=32768,timeo=600,hard,intr,proto=udp,vers=3,ro iso1mnt=/mnt/bootdevice
ipappend 2

So really simple now,

mount the ISO, copy 2 files, clone the pxelinux.cfg entry and away...

Cheers

## Re: Support Pack for Proliant Firmware Update over PXE

Thanks for confirming the unmodified initrd -- that is good to know. I ended up modifying the initrd to make a couple of changes for our environment (like bypassing the language selection/EULA -- at my age, I can't afford to expend the energy for any extra mouse clicks or keyboard shortcuts :). One question though -- does "ipappend 2" work with the unmodified initrd?

Honored Contributor

## Re: Support Pack for Proliant Firmware Update over PXE

Please note: for NFS you can't just clone the pxelinux.cfg, there needs to be a iso1opts provided because the default does not work (as discovered by Gerardo_Arceri).

If you are unsure use "iso1opts=nolock,rsize=32768,wsize=32768,timeo=600,hard,intr". This is the same as the default without the erroneous "mountproto=tcp". Busybox uses tcp by default anyway [1].

---------------------------------------------------------------------------------
Navigation: Forum Site Map // ye olde ITRC Tree
Frequent Visitor

## Re: Support Pack for Proliant Firmware Update over PXE

Hello again.

I have downloaded the latest SPP and now I get the following error:

err: eth0: Failed to lookup hostname via DNS: Name or service not known.

Warning! Unable to mount the filesystem

I seriously have no idea why this is happening but it sure is annoying. Still useing the good ol' USB pen for updates.

When I move the .iso to my root folder and point the append line towards it, I still get the;

Warning! Unable to mount the file system.

## Re: Support Pack for Proliant Firmware Update over PXE

AFAIK, the "err: eth0: Failed to lookup hostname via DNS: Name or service not known." is not an issue, at least in my configuration since we're not running DNS on our PXE LAN and I see that error message all the time.

As far as the "Warning! Unable to mount the filesystem" error, are you using NFS to mount the ISO? If so, did you add the NFS options fix to the boot string that Gerardo Arceri discovered? Also, as others have mentioned, you might want to try temporarily adding "d3bug" to the boot string to get a better idea as to where it is failing.

Frequent Visitor

## Re: Support Pack for Proliant Firmware Update over PXE

Looks like HP fixed some Problems.

But again there some new bugs.

PXE boot from SMB Share is not working with SPP2012.10.

An error appears that /lib/modules/3.0.13-0.27-default/kernel/crypto/md5.ko : No such File or Directory

First i think something with username/password is wrong again, which I discovered before (see post page before).

But it hang on other point. I inserted again a output line for username and password.

Username and password were ok. Insterting debug line was a good idea but got no other error.

Very nice to see whats going on.

So looks like these kernel modules are required for smb mount.

First I think only this one file is missing.

But at the end I figured out that 4 files were missing in /lib/modules/3.0.13-0.27-default/kernel/crypto/

des_generic.ko

ecb.ko

md4.ko

md5.ko

So as it is described here some posts before you can edit the initrd.img and put the missing files in.

Then the pxe boot with smb share should work again ;-)

You can found the the missing files in the correct kernel rpm

http://demeter.uni-regensburg.de/SLES11SP2-x64/DVD1/suse/x86_64/kernel-default-3.0.13-0.27.1.x86_64.rpm

By the way i figured out,that in the past it looks like hpsum does a force update.

Means regardless you already have the newest version or a newer version (for example because of an adivsory) it updates the host with firmware from the dvd again.

Anybody knows were to disable this force of updates ?

Is there a command line for hpsum which can be changed so that force update is off ?

Thanks

Regards

Sascha

Frequent Visitor

## Re: Support Pack for Proliant Firmware Update over PXE

No NFS, we are useing SMB even though the PDF from HP states that we have to use smbfs in order to make it work, which clearly is a fault, since smbfs haven't worked since forever.

I have tried alot of the solutions posted here, but are still stuck at the same errors.

Occasional Visitor

## Re: Support Pack for Proliant Firmware Update over PXE

I was having problems trying to get the SPP iso to mount over nfs. Here is my PXE menu entry that worked:

Please notice the /path/to parts and change them to fit your environment.

label Smart_Update_Manager_1210
MENU LABEL ^Smart Update Manager SPP2012.10
kernel \path\to\vmlinuz
append initrd=\path\to\initrd.img media=net rw root=/dev/ram0 ramdisk_size= init=/bin/init loglevel=3 ide=nodma ide=noraid nopat pnpbios=off vga=791 splash=silent hp_fibre showopts noexec32=off numa=off nox2apic iso1mnt=/mnt/bootdevice iso1=nfs://path/to/HP_Service_Pack_for_Proliant_2012.10.0-0_713293-001_spp_2012.10.0-SPP2012100.2012_1005.37.iso iso1opts="rsize=32768,ro,nolock" TYPE=MANUAL AUTOPOWEROFFONSUCCESS=no

As long as the paths are updated, this will mount the SPP iso over nfs and boot into manual mode. If you want automatic mode for automaded firmware updates, you would change the last 2 entries to these 3:

TYPE=AUTOMATIC AUTOPOWEROFFONSUCCESS=no AUTOREBOOTONSUCCESS=yes