config man page on Minix

Man page or keyword search:  
man Server   6208 pages
apropos Keyword Search (all sections)
Output format
Minix logo
[printable version]

CONFIG(8)							     CONFIG(8)

NAME
       config - configuring MINIX 3 tasks and servers

DESCRIPTION
       MINIX  3 has a number of configuration files containing parameters that
       can be changed to enable or disable a device driver, to change the num‐
       ber  of times a resource can be used, or to tune the performance of the
       system.	We will name the file that contains the parameter, the name of
       the parameter, and the values it can be set to.	Some comments are pre‐
       fixed by "8086" for MINIX 3 running in  16-bit  real  mode,  "286"  for
       16-bit protected mode, and "386" for 32-bit protected mode.  Configura‐
       tion file names can be <file.h> for a file in /usr/include/, or a  sim‐
       ple file name for a file in /usr/src/.

       There  may be several definitions for a parameter with only one that is
       active.	 Which	one  this  is  is  easy	 to  find  if  you  know  that
       (CPU == INTEL)  is  true, and _WORD_SIZE equals 2 in 16-bit mode, and 4
       in 32-bit mode.

  <minix/config.h>
       This is the main configuration file for the MINIX 3.  It contains  lots
       of  boolean  variables  to  enable  or  disable drivers and a number of
       parameters that specify the sizes of system data structures:

       NR_PROCS
	      The number of slots in the process table, and thus  the  maximum
	      number  of  processes  that  can be run concurrently.  Should be
	      increased from the default 32 if networking is  enabled  (add  8
	      for  deamons), and if more users are using the system (add 4 for
	      each active session).  There are a lot of loops  in  the	kernel
	      scanning	the  process  table, so setting NR_PROCS too high will
	      slow things down a little bit, so don't overdo it.

       NR_BUFS
	      The number of disk buffers in the file  system  server.	It  is
	      used to keep frequently used disk blocks in memory.  8086 & 286:
	      The default is 40, and that's about as high as it	 can  be  set.
	      386:  The	 default is 80, which is best increased to 1024 if you
	      can spare the memory.  More will help, but the effect  won't  be
	      as pronounced as 1024 is more than enough to contain the working
	      set of one active user.

       NR_CTRLRS
	      Number of tasks used for disk or tape controllers.   By  default
	      2,  maximum 4.  You need a controller task for each device class
	      to be handled through a /dev/cn* set of devices.

       ENABLE_CACHE2
	      If set to 1 allows the RAM disk to be used  as  a	 second	 level
	      file  system  cache.   Any block that is evicted from the normal
	      cache is both written to disk (if dirty), and copied to the sec‐
	      ond  level  cache.   If  it  is  needed  again then the block is
	      reloaded from the RAM disk if it is still there.	 8086:	Forget
	      it,  you	don't have any memory for it.  286: Turn it on and set
	      the boot environment variable ramsize to 512  if	you  have  the
	      memory.	That's enough to contain the working set of one active
	      user, and is also the maximum FS can handle.  386: The installa‐
	      tion  scripts  sets  ramsize  to 1024 if there is enough memory.
	      Your first point of  call	 is  to	 compile  a  new  kernel  with
	      ENABLE_CACHE2 off, NR_BUFS set to a large value, and ramsize set
	      back to zero.  A normal block cache works much better than a two
	      level arrangement.

       ENABLE_AT_WINI
	      Enables  the AT or IDE disk driver.  (The IDE interface grew out
	      of the old AT disk interface.)  Any run of  the  mill  PC	 needs
	      this  driver.   You  need	 to assign a driver like this one to a
	      controller task  using  one  of  the  cn	boot  variables.   See
	      boot(8).

       ENABLE_BIOS_WINI
	      Enables  the  BIOS disk driver.  The BIOS driver uses the system
	      BIOS to read or write disk blocks.   8086:  The  preferred  disk
	      driver for XT class machines.  286 & 386: Use a native driver if
	      possible to avoid switching back	to  real  mode	to  make  BIOS
	      calls.  Especially on the 286 this is a painful affair.

       ENABLE_ESDI_WINI
	      Enables the ESDI disk driver.  Some PS/2 models have this disk.

       ENABLE_XT_WINI
	      Enables  the  XT	disk driver.  Useful for early IBM/AT machines
	      that have XT disks.  In real mode it is best  to	use  the  BIOS
	      driver.

       ENABLE_AHA1540_SCSI
	      Enables the Adaptec 1540 series SCSI driver.

       ENABLE_DOSFILE
	      Enable  the  "DOS file as disk" driver that is used when MINIX 3
	      is run from MS-DOS to access a large file as a disk.

       ENABLE_FATFILE
	      Enable the "FAT file as disk" driver that interprets a FAT  file
	      system  to find a large file to use as a disk.  This driver com‐
	      bined with a fast native MINIX 3 disk driver is a better	choice
	      then  the	 previous  driver.   (And it works when MINIX 3 is not
	      started from MS-DOS.)  This is the last driver that needs to  be
	      assigned to a controller task.

       ENABLE_SB16
	      Enable the Soundblaster-16 audio driver.

       ENABLE_PRINTER
	      Enable the Printer driver.

       DMA_SECTORS
	      The  size	 of  the  DMA buffer for drivers that use DMA or other
	      drivers that can only do	I/O  to	 a  single  chunk  of  memory.
	      (BIOS,  ESDI,  XT,  DOSFILE.)  Choose a number between 1 and 128
	      for the sector size of this buffer.  The memory  cost  is	 twice
	      this  amount,  because  of  trouble getting it aligned in memory
	      properly.	 A value of 16 is the minimum to work well, choose  64
	      if you have enough memory.

       NR_CONSOLES
	      Number  of  virtual consoles.  By default 2, so you can have two
	      login sessions that can be switched to by ALT-F1, ALT-F2 or ALT-
	      left/rightarrow.	If you have an EGA screen then you can specify
	      up to 4 virtual consoles, for VGA you can have 8.	 It is best to
	      choose  one  less	 to  leave  some  video	 memory	 to  keep text
	      scrolling fast.  You really  should  read	 console(4)  on	 this.
	      Note  also the console boot variable, you can use it to put more
	      characters on the screen, at the cost of video memory.

       ENABLE_DP8390
	      Master switch to enable the network drivers.  They are  required
	      by  the  network	server,	 inet.	See boot(8) for information on
	      configuring network support.

       ENABLE_WDETH
	      Enable code for the WD8003  and  WD8013  cards  in  the  network
	      driver.

       ENABLE_NE2000
	      Enable code for the NE1000 and NE2000 cards.

       ENABLE_3C503
	      Enable code for the 3Com Etherlink II (3C503).

       NR_PTYS
	      Number  of  pseudo terminals supported, by default 0, which dis‐
	      ables the driver.	 Pseudo terminals are used for	incoming  net‐
	      work logins by telnet or rlogin.	One pty is needed per session.

       NR_RS_LINES
	      Number  of  RS-232  lines	 supported.  By default 2 for a normal
	      kernel, but 0 for a tiny kernel used for XT  installation.   You
	      can  save	 a  bit of memory by setting this parameter to zero if
	      you don't need serial lines.

  fs/const.h
       This file contains most of the parameters used by the file system code.
       Most of these cannot be changed, with the exception of these four:

       NR_FILPS
	      Maximum  number  of open file descriptors for all processes com‐
	      bined.  A "File table overflow" error might indicate  that  this
	      number must be increased.

       NR_INODES
	      Maximum number of in-use files for all processes combined.  Like
	      above a "File table overflow" error may also indicate that  this
	      number  should  be  increased.   In cases like these one usually
	      doubles both parameters.	(If one table runs out then the	 other
	      one is likely to run out also anyway.)

       NR_SUPERS
	      Number of file systems that can be mounted.  Again a "file table
	      overflow" error is given if this table is full, but it  will  be
	      produced	by the mount command, so you know what's wrong in this
	      case.

       NR_LOCKS
	      Number of active file locks by fcntl(2).	These locks are	 often
	      used  by	programs that update a shared file, like mail programs
	      do with mail boxes.  A "no locks available" error indicates that
	      this table has run out.

  kernel/bios_wini.c
  kernel/dosfile.c
  kernel/fatfile.c
       The number of disks each of these drivers can handle is specified by:

       MAX_DRIVES
	      This  parameter is set to 4 for the BIOS and "DOS file" drivers,
	      and to 2 for the "FAT file" driver.  It can be set  as  high  as
	      you need to allow for more disks, or files as disks.  (The "FAT"
	      driver needs quite some memory per disk,	which  is  why	it  by
	      default  only  allows 2 disks.)  You will need to run MAKEDEV(8)
	      to create the extra disk devices in /dev/.

  inet/inet_config.h
       The maximum number of TCP/IP networks is:

       IP_PORT_MAX
	      Sets the maximum number of  networks  that  can  be  defined  in
	      /etc/inet.conf.  8086, 286: By default 2.	 386: By default 4.

  inet/buf.c
       The  number  of	512  byte buffers allocated for data within the TCP/IP
       server is:

       BUF512_NR
	      These buffers are a shared resource used by the server  for  any
	      data  it	wants  to play with.  For incoming data this number of
	      buffers determines the time packets are kept around,  with  each
	      new  packet evicting an old packet.  It's no big deal if packets
	      get lost before a user process reads them, packets get lost  all
	      the  time.   The	only  real  problem is outgoing TCP data.  The
	      default setting for BUF512_NR allows up to four  backlogged  TCP
	      streams,	i.e.  when  data is output faster then it is read.  If
	      more buffers are needed then one of the TCP connections is  shut
	      down.   When  this  happens  you	will see a "not enough buffers
	      left" error.  This could happen for instance if a	 MINIX	3  web
	      server is assaulted by a browser that likes to open several con‐
	      nections to the server simultaneously.  The fix is  to  increase
	      BUF512_NR	 to  allow  more  slow	outgoing TCP streams.  86: The
	      default of 32 buffers can be increased up to 64.	(The "TCP win‐
	      dow size" has been limited in 16-bit mode to keep the buffer use
	      by TCP down.)  386: The default of 128 can be increased  to  any
	      value you like, but 512 seems to be more than enough.  Minix-vmd
	      uses 512 by default, and it seems happy that way.

SEE ALSO
       controller(4), usage(8), boot(8), MAKEDEV(8).

NOTES
       Associated with drivers there are device files to  access  the  devices
       controlled  by the drivers that may have to be created.	Let's simplify
       this sentence:  Type ls /dev, note that there  are  only	 c0*  and  c1*
       devices,	 and  only  for	 two disks each.  Some devices, like the audio
       devices, are not even present.  So if you enable a driver, or  increase
       some  limits, you also need to use MAKEDEV(8) in /dev to allow programs
       to talk to the drivers.

AUTHOR
       Kees J. Bot (kjb@cs.vu.nl)

								     CONFIG(8)
[top]

List of man pages available for Minix

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net