PLAN9.INI(8) System Manager's Manual PLAN9.INI(8)
NAME
plan9.ini - configuration file for PC's
SYNOPSIS
none
DESCRIPTION
When booting Plan 9 on a PC, the DOS program b.com first reads a DOS file containing configuration information from the boot disk. This
file, plan9.ini, looks like a shell script containing lines of the form
name=value
each of which defines a kernel or device parameter.
For devices, the generic format of value is
type=TYPE [port=N] [irq=N] [mem=N] [size=N] [dma=N] [ea=N]
specifying the controller type, the base I/O port of the interface, its interrupt level, the physical starting address of any mapped mem-
ory, the length in bytes of that memory, the DMA channel, and for Ethernets an override of the physical network address. Not all elements
are relevant to all devices; the relevant values and their defaults are defined below in the description of each device.
The file is used by b.com and the kernel to configure the hardware available. The information it contains is also passed to the boot
process (see boot(8)) as environment variables. The following sections describe how variables are used.
etherX=value
This defines an Ethernet interface. X, a unique monotonically increasing number beginning at 0, identifies an Ethernet card to be probed
at system boot. Probing stops when a card is found or there is no line for etherX+1.
Some cards are software configurable and do not require all options. Unspecified options default to the factory defaults.
Known types are
NE2000 Not software configurable. 16-bit card. Defaults are
port=0x300 irq=2 mem=0x04000 size=0x4000
NE4100 A PCMCIA version of the NE2000
WD8003 Includes WD8013 and SMC Elite cards. There are varying degrees of software configurability. Cards may be in either 8-bit or 16-bit
slots. Defaults are
port=0x280 irq=3 mem=0xD0000 size=0x2000
BUG: On many machines only the 16 bit card works.
3C509 The 3COM 509 (ISA) and 579 (EISA) cards. Completely configurable, no options need be given. Port 0x110 is used for the little con-
figuration dance.
3C589 The 3COM 589 and 589B PCMCIA cards. Completely configurable, no options need be given. Defaults are
port=0x240 irq=10
scsiX=value
This defines a SCSI interface.
Known types are
aha1542
Adaptec 1542[BC]. This includes other cards that claim to be 1542 compatible; only the Buslogic 7[45]7[SD], 545C, and 946C have been
tried and confirmed. Defaults are
port=0x330 irq=11
ultra14f
Ultrastor [13]4f. Defaults as for aha1542.
bus4201
Buslogic 7[45]7[SD] in 32-bit mode. Defaults as for aha1542.
cdromX=value
This defines a CD-ROM drive connected to a Sound Blaster 16, Pro, MCD, or ACX card.
Known types are
mitsumi
Mitsumi drive. Default is
port=0x340
panasonic
Panasonic drive. Default is
port=0x230
matsushita
Another name for Panasonic.
serialX=value
This defines add on serial ports and cards. Multiple cards can share the same IRQ. Unfortunately, many PC's allow only the built in UARTs
on the COM1 and COM2 IRQ's (3 & 4) so beware.
Known types are
mp008 The TTC 8 serial line card. The mem parameter is the port number of the interrupt polling port. Size is the number of UARTs,
default 8. Port is the port number of the first UART.
generic
Any set of 16450 compatible serial lines with consecutive port addresses. Size is the number of UARTs, default 1. Port is the port
number of the first UART.
mouseport=value
This specifies where the mouse is attached. Value can be
ps2 the PS2 mouse/keyboard port. The BIOS setup procedure should be used to configure the machine appropriately.
0 for COM1
1 for COM2
modemport=value
Picks the UART line to call out on. This is used when connecting to a file server over an async line. Value is the number of the port.
incondev=value
This specifies which parallel port exists. 0 means LPT1 (default), 1 means LPT2, etc.
spindowntime=value
Some IDE disks, especially those on portables, can be spun down to conserve power and reduce noise. Here value is a decimal number of sec-
onds of inactivity after which the disk is automatically spun down. The default is not to spin down the disk.
pcmcia=value
This gives a count of the number of PCMCIA interfaces installed.
console=value
baud=value
These are used to specify the console device. The default console value is cga. Values of 0 or 1 specify COM1 or COM2 respectively, in
which case baud is used to initialize the port.
bootfile=value
This is used to direct the actions of b.com(8).
kernelpercent=value
This defines what percentage of available memory is reserved for the kernel allocation pool. The remainder is left for user processes.
The default value is 30.
monitor=value
vgasize=value
These are used not by the kernel but by vga(8).
nvr=value
This is used by a file server kernel to locate a file holding information to configure the file system. The file cannot live on a SCSI
disk. The default is fd!0!plan9.nvr, unless bootfile is set, in which case it is plan9.nvr on the same disk as bootfile.
rootdir=value
This names the directory on the root disk to hold the root of the file system for a Plan 9 kernel using a DOS file system. The default is
the DOS root directory.
audioX=value
This defines a sound interface.
Known types are
sb16 Sound Blaster 16.
The DMA channel may be any of 5, 6, or 7. The defaults are
port=0x220 irq=7 dma=5
EXAMPLES
A representative plan9.ini:
% cat /n/c:/plan9.ini
ether0=type=3C509
mouseport=ps2
modemport=1
scsi0=type=aha1542 port=0x330
serial0=type=generic port=0x3E8 irq=5
monitor=445x
vgasize=1600x1200x8
%
Minimum CONFIG.SYS and AUTOEXEC.BAT files to use COM2 as a console:
% cat /n/c:/config.sys
SHELL=COMMAND.COM COM2 /P
% cat /n/c:/autoexec.bat
@ECHO OFF
PROMPT $p$g
PATH C:DOS;C:BIN
mode com2:96,n,8,1,p
SET TEMP=C:TMP
%
SEE ALSO
b.com(8), booting(8), boot(8)
BUGS
Being able to set the console device to other than a display is marginally useful on file servers; MS-DOS and the programs which run under
it are so tightly bound to the display that it is necessary to have a display if any setup or reconfiguration programs need to be run.
Also, the delay before any messages appear at boot time is disconcerting, as any error messages from the BIOS are lost.
This idea is at best an interesting experiment that needs another iteration.
PLAN9.INI(8)