Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 19 Mar 2013 08:41:51 +0300
From:      Sergey Dyatko <sergey.dyatko@gmail.com>
To:        Bjorn Larsson <bjwela@gmail.com>
Cc:        freebsd-current@freebsd.org
Subject:   Re: gptzfsboot problem on HP P410i Smart Array
Message-ID:  <CAJ0WZYBQcujPbW%2BiZVkPMY=voGgHQnuVLLi=DKb%2BL-%2B1OW_Arw@mail.gmail.com>
In-Reply-To: <CAAG5QCst%2BS6U7HRBAmvxhxZb-dhk1O9yuQMUxvrYT%2BT0T_V%2BzA@mail.gmail.com>
References:  <CAAG5QCs0G1ztH715j5pnsFmne30xZwUT5o_YkQW9k1dDc-=-Nw@mail.gmail.com> <50311741.3000204@yandex.ru> <CAAG5QCst%2BS6U7HRBAmvxhxZb-dhk1O9yuQMUxvrYT%2BT0T_V%2BzA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
2012/8/20 Bjorn Larsson <bjwela@gmail.com>

> Hi Andrey,
>
> We are installing freeBSD using ZFS as root filesystem using the GPT
> method as described on the freeBSD ZFS wiki. We are creating a GPT
> boot partition with the gptzfsboot program embedded and then a zroot
> partition with the freeBSD binaries. This works well and boots on
> every system we tested except HP P410i smart array systems. The
> problem is that no disks are identified in gptzfsboot and the
> following error code is displayed:
>
> gptzfsboot: error 1 lba 32
> gptzfsboot: error 1 lba 1
>
> It appears that gptzfsboot is not identifying the drives properly.
> However, when we insert a printf() command in main() in zfsboot.c to
> troubleshoot the identification problem, the system boots perfectly
> fine.
>
> This is a problem that I believe was fixed last year in 9-CURRENT by
> implementing a proper struct for edd rather than using a char array
> for BIOS communication. However, it doesn't seems to have fixed the on
> the p410i smart arrays.
>
>
I was faced with same problem on my laptop. Adding printf() into main()
before dsk =3D malloc(sizeof(struct dsk)); fix boot. Yesterday, avg@ propos=
ed
patch:
Index: /usr/src/sys/boot/i386/zfsboot/zfsboot.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- /usr/src/sys/boot/i386/zfsboot/zfsboot.c    (revision 248421)
+++ /usr/src/sys/boot/i386/zfsboot/zfsboot.c    (working copy)
@@ -302,6 +302,7 @@
      * region in the SMAP, use the last 3MB of 'extended' memory as a
      * high heap candidate.
      */
+       high_heap_size =3D 0;
     if (bios_extmem >=3D HEAP_MIN && high_heap_size < HEAP_MIN) {
        high_heap_size =3D HEAP_MIN;
        high_heap_base =3D bios_extmem + 0x100000 - HEAP_MIN;

it works for me, without printf() :) Can you test it ?

> Best regards,
>
> Bj=F6rn Larsson
>
>
> On Sun, Aug 19, 2012 at 6:41 PM, Andrey V. Elsukov <bu7cher@yandex.ru>
> wrote:
> >
> > On 19.08.2012 11:22, Bjorn Larsson wrote:
> > > We are having problems with gptzfsboot on a HP DL360 G7 using the P41=
0i
> > > Smart Array Controller.
> > > I=92ve some information on this in the archive on this mailing list t=
hat
> this
> > > has supposedly been fixed with revision 227400, by implementing the e=
dd
> > > data structure.
> > > However we still see the same problem and by adding a printf() in
> zfsboot.c
> > > fixes the problem.
> > > Please, let me know if anyone have seen this problem and if there is =
a
> fix
> > > for it?
> >
> > Hi,
> >
> > what exactly do you have?
> >
> > --
> > WBR, Andrey V. Elsukov
> >
> _______________________________________________
> freebsd-current@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org=
"
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ0WZYBQcujPbW%2BiZVkPMY=voGgHQnuVLLi=DKb%2BL-%2B1OW_Arw>