ProLiant Servers (ML,DL,SL)
cancel
Showing results for 
Search instead for 
Did you mean: 

UEFI, iPXE, and Service Pack for ProLiant (SPP)

SOLVED
Go to solution
JorellF
Occasional Advisor

UEFI, iPXE, and Service Pack for ProLiant (SPP)

I am trying to deploy SPP over the network using EFI, it works when in legacy mode, but soon we will be switching over to EFI. The servers are ML110s, ML350s, DL380s, and more...

The current message that keeps being displayed is:

vfs unable to mount root fs on unknown-block(0,0)

the only answer I can find for this error is the kernel needs to be 3.16+, the kernel is currently 3.12.38-44

SPP is 2016-10

iPXE is compiled from git source on 2017-01-17 build 26050

I also tried syslinux.efi, it crashes. grub2 is unable to retrive a DHCP address. elilo reports token is too long.

the ipxe menu contains:

kernel http://${ipserver}/data/hp_spp/${hpsppver}/vmlinuz initrd=initrd.img rootfstype=ramfs
initrd http://${ipserver}/data/hp_spp/${hpsppver}/initrd.img
imgargs vmlinuz media=net rw ramdisk_size=1099688 root=/dev/ram0 init=/bin/init iso1mnt=/mnt/bootdevice loglevel=3 ide=nodma ide=noraid nopat pnpbios=off vga=791 splash=silent hp_fibre showopts noexec32=off numa=off nox2apic ipappend 2 TYPE=MANUAL AUTOPOWEROFFONSUCCESS=no AUTOREBOOTONSUCCESS=no iso1=nfs://${ipserver}/opt/planb/data/hp_spp/${hpsppver}/${hpsppiso} iso1opts=timeo=120,nolock,bg,ro
boot

 

13 REPLIES
Jimmy Vance
HPE Pro

Re: iPXE and Service Pack for ProLiant (SPP)

I don't have iPXE setup, but here is an entry from my grub.cfg file for UEFI PXE boot. The SPP kernel image can boot the ISO over HTTP and that is the method I use in the lab.

 

menuentry 'HPE SPP 2016.10.0 HTTP' --class gnu-linux --class gnu --class os {
        echo 'Loading Kernel ...'
        linuxefi /spp2016.10.0/vmlinuz media=net rw root=/dev/ram0 ramdisk_size=1083840 init=/bin/init loglevel=3 vga=791 splash=silent hp_fibre showopts TYPE=MANUAL AUTOPOWEROFFONSUCCESS=no iso1=http://10.10.0.15/hpespp/SPP2016100.20
16_1009.185.iso iso1mnt=/mnt/bootdevice
        echo 'Loading initial Ramdisk ...'
        initrdefi /spp2016.10.0/initrd.img
        }

 

 




__________________________________________________
No support by private messages. Please ask the forum!      I work for HPE

If you feel this was helpful please click the KUDOS! thumb below!   
JorellF
Occasional Advisor

Re: iPXE and Service Pack for ProLiant (SPP)

I am unable to use grub because net_bootp returns with couldn't autoconfigure efinet0. I need to use dhcp because there are several subnets and more then one server will be running SPP at the same time.

ipxe needs to be used due to its ability to use php menus.

Jimmy Vance
HPE Pro

Re: iPXE and Service Pack for ProLiant (SPP)

Not suggesting you use grub. Just showing a working SPP UEFI PXE boot configuration that happens to use grub2. You should be able to move the syntax and make it work with iPXE




__________________________________________________
No support by private messages. Please ask the forum!      I work for HPE

If you feel this was helpful please click the KUDOS! thumb below!   
JorellF
Occasional Advisor

Re: iPXE and Service Pack for ProLiant (SPP)

I have already tried those commands with no success.

Jimmy Vance
HPE Pro

Re: iPXE and Service Pack for ProLiant (SPP)


JorellF wrote:

I have already tried those commands with no success.


have you tried HTTP instead of NFS?

 


JorellF wrote:
I also tried syslinux.efi, it crashes. grub2 is unable to retrive a DHCP address. elilo reports token is too long.

I too had no success with syslinux and UEFI.  I was using ELILO, but recently switched over to using grub2.  My DHCP configuration decides if the system is legacy or UEFI and directs TFTP to use either pxelinux.0 for legacy systems, or bootx64.efi for UEFI systems. 

 




__________________________________________________
No support by private messages. Please ask the forum!      I work for HPE

If you feel this was helpful please click the KUDOS! thumb below!   
JorellF
Occasional Advisor

Re: iPXE and Service Pack for ProLiant (SPP)


have you tried HTTP instead of NFS?

 Produces the same error

 

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
CPU: 0 PID: 1  Comm: swapper/0 Not tainted 3.12.38-44-default #1

I too had no success with syslinux and UEFI.  I was using ELILO, but recently switched over to using grub2.  My DHCP configuration decides if the system is legacy or UEFI and directs TFTP to use either pxelinux.0 for legacy systems, or bootx64.efi for UEFI systems. 


what was you conf for ELILO?

 

Jimmy Vance
HPE Pro

Re: iPXE and Service Pack for ProLiant (SPP)


JorellF wrote:

what was you conf for ELILO?

 


image=/spp2016.04.0/vmlinuz
    label=sppnfs201640
    description = "SPP 2016.04.0 Manual NFS"
    initrd=/spp2016.04.0/initrd.img
    append="media=net rwroot=/dev/ram0 ramdisk_size=1083840 init=/bin/init loglevel=3 ide=nodma ide=noraid nopat pnp
