[ipxe-devel] Booting from local disk on HP ProLiant machines
Christoph Schug
chris+ipxe-devel at schug.net
Mon Jan 7 10:22:47 UTC 2013
Hello,
I am currently trying to use iPXE for some staged booting environment
where the boot process of each server can be controlled centrally on the
boot server by supplying individual iPXE bootstrap configurations (e.g.,
install operating system, wipe disks,
boot from local disk) without having to alter/reload DHCP configuration
at all.
I have some difficulties to get that working with some older HP
ProLiant machines I have available in my lab. Basically everything works
except booting from local disk. It doesn't matter if I drive this by an
iPXE script or enter the sanboot command on the iPXE
shell manually.
| iPXE> sanboot --no-describe --drive 0x80
| Booting from SAN device 0x80
At this point nothing obvious happens and it takes pretty much exactly
300 seconds for the command to return with
| GRUB Read Error
| Booting from SAN device 0x80 failed: Operation canceled
(http://ipxe.org/0b8080a0)
| iPXE>
BTW, on consecutive retries of the same command it returns instantly
(no 5 minutes delay) with the same error. If I skip PXE booting entirely
in the BIOS the machine boots just fine from local disk, so I am tempted
to exclude a flawed installation of GRUB or the operating system. I
rather assume that there is some memory corruption problem which causes
that behavior as similar problems with older HP ProLiants were also
reported on similar projects, e.g.
http://www.syslinux.org/wiki/index.php/Hardware_Compatibility#LOCALBOOT_on_HP_ProLiant_servers
Unfortunately I don't have any different hardware at hand to verify
that I am not running in some generic problem unrelated to the type of
hardware. The specs of a machine in question where things break is a HP
DL365 G5 (ProLiant System BIOS A10 as of 05/02/2011).
Again, it is just booting from local disk that is broken, triggering a
PXE install of Debian Linux for example works superb. I also tried to
workaround by chaining chain.c32 for example but no luck as well.
| #!ipxe
|
| chain http://boot.example.com/chain.c32 hd0
In this case there is also this some minute delay and the machine dies
horrible with "Illegal OpCode" and some garbaged (which even more
suggests memory corruption) register dump (white font on red background,
I rather assume this error does not originate from iPXE code).
Has anyone experience with similar hardware and is aware of a feasible
workaround? Or any other hints how to debug this issue?
Thanks in advance
Christoph
More information about the ipxe-devel
mailing list