Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 31 Mar 2015 11:26:55 +0800
From:      Marcelo Araujo <araujobsdport@gmail.com>
To:        =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc:        freebsd-xen <freebsd-xen@freebsd.org>
Subject:   Re: Unable to load multiboot kernel.
Message-ID:  <CAOfEmZjOd7_dPxo40mykJ6MAdqf1OBPqmhOt%2BjQpPfNPL47Q%2BQ@mail.gmail.com>
In-Reply-To: <551985BB.6050706@citrix.com>
References:  <CAOfEmZgT9nyJfEe5Z39qT9OSWkAa9RVY4xs0b4CjqN=3JJUU1A@mail.gmail.com> <55196D2F.8040203@citrix.com> <CAOfEmZh9ypr6qM4RqmxAZvghmOtUR=uoAHkWjMCOzeNmuZJTOg@mail.gmail.com> <551985BB.6050706@citrix.com>

next in thread | previous in thread | raw e-mail | index | archive | help
2015-03-31 1:19 GMT+08:00 Roger Pau Monn=C3=A9 <roger.pau@citrix.com>:

> Hello,
>
> El 30/03/15 a les 18.45, Marcelo Araujo ha escrit:
> > Hello Roger,
> >
> > Thanks for the prompt reply and for the patch.
> >
> > I made a test and now we have a bit more of information. Seems the
> problem
> > is because the kernel is too large.
> >
> > OK load /boot/kernel/kernel
> > /boot/kernel/kernel Trying to load a RAW file at 0x80001000 Error readi=
ng
> > /boot/kernel/kernel: file too large
> > Unable to load /boot/kernel/kernel as a multiboot payload kernel
> > can't load file '/boot/kernel/kernel': invalid argument.
> >
> > Here is the size of my kernel:
> > root@e550:/usr/src/sys/boot # du /boot/kernel/kernel
> > 12885 /boot/kernel/kernel
>
> Mmmm, that's smaller than mine and should load without problems:
>
> # du /boot/kernel/kernel
> 21537   /boot/kernel/kernel
>
> I think the problem might be that your BIOS is not correctly reporting
> the extended memory size, or that the loader is not fetching it
> properly. Can you try the following patch to see which values you get?
> On one of my boxes that is able to load FreeBSD/Xen I get:
>
> bios_extmem: 0xd75d8000 memtop_copyin: 0xd76d8000 memtop: 0xd76d8000
>
> You can apply the patch on top of the previous one, or standalone, as
> you wish.
>
> Roger.
>
> ---
> diff --git a/sys/boot/i386/libi386/i386_copy.c
> b/sys/boot/i386/libi386/i386_copy.c
> index 3c05241..4d62282 100644
> --- a/sys/boot/i386/libi386/i386_copy.c
> +++ b/sys/boot/i386/libi386/i386_copy.c
> @@ -67,6 +67,8 @@ i386_readin(const int fd, vm_offset_t dest, const size_=
t
> len)
>  {
>
>      if (dest + len >=3D memtop_copyin) {
> +        printf("bios_extmem: 0x%x memtop_copyin: 0x%x memtop: 0x%x\n",
> +            bios_extmem, memtop_copyin, memtop);
>         errno =3D EFBIG;
>         return(-1);
>      }
>
>
Hi Roger,

Yes, seems my BIOS is not correctly reporting the extended memory size.
The value that I got from my box is:

bios_extmem: 0xff00000 memtop_copyin: 0x10000000 memtop: 0x10000000

I did check my BIOS if there is any suspicious options that may mess up
with the memory, but I didn't find nothing. I will check if there is any
new BIOS version.

Do you have any other idea?

Best Regards,

--=20

--=20
Marcelo Araujo            (__)araujo@FreeBSD.org
\\\'',)http://www.FreeBSD.org <http://www.freebsd.org/>;   \/  \ ^
Power To Server.         .\. /_)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAOfEmZjOd7_dPxo40mykJ6MAdqf1OBPqmhOt%2BjQpPfNPL47Q%2BQ>