kern/129526: pxeboot fails to load kernel / modules

Hiroharu Tamaru tamaru at myn.rcast.u-tokyo.ac.jp
Wed Dec 10 01:57:46 PST 2008


Thank you, John.

At Tue, 9 Dec 2008 16:21:47 -0500, John Baldwin wrote:
>
> On Tuesday 09 December 2008 12:54:06 pm Hiroharu Tamaru wrote:
(snip)
> > It turns out that replacing the pxeboot binary served by tftp
> > to pxeboot in 6.4-RELEASE-i386-bootonly.iso allows the installer
> > to boot properly, but pxeboot from 7.0-RELEASE also fails.
> > 
> > It then turned out that by unzipping the /boot/mfsroot.gz image
> > on the ftp server, it allows the kernel to boot, for any of the pxeboot's
> > mentioned above.
> > 
> > Thus, it seems likely that the unzipping routines in pxeboot,
> > or more precisely, the loader included in the pxeboot,
> > is corrupting some part of the device table or such.
(snip)
> I think loader has just grown and the stack is growing into the heap.  There 
> is a loader option to move the heap up above 1 MB that you should try.

Indeed, it was.

(for the record:)
Enabling the code in sys/boot/i386/loader/main.c
that is activated by putting either of:
 LOADER_BZIP2_SUPPORT=yes
 LOADER_FIREWIRE_SUPPORT=yes
 LOADER_ZFS_SUPPORT=yes  (8.0-current only ATM)
into /etc/make.conf has solved the problem.


Current pxeboot build pulls the loader binary built for
the (non-pxe-)loader verbatim.

Is there a possibility that putting the heap above 1MB
might become the default in the near future? say, whenever
LOAD_NO_GZIP_SUPPORT is not set.

Alternatively, do you think it is worth a trouble to modifiy
the build system so that the default pxeboot has this high
heap support?

Or, would you think whoever setting up an pxeboot installer
should know the corners, and either unzip the mfsroot.gz or
rebuild his own pxeboot?

Thanks.
Hiroharu


More information about the freebsd-bugs mailing list