gptzfsboot error using HP Smart Array P410i Controller
Xin LI
delphij at delphij.net
Sun Aug 7 21:59:44 UTC 2011
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
On 08/01/11 06:07, Christoph Hoffmann wrote:
> Hello,
>
> The initial reboot followed the installation of ZFS-only version 5/28
> system reports error:
>
> Attempting Boot From Hard Drive (C:)
> gptzfsboot: error 1 lba 32
> gptzfsboot: error 1 lba 1
> gptzfsboot: No ZFS pools located, can't boot
>
> The same installation procedure on older ProLiant with Compaq Smart
> Array 5i do not cause any problems.
Looks like for some reason the drive number (%dl) didn't get passed
through ARGS (by pmbr.s).
Note that we shouldn't really pass the whole %dx here, as pmbr.s have
different understanding of %dh. You may want to add a xor %dh, %dh
before the store line but after the main.2 label.
Please let us know if this helps or not. Thanks in advance!
Cheers,
- --
Xin LI <delphij at delphij.net> https://www.delphij.net/
FreeBSD - The Power to Serve! Live free or die
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.18 (FreeBSD)
iQEcBAEBCAAGBQJOPwrDAAoJEATO+BI/yjfBIJ0IALzzDN/b0vfGLyqH8XgQSsqz
YDU3bxSRBVBcuZ76II0gOSaFZrWaH+bRcfjE/LNmS26TTWir67UVsoFk5gCaYkl+
L1oe76o5ISrp3Tr/mGNyKv/TN1WHeo8I0ExABfJUNw0NHIhXivtJMb7NLOJl5eed
/XfgYzHw8zAlnjbF7ZfMElEjjKUqTLl3VyHth+3KsUsK+zrZcU4gLzBHh7JnR31p
NvtyLxyMsQQTHKiaDtGVPGOgUPsDfTHdmAI77fgE26W6Z6FqCqV+xdEOuc+g5tRi
kC28HPUSijoX44vkDYp4B57988JUGauoJrKkTZ4L2LAh918ZAvuFhgRgtUpiHLY=
=O02h
-----END PGP SIGNATURE-----
-------------- next part --------------
Index: sys/boot/i386/pmbr/pmbr.s
===================================================================
--- sys/boot/i386/pmbr/pmbr.s (revision 224700)
+++ sys/boot/i386/pmbr/pmbr.s (working copy)
@@ -36,6 +36,7 @@
.set LOAD,0x7c00 # Load address
.set EXEC,0x600 # Execution address
+ .set ARG,0x900 # Arguments
.set MAGIC,0xaa55 # Magic: bootable
.set SECSIZE,0x200 # Size of a single disk sector
.set DISKSIG,440 # Disk signature offset
@@ -93,7 +94,8 @@ main.1: movb $0x80,%dl # Assume drive 0x80
#
# Load the primary GPT header from LBA 1 and verify signature.
#
-main.2: movw $GPT_ADDR,%bx
+main.2: mov %dx,ARG # Save drive number
+ movw $GPT_ADDR,%bx
movw $lba,%si
call read
cmpl $GPT_SIG_0,GPT_ADDR+GPT_SIG
More information about the freebsd-current
mailing list