Plan 9 from Bell Labs’s /usr/web/sources/wiki/d/77

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


plan9.ini (man page)
D1049152668
A (24.215.19.81)
#
#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 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. After probing as directed by the etherX
#lines, any remaining ethernet cards that can be automatically
#detected are added. Almost all cards can be automatically detected.
#For debugging purposes, automatic probing can be disabled by
#specifying the line
# *	noetherprobe=. This automatic probing is only done by the kernel,
#	not by 9load(8). Thus, if you want to load a kernel over the
#	ethernet, you need to specify an ether0 line so that 9load can find
#	the ethernet card, even if the kernel would have automatically
#	detected it.
#
#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 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). (This is the ethernet
#adapter used by VMware.) Completely 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 III 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, including the 3C562 and the
#589E. There is no support for the modem on the 3C562. Completely
#configurable, 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
#PCMCIA cards (PCMPC100) and integrated controllers (PCM100), 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 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, for example the Netgear FA310.
#Completely configurable, no options need be given. Media can be
#specified the same was as for the i82557. Some cards using the PNIC
#and PNIC2 near-clone chips may also work.
#
#--
#
#wavelan
#
#Lucent Wavelan (Orinoco) IEEE 802.11b and compatible PCMCIA cards.
#Compatible cards include the Dell TrueMobile 1150 and the Linksys
#Instant Wireless Network PC Card. 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 (1 - 11 in NA); 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 encryption key n (where n is in the range 1 to
#4 inclusive) to string; this will also set the transmit 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
#
#--
#
#wavelanpci
#
#PCI ethernet adapters that use the same Wavelan programming
#interface. Currently the only tested
#
#cards are those based on the Intersil Prism 2.5 chipset.
#
#--
#
#83815
#
#National Semiconductor DP83815-based adapters, notably the Netgear
#FA311, Netgear FA312, and various SiS built-in controllers such as
#the SiS900. On the SiS controllers, the ethernet address is not
#detected properly; specify it with an ea= attribute.
#
#--
#
#rtl8139
#
#The Realtek 8139.
#
#--
#
#82543gc
#
#The Intel RS-82543GC gigabit ethernet controller, as found on the
#Intel PRO/1000[FT] server adapter. The older non-[FT] cards based on
#the 82542 (LSI L2A1157) chip are not supported, although support
#would probably be easy to add.
#
#--
#
#smc91cxx
#
#SMC 91cXX chip-based PCMCIA adapters, notably the SMC EtherEZ card.
#
#sinkA /dev/null for ethernet packets -- the interface discards sent
#packets and never receives any. This is used to provide a test bed
#for some experimental ethernet bridging software.
#
#----
#
#usbX=type=uhci port=xxx irq=xxx
#
#This specifies the settings for a USB UHCI controller. Like the
#ethernet controllers, USB controllers are autodetected after
#scanning for the ones listed in plan9.ini. Thus, most systems will
#not need a usbX line. Also like the ethernet controllers, USB
#autoprobing can be disabled by specifying the line *nousbprobe=.
#
#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.
#
#NCR/Symbios/LSI Logic 53c8xx-based adapters and Mylex MultiMaster
#(Buslogic BT-*) adapters are automatically detected and need no
#entries.
#
#By default, the NCR 53c8xx driver searches for up to 32 controllers.
#This can be changed by setting the variable *maxsd53c8xx.
#
#By default the Mylex driver resets SCSI cards by using both the hard
#reset and SCSI bus reset flags in the driver interface. If a variable
# *	noscsireset is defined, the SCSI bus reset flag is omitted.
#
#Uarts
#
#Plan 9 automatically configures COM1 and COM2, if found, as eia0
#(port 0x3F8, IRQ4) and eia1 (port 0x2F8, IRQ3) respectively. These
#devices can be disabled by adding a line:
#
#eiaX=disabled
#
#This is typically done in order to reuse the IRQ for another device.
#
#Plan 9 used to support various serial concentrators, including the
#TTC 8 serial line card and various models in the Star
#
#Gate Avanstar series of intelligent serial boards. These are no
#longer supported; the much simpler Perle PCI-Fast4, PCI-Fast8, and
#PCI-Fast16 controllers have taken their places. These latter cards
#are automatically detected and need no configuration lines.
#
#The line serial=type=com can be used to specify settings for a
#PCMCIA modem.
#
#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 (currently not supported) 1 - for COM2 (currently not
#supported)
#
#----
#
#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.
#
#---
#
#pccard0=disabled
#
#Disable probing for and automatic configuration of PC card
#controllers.
#
#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.
#
#pcmcia0=disabled
#
#Disable probing for and automatic configuration of PCMCIA
#controllers.
#
#console=value params
#
#This is used to specify the console device. The default value is
#cga; a number 0 or 1 specifies COM1 or COM2 respectively. A serial
#console is initially configured with the uart(3) configuration
#string b9600 l8 pn s1, specifying 9600 baud, 8 bit bytes, no parity,
#and one stop bit. If params is given, it will be used to further
#configure the uart. Notice that there is no = sign in the params
#syntax. For example,
#
#console=0 b19200 po
#
#would use COM1 at 19,200 baud with odd parity.
#
#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 file system specifier spec
#(see mount in bind(2)) on which it can be found. These are usually
#used to test variant file systems for distributions, etc.
#
#bootargs=value
#
#The value of this variable is passed to boot(8) by the kernel as the
#name of the root file system. It is typically used to specify
#additional arguments to pass to kfs(4) or ipconfig(8). For example,
#if the system is to run from a local kfs(4) partition, the
#definition might read bootargs=local!#S/sdC0/fs. See boot(8) for
#more.
#
#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 system 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 on CPU servers, 60 on terminals with less
#than 16MB of memory, and 40 on terminals with memories of 16MB or
#more. Terminals use more kernel memory because draw(3) maintains its
#graphic images in kernel memory. This deprecated option is rarely
#necessary in newer kernels.
#
# *	nomce=value
#
#If machine check exceptions are supported by the processor, then
#they are enabled by default. Setting this variable to 1 causes them
#to be disabled even when available.
#
# *	nomp=
#
#A multiprocessor machine will enable all processors by default.
#Setting *nomp restricts the kernel to starting only one processor
#and using the traditional interrupt controller.
#
# *	ncpu=value
#
#Setting *ncpu restricts the kernel to starting at most value
#processors.
#
# *	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).
#
# *	nopcirouting=
#
#Disable pci routing during boot. May solve interrupt routing
#problems on certain machines.
#
#ioexclude=value
#
#Specifies a list of ranges I/O ports to exclude from use by drivers.
#Ranges are inclusive on both ends and separated by commas. For
#example:
#
#ioexclude=0x330-0x337,0x430-0x43F
#
#apm0=
#
#This enables the ``advanced power management'' interface as
#described in apm(3) and apm(8). The main feature of the interface is
#the ability to watch battery life (see stats(8)). It is not on by
#default because it causes problems on some laptops.
#
#monitor=value
#
#vgasize=value
#
#These are used not by the kernel but by termrc (see cpurc(8)) when
#starting vga(8).
#
# *	dpms=value
#
#This is used to specify the screen blanking behavior of the MGA4xx
#video driver. Values are standby, suspend, and off. The first two
#specify differing levels of power saving; the third turns the
#monitor off completely.
#
#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 (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 sb16Sound 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.
#
#menudefault=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.
#
#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 prefixed to the selected configuration as an aid to user-level
#initialization 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
#[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
#
#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.
#
#Copyright ᄅ 2003 Lucent Technologies. All rights reserved.
#

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to webmaster@9p.io.