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>