wickedways.org :: web standards all around

What are normal and serial bootblocks?

When normal bootblocks are installed, boot messages appear on the PC's VGA display. Serial bootblocks make boot messages go to the serial port, so you need a serial cable and another machine in order to see them.

How did I get serial bootblocks in the first place?

When you set up NetBSD on your i386 machine you chose to install serial bootblocks instead of normal (BIOS console) blocks. You probably thought it would be cool to be able to hook a serial cable up to your new box so that you wouldn't have to move a monitor and keyboard over to it, or vice-versa. Well, it was cool for a while, but now you're ready to go back.

How to install normal bootblocks

If you can get a shell via SSH -- or telnet, but you're too smart for that, aren't you? -- then you'll have no trouble executing these commands.

If the box is dropping into single-user mode and you don't have a serial cable handy, then you'll need to lug that monitor and keyboard over to the box, and boot it from an i386 install CD. Exit sysinst (Ctrl+C) to get a shell.

The installboot command will put the new bootblocks in place.

# cd /usr/mdec
# installboot -o console=pc /dev/rwd0a bootxx_ffsv1

You're done! You can reboot now.

Note: This assumes that your NetBSD installation is on your first IDE disk. If it's on a SCSI disk, use rsd0a or similar.

How to go back to serial bootblocks

Use -o console=com0 instead:

# cd /usr/mdec
# installboot -o console=com0 /dev/rwd0a bootxx_ffsv1

Make sure your /etc/ttys looks like this:

#       from: @(#)ttys  5.1 (Berkeley) 4/17/89
#       $NetBSD: ttys,v 1.18 2004/06/20 21:30:27 christos Exp $
# name  getty                           type    status
console "/usr/libexec/getty std.115200" vt100   on secure
ttyE0   "/usr/libexec/getty Pc"         vt220   off secure
ttyE1   "/usr/libexec/getty Pc"         vt220   on secure
ttyE2   "/usr/libexec/getty Pc"         vt220   on secure
ttyE3   "/usr/libexec/getty Pc"         vt220   on secure
tty00   "/usr/libexec/getty std.9600"   unknown off secure
tty01   "/usr/libexec/getty std.9600"   unknown off secure
tty02   "/usr/libexec/getty std.9600"   unknown off secure
tty03   "/usr/libexec/getty std.9600"   unknown off secure
tty04   "/usr/libexec/getty std.9600"   unknown off secure
tty05   "/usr/libexec/getty std.9600"   unknown off secure
tty06   "/usr/libexec/getty std.9600"   unknown off secure
tty07   "/usr/libexec/getty std.9600"   unknown off secure