From owner-freebsd-bugs@FreeBSD.ORG Sat Dec 13 08:09:01 2008 Return-Path: Delivered-To: freebsd-bugs@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DC80D1065678 for ; Sat, 13 Dec 2008 08:09:01 +0000 (UTC) (envelope-from tamaru@myn.rcast.u-tokyo.ac.jp) Received: from mail0.ecc.u-tokyo.ac.jp (mail0.ecc.u-tokyo.ac.jp [133.11.45.132]) by mx1.freebsd.org (Postfix) with ESMTP id 8AAC78FC14 for ; Sat, 13 Dec 2008 08:09:01 +0000 (UTC) (envelope-from tamaru@myn.rcast.u-tokyo.ac.jp) Received: from mhs001.ecc.u-tokyo.ac.jp (mhs001.ecc.u-tokyo.ac.jp [133.11.70.161]) by mail0.ecc.u-tokyo.ac.jp (Postfix) with ESMTP id 74FF91BE8010 for ; Sat, 13 Dec 2008 17:09:00 +0900 (JST) Received: from amulet.amuletic.net (124.155.55.252 [124.155.55.252]) by mhs001.ecc.u-tokyo.ac.jp (SpamBlock.pstn.b 3.4.102) with ESMTP id for ; Sat, 13 Dec 2008 17:08:52 +0900 Date: Sat, 13 Dec 2008 17:08:51 +0900 Message-ID: From: Hiroharu Tamaru To: John Baldwin In-Reply-To: <200812101451.48456.jhb@freebsd.org> References: <200812091720.mB9HK1uY021743@freefall.freebsd.org> <200812091621.47695.jhb@freebsd.org> <200812101451.48456.jhb@freebsd.org> User-Agent: User-Agent: Wanderlust/2.14.0 (Africa) Emacs/21.3 Mule/5.0 (SAKAKI) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII X-IP: 124.155.55.252 X-FROM-DOMAIN: myn.rcast.u-tokyo.ac.jp X-FROM-EMAIL: tamaru@myn.rcast.u-tokyo.ac.jp Cc: sobomax@freebsd.org, freebsd-bugs@freebsd.org, FreeBSD-gnats-submit@freebsd.org, pjd@freebsd.org Subject: Re: kern/129526: pxeboot fails to load kernel / modules X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 13 Dec 2008 08:09:01 -0000 At Wed, 10 Dec 2008 14:51:48 -0500, John Baldwin wrote: > > On Wednesday 10 December 2008 04:20:31 am Hiroharu Tamaru wrote: > > 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? > > I think adding GPT support (which I did) probably caused the loader to grow > enough in size. Probably I should make the GPT stuff optional and enable the > higher memory usage if it is enabled (but make it on by default perhaps?) I agree that's quite reasonable (wrapping around GPT, and default it to on). I looked into the sources, but to me, wrapping all the bits on GPT with #ifdef LOADER_GPT_SUPPORT was not too trivial. How trivial or non-trivial is it if I asked you for it? I'll look into it again when I get another time slot if you are too busy until then. Thanks. Hiroharu