Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 07 Aug 2011 14:59:31 -0700
From:      Xin LI <delphij@delphij.net>
To:        freebsd-current@freebsd.org
Cc:        christoph_hoffmann@me.com
Subject:   Re: gptzfsboot error  using HP Smart Array P410i Controller
Message-ID:  <4E3F0AC3.1080907@delphij.net>
In-Reply-To: <E040B3A9-9B62-4545-ADC9-5CE3A9217024@me.com>
References:  <E040B3A9-9B62-4545-ADC9-5CE3A9217024@me.com>

next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------070704000203050404060509
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

-----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@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-----

--------------070704000203050404060509
Content-Type: text/plain;
 name="pmbr.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="pmbr.diff"

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

--------------070704000203050404060509--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4E3F0AC3.1080907>