HP ProLiant BIOS problem with 3TB+ disks on 10.1-RELEASE

My new box, HP ProLiant DL320e Gen8 with 3TB HDD (4KB sector size, WD30EFRX) cannot boot after installation. Installation itself is fine, but after reboot I got this message and panic.

Can't work out which disk we are booting from.
Guessed BIOS device 0xffffffff not found by probes, defaulting to disk0: allocat not found
panic: Assertion failed: (FALSE), function ficlCompileSoftCore, file softcore line 428.

I (and hrs@) tracked down this problem, and found BIOS int13h call overwrites buffer (and corrupts variables on stack) in some situation (reading backup GPT table at the end of sectors over 0xFFFFFFFF sector).

I found doing a (dummy) read call before buggy read call causes this problem disappeared. I put patched zfsloader binary for amd64

https://github.com/kuriyama/freebsd/compare/freebsd:stable/10...hp-bios-workaround-10.diff

To work around this problem:

  1. install as usual.
  2. overwrite /boot/zfsloader with above binary.
  3. reboot.

HPBIOS3TBHDD (last edited 2017-08-27 01:05:48 by YoshiroMihira)