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>