Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 19 Nov 1998 11:02:00 +0200 (SAT)
From:      Robert Nordier <rnordier@nordier.com>
To:        gallatin@cs.duke.edu (Andrew Gallatin)
Cc:        freebsd-current@FreeBSD.ORG, adrian@ubergeeks.com
Subject:   Re: /boot/loader & comconsole
Message-ID:  <199811190902.LAA03790@ceia.nordier.com>
In-Reply-To: <13907.20799.296610.678439@grasshopper.cs.duke.edu> from Andrew Gallatin at "Nov 18, 98 06:25:36 pm"

next in thread | previous in thread | raw e-mail | index | archive | help
[I see Adrian has already responded to this, so I've added him to the
cc list.]

Andrew Gallatin wrote:
 
> I'm in the process of upgrading a cluster of (nearly identical) PII's
> to 3.0-CURRENT & am installing the new 3-stage bootstrap.  On some of
> the machines, using a comconsole wedges the bootloader solid ( well,
> 2 ctrl-alt-deletes on the local keyboard will reboot the machine).
> 
> My /boot.config looks like:
> /boot/loader -h
> 
> And /boot/boot.conf looks like:
> set console=comconsole
> autoboot 3

There seem to be two separate, and possibly unrelated issues, here.

The first is that the *old* boot blocks are still being used, as shown
by the actual messages displayed:
 
> I see the following on console before it hangs:
> 
> >> FreeBSD BOOT @ 0x10000: 638/65532 k of memory, serial console
[ ... ]

The corresponding line, for the new boot blocks, is simply

    >> FreeBSD/i386 BOOT

Installing the new boot blocks at this stage is probably a good idea
(and I think this was your intention), so you'll need to do a

    disklabel -B -b /boot/boot1 -s /boot/boot2 <slice>

(as disklabel still installs from /usr/mdec rather than /boot by
default).

The whole boot issue is rather confused at the moment, so for anyone
trying to follow this:

    "old boot blocks" : /sys/i386/boot/biosboot (install to /usr/mdec)
    "new boot blocks" : /sys/boot/i386/boot2    (install to /boot)
    "boot loader"     : /sys/boot/i386/loader   (install to /boot)

> Boot default: 0:da(0,a)/boot/loader
> Usage: bios_drive:interface(unit,partition)kernel_name options
> <..snip..>
> boot: 
> Booting 0:da(0,a)/boot/loader @ 0x100000
> text=0x1000 data=0x1a000 bss=0x0 symbols=[+0x0+0x4+0x0+0x4+0xff8c]
> Can't find file /boot/loader.config
> total=0x12af94 entry point=0x100000
> <wedge>
> 
> And there it stops.  If I don't set console=comconsole, everything
> works great.

One difference between boot loader and the old/new boot blocks, is
that boot loader uses PC BIOS services (int 0x14) for comms; both
lots of boot blocks do direct port I/O, instead.

The trouble with using the BIOS is that the int 0x14 services (which
tend to be used only to talk to serial printers under DOS) expect to
do hardware handshaking.

They therefore impose fussier cabling requirements than the boot
blocks or the kernel have.  (They don't work with the sloppy 2-wire,
9-pin null modem cables I have here, for instance.)

[...]
> The old bootstrap has no problem with a serial console on this box,
> nor does any FreeBSD kernel I've ever used on these machines.  The odd
> thing is that of the 8 nearly identical machines I upgraded today,
> only 2 had this problem.

If your cables aren't identical, you might try swapping those and
see if there's a difference.  (FWIW, the wedge you're getting is just
what I get myself, unless I use a better cable for boot loader.)

> These machines are Dell Dimensions, all off the same pallette.  I've
> appended boot -v messages from the latest a.out kernel I had handy:
> 
> Thanks for any help you can provide,

Thanks for the feedback, and let us know how you go.  If necessary, I
can do some patches to get boot loader using the boot blocks serial
routines, which may be a good idea anyway.

-- 
Robert Nordier

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199811190902.LAA03790>