From owner-cvs-all Wed Sep 30 15:50:48 1998 Return-Path: Received: (from daemon@localhost) by hub.freebsd.org (8.8.8/8.8.8) id PAA15725 for cvs-all-outgoing; Wed, 30 Sep 1998 15:50:48 -0700 (PDT) (envelope-from owner-cvs-all) Received: from spinner.netplex.com.au (spinner.netplex.com.au [202.12.86.3]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id PAA15608; Wed, 30 Sep 1998 15:50:18 -0700 (PDT) (envelope-from peter@netplex.com.au) Received: from spinner.netplex.com.au (localhost [127.0.0.1]) by spinner.netplex.com.au (8.9.1/8.9.1/Spinner) with ESMTP id GAA14982; Thu, 1 Oct 1998 06:49:01 +0800 (WST) (envelope-from peter@spinner.netplex.com.au) Message-Id: <199809302249.GAA14982@spinner.netplex.com.au> X-Mailer: exmh version 2.0.2 2/24/98 To: shmit@kublai.com cc: Chris Csanady , cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG Subject: Re: cvs commit: src/sys/boot/common load_elf.c Makefile.inc In-reply-to: Your message of "Wed, 30 Sep 1998 18:27:48 -0400." <19980930182748.C269@kublai.com> Date: Thu, 01 Oct 1998 06:49:01 +0800 From: Peter Wemm Sender: owner-cvs-all@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk Brian Cully wrote: > On Thu, Oct 01, 1998 at 04:39:11AM +0800, Peter Wemm wrote: > > - It starts the BTX mini-kernel and the third stage runs in there with > > BIOS access via vm86 mode. (this is really cool :-). > > And, for me at least, it craps out right about here. :-( I did say it had some rough edges, remember? :-) I use this patch, it's looking on the floppy drive first for /boot/boot.conf and exploding. I have not looked to see where/why it's dying. I have a spare windoze box that I use a boot floppy on for testing, the other one has got the floppy drive disabled in it's loader. Index: biosdisk.c =================================================================== RCS file: /home/ncvs/src/sys/boot/i386/libi386/biosdisk.c,v retrieving revision 1.8 diff -u -r1.8 biosdisk.c --- biosdisk.c 1998/09/28 20:08:34 1.8 +++ biosdisk.c 1998/09/29 08:29:19 @@ -118,7 +118,7 @@ int base, unit; /* sequence 0, 0x80 */ - for (base = 0; base <= 0x80; base += 0x80) { + for (base = 0x80; base <= 0x80; base += 0x80) { for (unit = base; (nbdinfo < MAXBDDEV); unit++) { bdinfo[nbdinfo].bd_unit = -1; bdinfo[nbdinfo].bd_flags = (unit < 0x80) ? BD_FLOPPY : 0; > It also complains about /boot/loader.config missing, so I assume > that in these directions you meant /boot/loader.config, not > /boot/boot.conf. That's the normal bootblocks. They append ".config" onto the name you give it to pick up default switches to pass through, and the code space is so tight it wasn't possible to fit in code to tell the "read file" function whether or not it was an optional file. This is the real reason for a third stage. The standard bootblocks are looking for /boot/loader.config. /boot/loader itself is looking for /boot/boot.conf - a very different file. Cheers, -Peter