bios=off vga=791 splash=silent hp_fibre showopts noexec32=off numa=off nox2apic TYPE=MANUAL AUTOPOWEROFFONSUCCESS=no
 iso1=nfs://10.0.0.10/spp/SPP2016040.2016_0317.20.iso iso1mnt=/mnt/bootdevice"

 

 




__________________________________________________
No support by private messages. Please ask the forum!      I work for HPE

If you feel this was helpful please click the KUDOS! thumb below!   
JorellF
Occasional Advisor

Re: iPXE and Service Pack for ProLiant (SPP)

I still get the error "Token is too long".

but Thank you.

JorellF
Occasional Advisor

Re: UEFI, iPXE, and Service Pack for ProLiant (SPP)


The error that I get is:

vfs unable to mount root fs on unknown-block(0,0)

 the only answer I can find for this error is the kernel needs to be 3.16+, the kernel is currently 3.12.38-44

SPP is 2016-10 


How can I update the kernel in initrd.img to version 3.16?

What linux distro would I need to use to update the initrd.img?

Jimmy Vance
HPE Pro

Re: UEFI, iPXE, and Service Pack for ProLiant (SPP)


JorellF wrote:

The error that I get is:

vfs unable to mount root fs on unknown-block(0,0)

 the only answer I can find for this error is the kernel needs to be 3.16+, the kernel is currently 3.12.38-44

SPP is 2016-10 


How can I update the kernel in initrd.img to version 3.16?

What linux distro would I need to use to update the initrd.img?


I wish I had an answer for your problem, but I don't think it is a kernel issue.  I can PXE boot into the latest SPP using either NFS or HTTP. I haven't tested legacy boot mode in some time, but UEFI mode works fine.  One of your other comments about needing DHCP, I don't understand.  My configuration includes DHCP, TFTP and the bootloader image of grub (previously elilo) for UEFI, and pxelinux.0 for legacy boot




__________________________________________________
No support by private messages. Please ask the forum!      I work for HPE

If you feel this was helpful please click the KUDOS! thumb below!   
JorellF
Occasional Advisor

Re: UEFI, iPXE, and Service Pack for ProLiant (SPP)

  • Legacy boot to iPXE to SPP works.
  • UEFI to iPXE to SPP produces the error
    vfs unable to mount root fs on unknown-block(0,0)
  • UEFI to iPXE to syslinux.efi crashes
  • UEFI to iPXE to elilo to spp gives the error "Token is too long"
  • UEFI to iPXE to grub; does not give grub an IP address, and grub does not take the IP from iPXE, therefore grub is unable to connect to the server to get the iso to mount. and using an static IP is not a resonable option.

SPP is not the only thing that gets deployed. The DHCP server has multiple subnets with multiple servers that can be running SPP at the same time. iPXE allows the use of php for creating the menus it will display and the menus are dynamic based on several things.

Jimmy Vance
HPE Pro

Re: UEFI, iPXE, and Service Pack for ProLiant (SPP)

I understand, but I can't think of a reason why it won't work with iPXE. Unless iPXE is vastly different, the boot loader itself  (pxelinux, elilo, grub) isn't getting an IP. TFTP loads the kernel and initrd image, the booting kernel then gets an IP and uses the boot line options to go find the ISO, or repository path.  I also PXE boot to a menu, the menu has many OS options along with many utilities such as the SPP, Offline SSA, Scripting toolkit, etc.    The only abilty I don't have is the dynamic menus which is one great feature of iPXE

 

 




__________________________________________________
No support by private messages. Please ask the forum!      I work for HPE

If you feel this was helpful please click the KUDOS! thumb below!   
JorellF
Occasional Advisor
Solution

Re: UEFI, iPXE, and Service Pack for ProLiant (SPP)

I just needed "initrd=initrd.img" with the rest of the arguments, I now have

kernel http://${ipserver}/data/hp_spp/${hpsppver}/vmlinuz
initrd http://${ipserver}/data/hp_spp/${hpsppver}/initrd.img
imgargs vmlinuz initrd=initrd.img media=net rw root=/dev/ram0 ramdisk_size=1099688 init=/bin/init loglevel=3 ide=nodma ide=noraid nopat pnpbios=off vga=791 splash=silent hp_fibre showopts noexec32=off numa=off nox2apic ipappend 2 TYPE=MANUAL AUTOPOWEROFFONSUCCESS=no AUTOREBOOTONSUCCESS=no iso1=nfs://${ipserver}/opt/planb/data/hp_spp/${hpsppver}/${hpsppiso} iso1mnt=/mnt/bootdevice iso1opts=timeo=120,nolock,bg,ro
boot

For Automatic/Unattended just change
"TYPE=MANUAL AUTOPOWEROFFONSUCCESS=no AUTOREBOOTONSUCCESS=no"
to
"TYPE=AUTOMATIC AUTOPOWEROFFONSUCCESS=no AUTOREBOOTONSUCCESS=yes"

I am also using the hotfix for 2016.10

https://community.hpe.com/t5/ProLiant-Servers-ML-DL-SL/2016-10-0-SPP-ISO-PXE-Boot-Process-Will-Halt-with-the-Message/m-p/6933852#M156202

http://h20566.www2.hpe.com/hpsc/doc/public/display?sp4ts.oid=6550416&docLocale=en_US&docId=emr_na-c05350382

https://downloads.hpe.com/pub/softlib2/software1/pubsw-linux/p1448207324/v124380/SPP2016100-patch-pxe-initrd.tar.gz