PLAN9.INI(8)                                         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 memory, 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 monotoni-
          cally increasing number beginning at 0, identifies an Ether-
          net 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

     PLAN9.INI(8)                                         PLAN9.INI(8)

          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 configuration dance.

          3C589
               The 3COM 589 and 589B PCMCIA cards.  Completely config-
               urable, 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

     PLAN9.INI(8)                                         PLAN9.INI(8)

          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 consecu-
               tive 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 con-
          necting 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 seconds 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.

     PLAN9.INI(8)                                         PLAN9.INI(8)

        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 hold-
          ing information to configure the file system.  The file can-
          not 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 sys-
          tem.  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

     PLAN9.INI(8)                                         PLAN9.INI(8)

               %

          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 pro-
          grams 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.