Adding HP SPP iso to fog
-
Hi,
I need help with the above and would very much appreciate your help.
The files i’ve gotten from the iso are: initrd.img, vmlinuz, and spp2019120.menu. I’m not sure what to do with spp2019120.menuHere are the README instructions:
Prerequisites / Assumptions --------------------------- * A working TFTP(PXE) server and supporting network infrastructure. * We will be using a Linux server and with the tftpd package. Windows configuration should follow similarly, but is left as an exercise to the user. * The TFTP root directory is assumed to be /tftpboot * PXELINUX bootloader and the menu.c32 menu program that is included with PXELINUX. ( http://www.syslinux.org ) * PXELINUX default configuration file is located at /tftpboot/pxelinux.cfg/default * You should already have PXELINUX and the menu system configured and working. * A ProLiant server we will use as the PXE client. * An NFS or Windows file server to host the ISO images (may or may not be the same server as the TFTP server) * We will be using an NFS server that being exported as 192.168.0.1:/exportdir * You already have the SPP ISO image > ls ~/Downloads/SPP2019120.2019_1219.1.iso * You should have the SPP ISO image mounted or extracted in order to access the contents of the ISO. We assume the SPP is mounted as /media/SPP > sudo mkdir -p /media/SPP > sudo mount -o loop ~/Downloads/SPP2019120.2019_1219.1.iso /media/SPP 1. Copy the SPP so it is accessible over the network ---------------------------------------------------- Assuming the /exportdir is exported over NFS. Choose either option 1.1 or option 1.2 *** ONE OR THE OTHER, BUT NOT BOTH *** 1.1 Copy the SPP ISO **image** to an exported filesystem. > mkdir -p /exportdir/hp-spp/ > cp ~/Downloads/SPP2019120.2019_1219.1.iso /exportdir/hp-spp/SPP2019120.2019_1219.1.iso 1.2 Copy the SPP ISO **contents** to the exported filesystem. > mkdir -p /exportdir/hpp-spp/spp2019120/ > cp -r /media/SPP/. /exportdir/hpp-spp/spp2019120/ ** Option 1.2 makes it easier to modify the contents of the hp/swpackages directory to suit your needs and is intended for advanced users. ** 2. TFTP server configuration ---------------------------- 2.1 Copy the entire folder spp2019120 from the SPP ISO to the TFTP root directory. > sudo cp -r /media/SPP/pxe/spp2019120 /tftpboot/ 2.2 Update the iso1 values in the configuration file to reflect your NFS server. If using option 1.1 > sudo sed -i.orig -e \ > 's,iso1=nfs://nfsserver.localdomain.net/path/to/spp.iso,iso1=nfs://192.168.0.1/exportdir/hp-spp/SPP2019120.2019_1219.1.iso,g' \ > /tftpboot/spp2019120/spp2019120.menu If using option 1.2 > sudo sed -i.orig -e \ > 's,iso1=nfs://nfsserver.localdomain.net/path/to/spp.iso,iso1=nfs://192.168.0.1/exportdir/hp-spp/spp2019120,g' \ > /tftpboot/spp2019120/spp2019120.menu 2.3 Update your PXELINUX configuration to include the /tftpboot/spp2019120/spp2019120.menu entries. > sudo cat /media/SPP/pxelinux.cfg/spp.menu >> /tftpboot/pxelinux.cfg/default 2.4 Copy the SPP ISO image to an exported filesystem or location. > mkdir -p /exportdir/hp-spp/ > cp ~/Downloads/SPP2019120.2019_1219.1.iso /exportdir/hp-spp/SPP2019120.2019_1219.1.iso 3. PXE Boot your ProLiant Server client machine -----------------------------------------------
-
Well this is an interesting mix that is a bit hard to follow. The structure is very similar to what I have in this tutorial. https://forums.fogproject.org/topic/10944/using-fog-to-pxe-boot-into-your-favorite-installer-images
The HP supplied instructions are a bit convoluted. Is this ISO image freely downloadable? I’d like to look at it in its native form. I’m pretty sure it can be adjusted to boot with FOG. I understand what they are doing, they are netbooting a live version of linux for some unknown task.
-
It’s not freely downloadable but I’ll try to upload it to a public cloud.
-
`DON’T Use this configuration because it had a few flaws. I’m leaving it here for reference only. Use the later configuration since its a bit more concise (and actually works)’
Well if its not publicly available I don’t want it. Based on the text you already provided I was able to translate it into my standard netboot instructions. Since I don’t have the ISO this is just a best guess and YMMV with results. If there is an error thrown take a clear picture of the error with a mobile phone and post it here in the forum. These instructions should be pretty close since this iso is just doing a normal netboot image using syslinux and not iPXE.
HPE SPP2019120
- First we’ll create the required directories:
mkdir -p /images/os/hpespp/SPP2019120 mkdir -p /tftpboot/os/hpespp/SPP2019120
- Now we’ll mount the SPP2019120 installer over the loop directory. Then we’ll copy the contents of the DVD to the directory we built above.
mount -o loop -t iso9660 /{full path where you have the iso stored}/SPP2019120.2019_1219.1.iso /mnt/loop cp -R /mnt/loop/* /images/os/hpespp/SPP2019120 umount /mnt/loop
- Finally we’ll copy the pxe boot kernel and intfs to the tftpboot directory.
cp /images/os/hpespp/SPP2019120/pxe/spp2019120/vmlinuz /tftpboot/os/hpespp/SPP2019120 cp /images/os/hpespp/SPP2019120/pxe/spp2019120/initrd.img /tftpboot/os/hpespp/SPP2019120
- The last bit of magic we need to do is setup a new FOG iPXE boot menu entry for this OS.
- In the fog WebGUI go to FOG Configuration->iPXE New Menu Entry
Set the following fields
Menu Item: os.HPE.SPP2019120
Description: HPE 2019120
Parameters:
kernel tftp://${fog-ip}/os/hpespp/SPP2019120/vmlinuz
initrd tftp://${fog-ip}/os/hpespp/SPP2019120/initrd.img
imgargs initrd=initrd.img media=net root=/dev/ram0 splash quiet hp_fibre showopts TYPE=MANUAL AUTOPOWEROFFONSUCCESS=no iso1=nfs://${fog-ip}:/images/os/hpespp/SPP2019120 iso1mnt=/mnt/bootdevice
boot || goto MENU
Menu Show with: All Hosts - That’s it, just pxe boot your target system and pick
HPE 2019120
from the FOG iPXE boot menu.
References:
-
Just to follow up on this I had an extended chat session with the OP. He got it to pxe boot and the kernel to load but it was unable to mound the file system. I built the same setup in my test lab and ran into the same (bug) this morning. The OP stated that when he boots from the ISO image that it works fine. Booting from the ISO image uses different kernels and initrd files than pxe booting. I have a few other ideas I want to look into like changing the kernel and initrd files between the iso image and the pxe boot files supplied on the iso disk. I know the iso boot files will not work in a netboot environment but I want to see if we can get past unable to mount the file system error.
-
It does work, or at least runs on a vm
-
Thank @george1421 for your help. I just wanted to close out this thread with the final parameters you recommended that worked.
kernel tftp://${fog-ip}/os/spp/vmlinuz
initrd tftp://${fog-ip}/os/spp/initrd.img
imgargs vmlinuz initrd=initrd.img media=net root=/dev/ram0 splash quiet hp_fibre showopts TYPE=MANUAL AUTOPOWEROFFONSUCCESS=no iso1=nfs://${fog-ip}/images/os/spp/2019-12-09-0.iso iso1mnt=/mnt/bootdevice iso1opts=nolock,ro
boot || goto MENU -
Just to round out this thread, this is the final configuration steps to get this service pack up and running. In the end I did need the iso image to try to reverse engineer what it was trying to do. If you want to test this configuration on a VM make sure you use the E1000 type nic or the booting kernel may not see the network adapter.
HPE SPP2019120
1.First we’ll create the required directories:mkdir -p /images/os/spp mkdir -p /tftpboot/os/spp
2.Now we’ll mount the SPP2019120 installer over the loop directory.
mount -o loop -t iso9660 /{full path where you have the iso stored}/SPP2019120.2019_1219.1.iso /mnt/loop
3.Finally we’ll copy the pxe boot kernel and intfs to the tftpboot directory. Then unmount the iso image and move the iso image into place.
cp /mnt/loop/pxe/spp2019120/vmlinuz /tftpboot/os/spp cp /mnt/loop/pxe/spp2019120/initrd.img /tftpboot/os/spp umount /mnt/loop mv /{full path where you have the iso stored}/SPP2019120.2019_1219.1.iso /images/os/spp/SPP2019120.iso
4.The last bit of magic we need to do is setup a new FOG iPXE boot menu entry for this OS.
5.In the fog WebGUI go to FOG Configuration->iPXE New Menu Entry
Set the following fields
Menu Item: os.HPE.SPP2019120
Description: HPE 2019120
Parameters:
kernel tftp://${fog-ip}/os/spp/vmlinuz
initrd tftp://${fog-ip}/os/spp/initrd.img
imgargs vmlinuz initrd=initrd.img media=net root=/dev/ram0 splash quiet hp_fibre showopts TYPE=MANUAL AUTOPOWEROFFONSUCCESS=no iso1=nfs://${fog-ip}/images/os/spp/SPP2019120.iso iso1mnt=/mnt/bootdevice iso1opts=nolock,ro
boot || goto MENU
Menu Show with: All Hosts
6.That’s it, just pxe boot your target system and pickHPE 2019120
from the FOG iPXE boot menu.In the syslinux kernel parameters for this iso image there was to groups of kernel parameters. In the syslinux menu there was a manual method and an automatic method. During the development of this process we only tested the manual method. The manual method uses these kernel parameters as show above.
TYPE=MANUAL AUTOPOWEROFFONSUCCESS=no
The automatic method uses these kernel parameters.
TYPE=AUTOMATIC AUTOPOWEROFFONSUCCESS=no AUTOREBOOTONSUCCESS=yes
If you want to use the automatic method (I have no clue what that means) replace the manual kernel parameters in the iPXE menu with the automatic parameters. Be careful to not replace too many bits because the HPE SPP seems to be a bit fussy with what it expects in the linux kernel parameters.With this setup in place you can use the same tftp boot infrastructure to boot into any of the HPE SPP iso, now by just adding the iso image to the directory and copying the iPXE menu configuration to a new entry while updating the iso name in the iPXE menu.