Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 23 Feb 2010 11:36:31 -0600
From:      Brandon Gooch <jamesbrandongooch@gmail.com>
To:        John Baldwin <jhb@freebsd.org>
Cc:        freebsd-current@freebsd.org
Subject:   Re: ZFS boot problems with memory > 1MB
Message-ID:  <179b97fb1002230936l323258cak9c8cbde21855b69c@mail.gmail.com>
In-Reply-To: <201002231124.31872.jhb@freebsd.org>
References:  <747dc8f31002220835g481b0baeqb1d6df32a79b7da2@mail.gmail.com> <4B83D821.6000207@icyb.net.ua> <179b97fb1002230728l4294916cs6b4b9a18b18f044a@mail.gmail.com> <201002231124.31872.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Feb 23, 2010 at 10:24 AM, John Baldwin <jhb@freebsd.org> wrote:
> On Tuesday 23 February 2010 10:28:49 am Brandon Gooch wrote:
>> On Tue, Feb 23, 2010 at 7:29 AM, Andriy Gapon <avg@icyb.net.ua> wrote:
>> > on 23/02/2010 13:18 Renato Botelho said the following:
>> >> On Mon, Feb 22, 2010 at 7:35 PM, Chris Hedley
>> >> <freebsd-current@chrishedley.com> wrote:
>> > [snip]
>> >>> Do you have USB legacy support enabled in your BIOS? =A0I'm not sure=
 if
>> >>> there's an option for the loader to use USB devices natively, but th=
e BIOS's
>> >>> legacy option where it provides AT/PS2 emulation is probably the eas=
iest way
>> >>> to get the keyboard working.
>> >>
>> >> Yes, I do, but it seems to be a regression on FreeBSD itself, I had t=
his problem
>> >> in the past and I checked the same things i need to check in the past=
 again and
>> >> everything is fine.
>> >
>> > A more precise way to state that would be "a regression in FreeBSD boo=
t/loader".
>> > I think that you are referring to the issue that was fixed by r189017.
>> > It might be worthwhile investigating what was done in that revision an=
d what
>> > happened in sys/boot code since then.
>> >
>> > One possibility is that your BIOS uses memory above 1MB for USB emulat=
ion, but
>> > doesn't mark that memory as used in system memory map. =A0In that case=
 that memory
>> > could be overwritten by the loader. =A0If that's true then the blame i=
s on the BIOS.
>> > =A0Alternatively, our code might be parsing the system memory map inco=
rrectly.
>> > But I am just making wild guesses here.
>> >
>>
>> I don't know if it is at all related, but this commit has caused
>> problems for me booting at least one of my machines:
>>
>> http://svn.freebsd.org/viewvc/base/head/sys/boot/i386/zfsboot/zfsboot.c?=
r1=3D199714&r2=3D200309
>>
>> Commit message:
>>
>> Revision 200309 - (view) (annotate) - [select for diffs]
>> Modified Wed Dec 9 20:36:56 2009 UTC (2 months, 2 weeks ago) by jhb
>> File length: 24893 byte(s)
>> Diff to previous 199714
>> - Port bios_getmem() from libi386 to {gpt,}zfsboot() and use it to
>> =A0 safely allocate a heap region above 1MB. =A0This enables {gpt,}zfsbo=
ot()
>> =A0 to allocate much larger buffers than before.
>> - Use a larger buffer (1MB instead of 128K) for temporary ZFS buffers. =
=A0This
>> =A0 allows more reliable reading of compressed files in a raidz/raidz2 p=
ool.
>>
>> Submitted by: Matt Reimer =A0mattjreimer of gmail
>> MFC after: =A0 =A01 week
>
> Starting a new thread, which problems are you seeing with this change? =
=A0ZFS is
> a good bit more memory hungry than UFS, so it really needs to use high me=
mory
> for its heap. =A0Also, I wonder if you still have problems if you use the=
 older
> zfsboot with the newer zfsloader? =A0Finally, you need to use disklabel -=
B or
> some such to update the zfsboot bits for this change to take effect.
>
> --
> John Baldwin
>

I filed a PR so it wouldn't fall through the cracks:

http://www.freebsd.org/cgi/query-pr.cgi?pr=3D144234

I guess I tried a combination of various revisions of bootstrap code
and loaders when I first encountered the issue. It was when I wrote a
recent gptzfsboot to the geom that I saw the symptoms:

error 1 lba 48
error 1 lba 1
No ZFS pools located, can't boot

I just wound up using sys/boot/i386/zfsboot/zfsboot.c revision 199714
to build a working gptzfsboot on another system and wrote that to the
disk to get the machine operational.

-Brandon



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