From owner-freebsd-hackers Wed Dec 6 20:39:45 2000 From owner-freebsd-hackers@FreeBSD.ORG Wed Dec 6 20:39:40 2000 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from earth.backplane.com (placeholder-dcat-1076843399.broadbandoffice.net [64.47.83.135]) by hub.freebsd.org (Postfix) with ESMTP id D357B37B400; Wed, 6 Dec 2000 20:39:39 -0800 (PST) Received: (from dillon@localhost) by earth.backplane.com (8.11.1/8.9.3) id eB74ddE69221; Wed, 6 Dec 2000 20:39:39 -0800 (PST) (envelope-from dillon) Date: Wed, 6 Dec 2000 20:39:39 -0800 (PST) From: Matt Dillon Message-Id: <200012070439.eB74ddE69221@earth.backplane.com> To: freebsd-stable@FreeBSD.ORG, freebsd-hackers@FreeBSD.ORG Subject: Re: More on BTX halted / crashes trying to use -stable /boot/loader References: <200012070203.eB7231C44996@earth.backplane.com> Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Ah ha! I think I found the culprit, but I'm not sure exactly where in the tftp code the problem is occuring. I have been setting LOADER_TFTP_SUPPORT in /etc/make.conf so my pxeboot file uses tftp to get the kernel rather then NFS (since NFS appears to only be able to get [rootfs]:/kernel, which is the wrong kernel for a diskless boot). The option works wonderfully for /boot/pxeboot. But it turns out that the normal /boot/loader, when compiled with the above option, will crash horribly whenever it tries to open() a file and can't find it in the UFS filesystem on disk... it falls through the filesystem list until it hits the tftp FS and BEWM. Explosion. I sure would appreciate it if one of the bootstrap gurus could take a look at what happens when the tftp open routine is called from a normal disk-based /boot/loader! -Matt : I've experimented a bit more. If I do an installworld and reboot, : the machine crashes in one of two ways (randomly): : : #1 Crashes with a BTX error : : int 5 err 0 efl 00010206 eip 00000012 : eax 00000039 ebx 00023920 ecx 00023934 edx 00000000 : esi 00000000 edi 0000000c ebp 000943c8 esp 000943cc : cs 002b ds 0033 es 0033 fs 0033 gs 0033 ss 0033 : cs:eip 62 00 00 00 e8 05 04 00 00 90 31 c0 cd 30 58 01 : ss:esp 1c 8a 01 00 00 00 00 00 6c 44 09 00 1a 00 00 00 : : #2 Loader has all sorts of 'can't find file BLAH' errors, stack undeflow : errors, and winds up at an 'ok ' prompt. : : Trying to run commands from the prompt sometimes work, sometimes return : a 'stack underflow' error. : : -- : : That's with the latest -stable /boot/loader. : : If I take that machine and net-boot it, then mount / and copy a : /boot/loader from March 20th, then reboot the machine, the machine : now boots just fine. : : If I put the -stable /boot/loader back into /boot, the machine dies. : If I put the March 20th /boot/loader in, the machine boots just fine. : : Anybody have any ideas? What happened to /boot/loader between March : and now? I am at a loss. : : -r-xr-xr-x 1 root wheel 163840 Dec 6 17:33 loader.NEW : -r-xr-xr-x 1 root wheel 143360 Dec 6 17:47 loader.OLD : : -Matt To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message