Subject: Re: Startup Messages
To: None <netbsd-help@netbsd.org>
From: James K. Lowden <jklowden@schemamania.org>
List: netbsd-help
Date: 07/13/2002 13:49:25
On Fri, 12 Jul 2002 11:47:21 +0100, Chris Wareham
<chris.wareham@iosystems.co.uk> wrote:
> 
> Standard boot flags stuff is probably too technical for ordinary
> users - for whom the command line is anathema unfortunately. This
> debate really relates to the expectations of "ordinary users",
> which means measuring up (or down) to what Windows provides. So I
> suppose one answer is to include a clear option in the pretty
> bootloader to come up in single user mode, or another option to
> "show diagnostic messages". Something akin to the simple menu
> Windows displays for selecting "safe mode".

Whew!  Nothing like an innocent question about bootup chattiness to get
the party going, eh?  

We don't have to choose between a system that spews incomprehensible
messages at an unwitting user, and a system that mutely crashes before a
frustrated expert.  It seems to me that the purpose of the bootup messages
ought to be to provide feedback to the system's administrator (who might
also be the user).  It should provide a window into what's going on, and
highlight things that are broken or potentially problematic.  

It would be more useful to me, normally, if the bootup message were
presented in a more regular, digested form.  After all, who really needs 5
lines of information about wd0?   Shorter on-screen messages about normal
probe outcomes would be, in effect, more information.  Put everything in
/var/run/dmesg.boot, but tone down the console messages to something a
person could actually read, in case something goes wrong. 

Of course, sometimes the machine doesn't boot, and more detailed console
output is called for.  Those are abnormal times, and that's what boot -s
(or not boot -q, if you will) is for.  Our old nemisis VMS had a
"conversational boot" mode that was very handy for fixing the equivalent
of fstab and such.  

I've attached a notional view of Nicolas's bootup message, edited along
these lines:

*	Headlines for separate stages.
*	One line per device
*	Indented to reflect structure
*	Unconfigured devices made obvious
*	Some initialization detail removed
*	No change to the text of the messages.  

Wouldn't the following be nicer to read?  

--jkl

Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 1.5.2 (SauPN-KERNEL) #4: Thu Jul 11 18:02:49 CEST 2002
    root@SauPN-Gate:/usr/src/sys/arch/i386/compile/SauPN-KERNEL
cpu0: AMD K6-2 (586-class), 498.86 MHz
total memory = 159 MB
avail memory = 144 MB

Probing hardware for available devices...

mainbus0 (root)

pci0 at mainbus0 bus 0
  pchb0 at pci0 dev 0 function 0
  pcib0 at pci0 dev 7 function 0
    pciide0 at pci0 dev 15 function 0: 
      Acer Labs M5229 UDMA IDE Controller (rev. 0xc1)
      wd0 at pciide0 channel 0 drive 0: <FUJITSU MPB3043ATU E>
  ex0 at pci0 dev 18 function 0: 3Com 3c905C-TX 10/100 Ethernet with mngmt
(rev. 0x74)
  ex1 at pci0 dev 19 function 0: 3Com 3c905C-TX 10/100 Ethernet with mngmt
(rev. 0x74)
  ex2 at pci0 dev 20 function 0: 3Com 3c905C-TX 10/100 Ethernet with mngmt
(rev. 0x74)
    isa0 at pcib0
      com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
      pckbc0 at isa0 port 0x60-0x64
      pcppi0 at isa0 port 0x61
        midi0 at pcppi0: PC speaker
        sysbeep0 at pcppi0
      isapnp0 at isa0 port 0x279: ISA Plug 'n Play device support
      npx0 at isa0 port 0xf0-0xff: using exception 16
      
Devices found but not configured in this NetBSD kernel:

  vendor 0x10b9 product 0x5243 (PCI bridge, revision 0x04) at pci0 dev 1
function 0 not configured
  OUI 0x001018 model 0x0017 rev 6 at ex0 phy 24 not configured
  OUI 0x001018 model 0x0017 rev 6 at ex1 phy 24 not configured
  OUI 0x001018 model 0x0017 rev 6 at ex2 phy 24 not configured

Done probing hardware. 
      
boot device: wd0

Beginning user-level initialization...

Automatic boot in progress: starting file system checks.
/dev/rwd0a: file system is clean; not checking
/dev/rwd0e: file system is clean; not checking
Starting network.
logger: not found
/etc/rc: WARNING: $hostname not set.
Configuring network interfaces: ex0 ex1 ex2.
add net default: gateway 195.63.36.1
Adding interface aliases:
Building databases...
Starting syslogd.
Mounting all filesystems...
Checking quotas: done.
starting local daemons:.
Starting inetd.
Starting cron.
Fri Jul 12 10:43:29 CEST 2002