man(1) Manual page archive


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

     NAME
          plan9.ini - configuration file for PCs

     SYNOPSIS
          none

     DESCRIPTION
          When booting Plan 9 on a PC, the DOS program 9load(8) 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 9load and the kernel to configure the
          hardware available.  The information it contains is also
          passed to the boot process, and subsequently other programs,
          as environment variables (see boot(8)). However, values
          whose names begin with an asterisk * are used by the kernel
          and are not converted into 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

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

               Not software configurable. 16-bit card.  Defaults are
                    port=0x300 irq=2 mem=0x04000 size=0x4000
               The option (no value) nodummyrr is needed on some
               (near) clones to turn off a dummy remote read in the
               driver.

          amd79c970
               The AMD PCnet PCI Ethernet Adapter (AM79C970).  Com-
               pletely configurable, no options need be given.

          wd8003
               Includes WD8013 and SMC Elite and Elite Ultra 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.

          elnk3
               The 3COM Etherlink ||| series of cards including the
               5x9, 59x, and 905 and 905B.  Completely configurable,
               no options need be given.  The media may be specified
               by setting media= to the value 10BaseT, 10Base2,
               100BaseTX, 100BaseFX, aui, and mii.  If you need to
               force full duplex, because for example the Ethernet
               switch does not negotiate correctly, just name the word
               (no value) fullduplex or 100BASE-TXFD.  Similarly, to
               force 100Mbit operation, specify force100.  Port 0x110
               is used for the little ISA configuration dance.

          3c589
               The 3COM 3C589 series PCMCIA cards.  There is no sup-
               port for the modem on the 3C562.  Completely config-
               urable, no options need be given.  Defaults are
                    port=0x240 irq=10
               The media may be specified as media=10BaseT or
               media=10Base2.

          ec2t The Linksys Combo PCMCIA EthernetCard (EC2T), EtherFast
               10/100 (PCMPC100) PCMCIA cards, the Netgear FA410TX
               10/100 PCMCIA card and the Accton EtherPair-PCMCIA
               (EN2216).  Completely configurable, no options need be
               given.  Defaults are
                    port=0x300 irq=9
               These cards are NE2000 clones.  Other NE2000 compatible
               PCMCIA cards may be tried with the option
                    id=string
               where string is a unique identifier string contained in
               the attribute memory of the card (see pcmcia(8));
               unlike most options in plan9.ini, this string is case-
               sensitive.  The option dummyrr=[01] can be used to turn
               off (0) or on (1) a dummy remote read in the driver in

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

               such cases, depending on how NE2000 compatible they
               are.

          i82557
               Cards using the Intel 8255[789] Fast Ethernet PCI Bus
               LAN Controller such as the Intel EtherExpress PRO/100B.
               Completely configurable, no options need be given.  If
               you need to force the media, specify one of the options
               (no value) 10BASE-T, 10BASE-2, 10BASE-5, 100BASE-TX,
               10BASE-TFD, 100BASE-TXFD, 100BASE-T4, 100BASE-FX, or
               100BASE-FXFD.

          2114x
               Cards using the Digital Equipment (now Intel) 2114x PCI
               Fast Ethernet Adapter Controller.  Completely config-
               urable, no options need be given.  Media can be speci-
               fied the same was as for the i82557.  Some cards using
               the PNIC and PNIC2 near-clone chips may also work.

          ga620
               Netgear GA620 and GA620T Gigabit Ethernet cards.  Com-
               pletely configurable.

          wavelan
               Lucent Wavelan (Orinoco) IEEE 802.11b PCMCIA cards.
               Port and IRQ defaults are 0x180 and 3 respectively.

               These cards take a number of unique options to aid in
               identifying the card correctly on the 802.11b network.
               The network may be ad hoc or managed (i.e. use an
               access point):
                    mode=[adhoc, managed]
               and defaults to managed. The 802.11b network to attach
               to (managed mode) or identify as (ad hoc mode), is
               specified by
                    essid=string
               and defaults to a null string.  The card station name
               is given by
                    station=string
               and defaults to Plan 9 STA. The channel to use is given
               by
                    channel=number
               where number lies in the range 1 to 16 inclusive; the
               channel is normally negotiated automatically.

               If the card is capable of encryption, the following
               options may be used:
                    crypt=[off, on]
               and defaults to on.
                    keyN=string
               sets the encrytion key n (where n is in the range 1 to
               4 inclusive) to string; this will also set the transmit

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

               key to n (see below).
                    txkey=number
               sets the transmit key to use to be number in the range
               1 to 4 inclusive.  If it is desired to exclude or
               include unencrypted packets
                    clear=[off, on]
               configures reception and defaults to inclusion.

               The defaults are intended to match the common case of a
               managed network with encryption and a typical entry
               would only require, for example
                    essid=left-armpit key2=fishcalledraawaru
               if the port and IRQ defaults are used These options may
               be set after boot by writing to the device's ctl file
               using a space as the separator between option and
               value, e.g.
                    echo 'key2 fishcalledraawaru' > /net/ether0/0/ctl

        scsiX=value
          This defines a SCSI interface which cannot be automatically
          detected by the kernel.

          Known types are

          aha1542
               The Adaptec 154x series of controllers (and clones).
               Almost completely configurable, only the
                    port=0x300
               option need be given.

        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.

          a100i a200i a16i AvanstarXp
               The Star Gate Avanstar series of intelligent serial
               boards.

          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.

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

        eiaX=disabled
          By default, eia0 is initialized as port 0x3F8, IRQ 4 (DOS's
          COM1) and eia1 as port 0x2F8, IRQ 3 (DOS's COM2).  Such a
          line disables this default initialization, usually in order
          to reuse the IRQ for another device.

        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.

          ps2intellimouse
               an Intellimouse on the PS2 port.

          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.

        pcmciaX=type=XXX irq=value
          If the default IRQ for the PCMCIA is correct, this entry can
          be omitted.  The value of type is ignored.

        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 9load(8) by naming the
          device and file from which to load the kernel.

        rootdir=dir
        rootspec=spec
          These are used by 9load(8) to identify the directory dir to
          make the root directory for the kernel, and the and file
          system specifier spec (see mount in bind(2)) on which it can
          be found.  These are usually used to test variant file sys-
          tems for distributions, etc.

        bootargs=value
          The value of this variable is passed to boot(8) by the ker-
          nel as the name of the root file system.  For example, if
          the system is to run from a local kfs(4) partition, the def-
          inition might read bootargs=local!#S/sdC0/fs.

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

        cfs=value
          This gives the name of the file holding the disk partition
          for the cache file system, cfs(4). Extending the bootargs
          example, one would write cfs=#S/sdC0/cache.

        bootdisk=value
          This deprecated variable was used to specify the disk used
          by the cache file system and other disk-resident services.
          It is superseded by bootargs and cfs.

        partition=value
          This defines the partition table 9load(8) will examine to
          find disk partitioning information.  By default, a partition
          table in a Plan 9 partition is consulted; if no such table
          is found, an old-Plan 9 partition table on the next-to-last
          or last sector of the disk is consulted.  A value of new
          consults only the first table, old only the second.

        *maxmem=value
          This defines the maximum physical address that the system
          will scan when sizing memory.  By default the operating sys-
          tem will scan up to 768 megabytes, but setting *maxmem will
          limit the scan.  If the system has more than 768 megabytes,
          you must set *maxmem for the kernel to find it.  *maxmem
          must be less than 1.75 gigabytes.

        *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.  This deprecated
          option is rarely necessary in newer kernels.

        *nomp=value
          A multiprocessor machine will enable all processors by
          default.  Setting *nomp restricts the kernel to starting
          only one processor and using the traditional interrupt con-
          troller.

        *pcimaxbno=value
          This puts a limit on the maximum bus number probed on a PCI
          bus (default 255).  For example, a value of 1 should suffice
          on a 'standard' motherboard with an AGP slot.  This, and
          *pcimaxdno below are rarely used and only on troublesome or
          suspect hardware.

        *pcimaxdno=value
          This puts a limit on the maximum device number probed on a
          PCI bus (default 31).

        monitor=value
        vgasize=value
          These are used not by the kernel but by vga(8).

     PLAN9.INI(8)                                         PLAN9.INI(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
          (sic), unless bootfile is set, in which case it is plan9.nvr
          on the same disk as bootfile.  The syntax is either
          fd!unit!name or hd!unit!name where unit is the numeric unit
          id.  This variant syntax is a vestige of the file server
          kernel's origins.

        audioX=value
          This defines a sound interface.

          Known types are

          sb16 Sound Blaster 16.  ess1688 A Sound Blaster clone.

          The DMA channel may be any of 5, 6, or 7.  The defaults are
               port=0x220 irq=7 dma=5

        fs=a.b.c.d
        auth=a.b.c.d
          These specify the IP address of the file and authentication
          server to use when mounting a network-provided root file
          system.  They are used only if the addresses cannot be
          determined via DHCP.

     Multiple Configurations
          A plan9.ini file may contain multiple configurations, each
          within a block beginning with a line
               [tag]
          A special block with the tag menu gives a list of blocks
          from which the user may interactively select the contents of
          plan9.ini.  There may also be multiple blocks with the tag
          common which will be included in all selections; if any
          lines appear in plan9.ini before the first block, they are
          treated as a common block.

          Within the menu block the following configuration lines are
          allowed:

        menuitem=tag[, description]
          The block identified by tag will appear in the presented
          menu.  The menu entry will consist of the tag unless the
          optional description is given.

        mendefault=tag[, timeout]
          Identifies a default block to be given in the menu selection
          prompt.  If the optional timeout is given (in seconds), the
          default block will be selected if there is no user input
          within the timeout period.

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

        menuconsole=value[, baud]
          Selects a serial console upon which to present the menu as
          no console or baud configuration information will have been
          processed yet (the plan9.ini contents are still to be
          decided...).

          In response to the menu being printed, the user is prompted
          to select a menu item from the list.  If the numeric
          response is followed by a p, the selected configuration is
          printed and the menu presented again.

          The line
               menuitem=tag
          is prepended to the selected configuration as an aid to
          user-level initialisation scripts.

     EXAMPLES
          A representative plan9.ini:

               % cat /n/c:/plan9.ini
               ether0=type=3C509
               mouseport=ps2
               modemport=1
               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
               %

          Simple plan9.ini with multiple configurations:

               [menu]
               menuitem=vga, Plan 9 with VGA
               menuitem=novga, Plan 9 no automatic VGA
               menudefault=vga

               [vga]
               monitor=multisync135
               vgasize=1024x768x8

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

               [novga]

               [common]
               ether0=type=i82557
               audio0=type=sb16 port=0x220 irq=5 dma=1

          With this, the following menu will be presented on boot:

               Plan 9 Startup Menu:
               ====================
                   1. Plan 9 with VGA
                   2. Plan 9 no automatic VGA
               Selection[default==1]:

          Selecting item 1 generates the following plan9.ini to be
          used by the remainder of the bootstrap process:

               menuitem=vga
               monitor=multisync135
               vgasize=1024x768x8
               ether0=type=i82557
               audio0=type=sb16 port=0x220 irq=5 dma=1

          and selecting item 2:

               menuitem=novga
               ether0=type=i82557
               audio0=type=sb16 port=0x220 irq=5 dma=1

     SEE ALSO
          9load(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.