summaryrefslogtreecommitdiffstats
path: root/sys/pc98/boot/biosboot/README.serial
diff options
context:
space:
mode:
Diffstat (limited to 'sys/pc98/boot/biosboot/README.serial')
-rw-r--r--sys/pc98/boot/biosboot/README.serial164
1 files changed, 164 insertions, 0 deletions
diff --git a/sys/pc98/boot/biosboot/README.serial b/sys/pc98/boot/biosboot/README.serial
new file mode 100644
index 0000000..8ace505
--- /dev/null
+++ b/sys/pc98/boot/biosboot/README.serial
@@ -0,0 +1,164 @@
+
+ SERIAL CONSOLE USAGE NOTES
+ Written by
+ Bill Paul <wpaul@ctr.columbia.edu>
+
+The FreeBSD boot block can now be used to boot FreeBSD on a system with
+only a dumb terminal on a serial port (COM1) as a console. This feature
+is provided for the benefit of people who wish to install FreeBSD on
+dedicated file/compute/terminal server machines that have no keyboard
+(or monitor) attached, just as is possible with Sun workstations and
+servers. People who don't need this extra functionality shouldn't notice
+the changes at all (unless I've screwed something up horribly).
+
+Note that 'options COMCONSOLE' can still be used to force the kernel to
+boot in 'serial console' mode regardless of what boot options you use.
+
+To boot FreeBSD in serial console mode, you must do the following:
+
+- UNPLUG YOUR KEYBOARD. Most PC systems probe for the keyboard during the
+ Power-On Self-Test (POST) and will generate an error if the keyboard
+ isn't detected. Additionally, many machines will pause the boot process
+ and wait for you to reattach the keyboard and press a key before
+ proceeding any further. If your computer complains about the lack of a
+ keyboard but boots anyway, then you don't have to do anything special.
+ (One machine with a PHOENIX BIOS that I have here merely says 'Keyboard
+ failed' then continues to boot normally.) If your machine complains
+ loudly about the lack of a keyboard and won't continue to boot until you
+ plug it back in, you'll have to go into your CMOS configuration menu and
+ change the 'Keyboard' setting to 'Not installed' in order to bypass the
+ keyboard probe.
+
+ NOTE #1:
+ Setting the keyboard to 'Not installed' in the CMOS configuration
+ does *NOT* mean that you won't be able to use your keyboard. All this
+ does is tell the BIOS not to probe for a keyboard at power-on so that
+ it won't bitch and moan if the keyboard isn't plugged in. You can leave the
+ keyboard plugged in even with this flag set to 'Not installed' and the
+ keyboard will still work. I repeat: changing the CMOS 'keyboard' setting
+ to 'Not installed' only disables the BIOS's keyboard probe; it does
+ *NOT* actually disable the keyboard.
+
+ NOTE #2:
+ If your system has a PS/2 mouse, chances are very good that you will
+ need to unplug your mouse as well as your keyboard. This is because
+ PS/2 mice share some hardware with the keyboard, and leaving the mouse
+ plugged in can fool the keyboard probe into thinking the keyboard is
+ still there. I have access to a Gateway 2000 Pentium 90Mhz system with
+ an AMI BIOS that behaves this way. In general this is not a problem
+ since the mouse isn't much good without the keyboard anyway.
+
+- PLUG A DUMB TERMINAL INTO COM1. If you don't have a dumb terminal, you
+ can use an old PC/XT with a modem program, or the serial port on
+ another UNIX box. If you don't have a COM1, get one. At this time,
+ there is no way to select a port other than COM1 without recompiling
+ both the kernel and the boot blocks. If you're already using COM1 for
+ another device, you'll have to temporarily remove that device and
+ install a new boot block and kernel once you get FreeBSD up and running.
+ (It is assumed that COM1 will be available on a file/compute/terminal
+ server anyway; if you really need COM1 for something else (and you can't
+ switch that something else to COM2), then you probably shouldn't even
+ be bothering with all this in the first place.)
+
+ NOTE #1:
+ The serial port settings are hardcoded to 9600 baud, 8 bits, no parity,
+ 1 stop bit.
+
+ NOTE #2:
+ In addition to a serial cable, you will need a null modem adapter
+ in order to connect the terminal to the PC's serial port. If you don't
+ have one, go to Radio Shack and buy one: they're cheap.
+
+ NOTE #3:
+ If you wish to drop into the kernel debugger from the serial console
+ (useful for remote diagnostics, but also dangerous if you generate a
+ spurious BREAK on the serial port!) then you should compile your kernel
+ with the following options:
+
+ options BREAK_TO_DEBUGGER
+ options DDB
+
+- BOOT THE MACHINE. The boot block will probe for a keyboard on your
+ system. If it fails to find one, you'll see a prompt appear on the
+ terminal that looks something like this:
+
+ No keyboard found.
+
+ >> FreeBSD BOOT @ 0x10000: 640/7168 k of memory
+ Usage: [[[0:][fd](0,a)]/kernel][-abcCdhrsv]
+ Use 1:sd(0,a)kernel to boot sd0 if it is BIOS drive 1
+ Use ? for file list or press Enter for defaults
+ Boot:
+
+ This is identical to the prompt that normally appears on the VGA console,
+ except for the 'No keyboard found' message that indicates a keyboard
+ couldn't be detected. (If a keyboard is detected, the boot prompt will
+ appear on the VGA display as usual.)
+
+ From here you can boot the system (or let it autoboot by itself) just
+ like you can from the VGA console and the kernel will automatically
+ use COM1 as the console device. No recompilation or 'options COMCONSOLE'
+ is required. This is done by passing a special flag to the kernel in
+ the 'boothowto' word. (The curious can refer to <sys/reboot.h> and the
+ sio driver sources for details.)
+
+- You will notice that there's a new boot flag: -h. You can use this to
+ force the kernel to switch console devices. For instance, if you boot
+ from the VGA console, you can use -h to force the kernel to use the
+ serial port as its console device. Alternatively, if you boot from
+ the serial port, you can use the -h to force the kernel to use the VGA
+ display as the console instead. (Can you say 'toggle' boys and girls?
+ I knew you could. :)
+
+
+Should you wish to force booting off a serial console no matter if
+there's a keyboard connected or not, you can also uncomment the line
+with the ``FORCE_COMCONSOLE'' definition in the Makefile. Remake and
+reinstall your bootblocks, and finally relabel your disk (disklabel -B)
+to pick up those boot blocks.
+
+
+CAVEATS:
+
+- The idea here is to allow people to set up dedicated servers that require
+ no graphics hardware or attached keyboards. Unfortunately, while (most?)
+ every system will let you boot without a keyboard, there are quite a few
+ that will not let you boot without a graphics adapter. Machines with
+ AMI BIOSes can be configured to boot with no graphics adapter installed
+ simply by changing the 'graphics adapter' setting in the CMOS configuration
+ to 'Not installed.' However, many machines do not support this option
+ and will refuse to boot if you have no display hardware in the system. With
+ these machines, you'll have to leave some kind of graphics card plugged in,
+ (even if it's just a junky mono board) although you won't have to attach
+ a monitor into it. You might also try installing an AMI BIOS. :)
+
+- Using a port other than COM1 as the console requires some recompiling.
+ Again, it's usually assumed that COM1 will be available for use as a
+ console device on a dedicated file/compute/terminal server, so hopefully
+ you'll never need to do this. But if you feel you must change the console
+ to a different port, here's how:
+
+ o Get the kerndist kernel source package.
+ o Edit /sys/i386/boot/biosboot/Makefile and set COMCONSOLE to the
+ address of the port you want to use (0x3F8, 0x2F8, 0x3E8 or
+ 0x2E8). Only COM1 through COM4 can be used; multiport serial
+ cards will not work. No interrupt setting is needed.
+ o Create a custom kernel configuration file and add the following
+ lines:
+
+ options "CONADDR=0x3F8"
+ options "CONUNIT=0"
+
+ Set CONADDR to the same address that you selected for COMCONSOLE
+ in the bootbios Makefile. Set CONUNIT to the unit number of the
+ serial port that this address corresponds to (0 = sio0, 1 = sio1,
+ etc). This implies that the serial port you want to use must be
+ configured into the kernel in the normal way first. I'm not
+ going to list all the possible combinations here; just use your
+ head and you should be okay.
+ o Recompile both the boot blocks and the kernel.
+ o Install the boot blocks with the disklabel command and boot
+ from the new kernel.
+
+
+$Id: README.serial,v 1.5 1996/04/13 11:57:18 jkh Exp $
OpenPOWER on IntegriCloud