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. #