Subject: Re: serial console HOWTO?
To: Miles Nordin <carton@Ivy.NET>
From: Jonathan Stone <jonathan@DSG.Stanford.EDU>
List: port-i386
Date: 01/21/2000 12:25:29
In message <Pine.NEB.4.05.10001202059210.26938-100000@audrey.Ivy.NET>,
Miles Nord in writes:
>Could you (re)post this please? I couldn't find it easily.
freebsd serial console: http://www.freebsd.org/handbook/x12232.html
>You're right that I didn't read the URL's you posted,
[... reasonable reasons... ]
> Hopefully others with a stronger commitment to
>Intel technology gave them a look.
Maybe. A quck Google search shows that NetBSD users were inquiring
about EMP and Intel "server" motherboards nearly a year and a half
ago. I didnt find any responsive replies, tho'. I find it hard to
believe I'm the first NetBSD user to seriously investigate this,
but perhaps I am.
>> ``The bootblocks are perfect. Our bootblocks already do
>> everything anyone needs. You're just too stupid to understand
>> that you are trying to do the wrong thing. Here's what
>> you should be doing instead!''
>
>Yes, that is pretty much exactly what I believe. Except I would probably
>say ``diabolically misled'' rather than stupid.
Then you must have a very different model of console usage, or system
usage and management, than the one I have for the serial-console
machines.
Here's something I wrote to David Brownlee:
}But I am not worried about install issues. (Those
}I would do with a VGA screen and keyboard, with the machine by my
}desk). I am worried about remote manageability. My email server was
}down for nearly 3 weeks over Xmas: the machine is in a wiring closet
}at Stanford, my advisor took the wiring-closet key with him to SOSP,
}we only have one key, the paid sysadmins with keys were on
}vacation, and finally my electronic key to the building timed out on
}Jan 1. (The wiring closet key is mechanical.) And we
}still dont know what caused the crash.
}when I think what "serial console" is for, I think 'managing machine
}behind locked door for which you no longer have the key'. That's how
}co-location at ISPs works, too, from what I hear. (No wonder Allen
}Briggs wants the same thing, if he's into web-hosting). That's very
}different from a lab-style environment. I am sure its possible to
}design serial-console support that works well for both. What we have
}works well for the lab or debugging. (Matthias says so, and i beleive
}him). But for the ISP style, what we have is psychotic: I looked at it,
}and literally could not understand why anyone would do it that way.
>NetBSD: it sucks less.
Sorry. Nope. For physically-secure server farms with
difficult-to-arrange physical access, and very rare physical visits
(e.g., hardware upgrades), NetBSD sucks a little more.
Really truly, it does. I tell you three times.
>I haven't been offended by anything you've said so far, and hope the same
>holds true for you. If not, well, uh, i'm sorry. Hopefully everyone
>understands I tend to hold extreme opinions--please don't take me too
>seriously.
Okay.
>I think part of the point here is that it's extremely difficult (but not
>necessarily unadviseable) to productively disagree with programming
>decisions when you're writing on a list where the authors hang out. It's
>likely to be taken personally, and what's worse is that they might be
>tempted to argue with you rather than writing more code for us! So,
>you're definitely in a difficult spot.
I can understand that. I am sure Matthias (and whoever else worked on
bootblocks and serial consoles) has done a good job at what _they_ saw
as being needed.
OTOH, I invite Matthias or anyone else to think hard about, say,
someone putting boxes in a rack in an ISP, and which makes more sense:
what we have nor, or what I've been suggesting. Matthias (and other
committers, like David Brownlee) have done a really great job at
trying to get the tools we have to solve my problem. But the
tools just dont fit.
My claim is that an alternative, _two-headed_ consoles, or
wye-consoles-- where console output goes to both a serial port and a
display screen, and input is accepted from either a serial port or a
keyboard -- is *better* for the lab scenario Matthias describes than
what we have now.
Okay?
>Recently, your suggestions have become more specific, sensical, and
>perhaps useful than what I originally thought. The problem for me is that
>I want to make sure you don't I don't want to see years of trial-and-error
>history with lots of subtle implications bent around this one Task you're
>trying to do.
Mike, that I do find offensive. Just how long do you think
I've been dealing with remote system administration?
>Especially since you're using disgustingly awful technology to do it, and
>it doesn't make sense to blame the problems of this technology which you
>_can't_ change (EMP, Phoenix BIOS), on NetBSD which you _can_ change.
>All you end up doing is corrupting and disgustifying NetBSD. As long as
>the changes you provide are generalizable, don't break working
>installations that are simpler than yours, and don't merely rearrange the
>defaults to match Phoenix EMP Server BIOS Document 454-234A10-x, I'm all
>for including them in the boot blocks.
Mike, please read that FreeBSD URL I re-posted.
>As for LILO, it seems you're right that we don't have a persistent boot
>option storage system. However, we also don't seem to have any boot
>options that need to be stored persistently yet.
Ahhhhh, but We have _bootloader_ options that need to be persistent.
We currently compile options into the bootblocks, with no way for
software to recover them again later. So we have _no way_ to preserve
those options on an upgrade which has to change bootblocks -- even if
our install/upgrade tools were magically updated tomorrow to do that,
for other system config.
The ones I know about
>are -s to boot single user, -d to enter the debugger, and, what'sit, -a to
>prompt for a root filesystem? All of which are fairly interactive.
>Maybe such a thing could eventually become useful, although I can't
>envision the need at the moment. However I don't think it's fair to
>compare with LILO--we have other (persistent) ways of handling all the
>things LILO needs append= options for.
But we dont have one-time overrides. From where I'm coming from,
that's a fair gripe. Think about those machines locked in remote
wiring closets.
If I need to do an upgrade in person, and want a local console, it's
just not good engineering to **permanently** change the console setup.
(You may try and disagree, but you are clearly wrong). A one-time
override is better engineering. And we dont *have* any, not for
bootblocks. Not that work in any sane or sensible direction.
> o To quickly test something that would have been an option in Linux:
> ddb-on-boot
> o To store such changes persistently:
> kernel config files
Nope. That leaves out parameters for bootblocks. It leaves out being
able to *update* bootblocks.
>The NetBSD architecture, as usual, requires you to learn more.
I have no problem with learning more. I have a problem with kludges
which don't fit the approved NetBSD way of doing things. For my purposes,
That's what the bootblock features are.
but, the
>things you learn are useful. You're less likely to need to use the
>feature at all in the first place, because NetBSD does not flippantly
>assign kernel options to things that can be done automatically (like
>Linux's console= and root filesystem selection). And the underlying code
>is superior from a developer's perspective, not to mention more
>machine-independent.
Mike, you just agreed with me and disagreed with yourself. The plain
fact is that NetBSD does NOT automatically select consoles. The plain
fact is that there ARE no one-time overrides, not for XON/XOFF
braindamage or for switching *from* a serial console *to* a VGA
console.
That's the whole *PROBLEM* here! Have you listened to anything?
[snip lots]
But DDB is not really an acceptable tool for endusers or for
"production" systems. If you buy that, athen wno, we don't have a
one-time config tool. FreeBSD has had one for years (tho' PCI and PnP
means its less useful than it once was).
>This sort of thinking is even better considering NetBSD's embedded-OS
>future. Changing a config file and rebuilding is a lot less crufty than
>writing a custom loader to pass information. There's less custom in-house
>code to provide, fewer subsystems to break, and less client-side state.
But Mike, I am not asking for an embedded OS. I'm asking for robust,
remotely-manageable servers. As robust as, say, a microvax, or a
server "DECstation", and hopefully better (since the PROM does so much
less, we peforce have more software control).
I thought that's what "serial console" *meant*. Apparently not, in NetBSD.