332 lines
15 KiB
HTML
332 lines
15 KiB
HTML
<HTML>
|
|
<HEAD>
|
|
<TITLE>boot(8)</TITLE>
|
|
</HEAD>
|
|
<BODY>
|
|
<H1>boot(8)</H1>
|
|
<HR>
|
|
<PRE>
|
|
|
|
</PRE>
|
|
<H2>NAME</H2><PRE>
|
|
boot - from power on to the login prompt
|
|
|
|
|
|
</PRE>
|
|
<H2>DESCRIPTION</H2><PRE>
|
|
At power on the machine reads the first sector of the boot device into
|
|
memory and executes it. This bootstrap code loads <STRONG>/boot</STRONG>, the Minix Boot
|
|
Monitor. The monitor loads the kernel binaries from <STRONG>/minix</STRONG>, or the
|
|
newest file in <STRONG>/minix</STRONG> if it is a directory.
|
|
|
|
The Minix system is now running, the different tasks initialize
|
|
themselves and control is transferred to the last one, <STRONG>init</STRONG>.
|
|
|
|
<STRONG>Init</STRONG> is the grandparent of all Minix processes, it is responsible for
|
|
starting login processes on each terminal, but first it runs <STRONG>/etc/rc</STRONG>.
|
|
|
|
<STRONG>/etc/rc</STRONG> checks the state of the system and starts daemons. First it sets
|
|
the keyboard translation to the mapping in <STRONG>/etc/keymap</STRONG> if present, then
|
|
it reads the time zone from <STRONG>/etc/timeinfo</STRONG> followed by a call to
|
|
<STRONG><A HREF="../man8/readclock.8.html">readclock(8)</A></STRONG> to set Minix time from the hardware clock. Next the file
|
|
systems are checked if necessary and the <STRONG>/usr</STRONG> file system is mounted.
|
|
|
|
The system is now ready for multiuser startup, <STRONG>/etc/rc</STRONG> starts the
|
|
<STRONG><A HREF="../man8/update.8.html">update(8)</A></STRONG> and <STRONG><A HREF="../man8/cron.8.html">cron(8)</A></STRONG> daemons, and initializes the network services.
|
|
<STRONG>/etc/rc</STRONG> finally recovers crashed editor buffers and cleans out the <STRONG>tmp</STRONG>
|
|
directories.
|
|
|
|
<STRONG>Init</STRONG> reads <STRONG>/etc/ttytab</STRONG> and starts a <STRONG><A HREF="../man8/getty.8.html">getty(8)</A></STRONG> for each enabled terminal
|
|
line to allow a user to log in.
|
|
|
|
|
|
</PRE>
|
|
<H2>BOOT ENVIRONMENT</H2><PRE>
|
|
Many features of the drivers inside the kernel are controlled by settings
|
|
in the boot environment. The values of these variables are usually colon
|
|
or comma separated numbers configuring the driver. <STRONG>DPETH0</STRONG> <STRONG>=</STRONG> <STRONG>300:10</STRONG> tells
|
|
the ethernet driver to use I/O address 0x300, interrupt request 10, and
|
|
the default memory address (0xD0000, values may be omitted) for the first
|
|
ethernet board. (Note that IRQ 2 is redirected to IRQ 9 on AT's and
|
|
PS/2's, so use 9 if a device is jumpered for 2.)
|
|
|
|
Variables that are special to both the monitor and the kernel are
|
|
described in <STRONG><A HREF="../man8/monitor.8.html">monitor(8)</A></STRONG>. This section lists extra variables or variable
|
|
settings:
|
|
|
|
<STRONG>hd</STRONG> = <STRONG>at</STRONG> | <STRONG>bios</STRONG> | <STRONG>esdi</STRONG> | <STRONG>xt</STRONG>
|
|
Choose the driver that is to be used for the hard disk, in order:
|
|
IBM/AT (classic AT or newer IDE), BIOS (generic driver), ESDI (some
|
|
PS/2's), or IBM/XT. By default the first of these drivers that is
|
|
enabled is used. Most drivers are present in the kernel as
|
|
distributed, but may be taken out by modifying
|
|
<STRONG>/usr/include/minix/config.h</STRONG>. (An XT should always use the BIOS
|
|
driver, not the XT driver, because BIOS calls are cheap on an XT.
|
|
The XT driver can be used on AT machines with an old XT controller.)
|
|
|
|
<STRONG>DPETH</STRONG><EM>n</EM> = <STRONG>on</STRONG> | <STRONG>off</STRONG>
|
|
Turn an ethernet board on or off. The driver is by default in
|
|
"sink" mode for all boards. The sink mode allows one to use the
|
|
driver without an ethernet board installed. The driver will play
|
|
/dev/null for that device, i.e. nothing comes in, and anything send
|
|
out is dropped on the floor. If the board is turned on then the
|
|
driver will use it to send out packets, if it is turned off then the
|
|
driver will fail for that board.
|
|
|
|
<STRONG>DPETH</STRONG><EM>n</EM> = <EM>I</EM>/<EM>O</EM>-<EM>addr</EM>:<EM>irq</EM>:<EM>mem</EM>_<EM>addr</EM>
|
|
Set the I/O address (hex), IRQ (decimal) and memory address (hex) of
|
|
the <EM>n</EM>-th ethernet board and turn it on. By default they are
|
|
configured as 280:3:D0000 and 300:5:CC000. The memory address is
|
|
ignored for the Novell ethernet boards, but may be explicitly set to
|
|
zero to indicate that the board <STRONG>is</STRONG> a Novell ethernet board. You do
|
|
not need to specify the IRQ with modern Western Digital 8013
|
|
compatible ethernet cards, the driver asks the board what its IRQ
|
|
is. (Note that the default IRQ conflicts with the second serial
|
|
line, so the serial line is turned off if the ethernet board is
|
|
configured for IRQ 3.)
|
|
|
|
<STRONG>DPETH</STRONG><EM>n</EM><STRONG>_EA</STRONG> = <EM>e0</EM>:<EM>e1</EM>:<EM>e2</EM>:<EM>e3</EM>:<EM>e4</EM>:<EM>e5</EM>
|
|
Set the ethernet address of the <EM>n</EM>-th ethernet board. The address is
|
|
normally obtained from the ethernet board, so only in exceptional
|
|
circumstances is this setting ever needed. (Use the address of the
|
|
main server if you want a career change.)
|
|
|
|
<STRONG>AHA0</STRONG> = <EM>I</EM>/<EM>O</EM>-<EM>addr</EM>:<EM>bus</EM>-<EM>on</EM>:<EM>bus</EM>-<EM>off</EM>:<EM>tr</EM>-<EM>speed</EM>
|
|
Configure the Adaptec 154xA SCSI host adapter to use the given I/O
|
|
address (hex), Bus-on time (decimal), Bus-off time (decimal) and
|
|
transfer speed (hex). The default is 330:15:1:00. The default
|
|
transfer speed is always 5.0 Mb/s (code 00) ignoring the jumper
|
|
settings.
|
|
|
|
<STRONG>sd</STRONG><EM>n</EM> = <EM>target</EM>,<EM>lun</EM>
|
|
Program SCSI disk <STRONG>sd</STRONG><EM>n</EM> to have the given target and logical unit
|
|
number. The target and lun of a tape or other SCSI device may be
|
|
changed by setting the <STRONG>sd</STRONG><EM>n</EM> variable that would be used had it been a
|
|
disk. So tape device st7 can be set to target 4, lun 1 with
|
|
sd35=4,1.
|
|
|
|
<STRONG>MCD</STRONG> = <EM>I</EM>/<EM>O</EM>-<EM>addr</EM>:<EM>irq</EM>
|
|
I/O address (hex) and IRQ (decimal) of the Mitsumi CD-ROM driver, by
|
|
default 300:10.
|
|
|
|
|
|
|
|
|
|
|
|
</PRE>
|
|
<H2>TCP/IP CONFIGURATION</H2><PRE>
|
|
To use TCP/IP you have to compile a kernel with networking enabled, and
|
|
unless you are running standalone you have to enable the ethernet driver.
|
|
See the <STRONG>DPETH</STRONG><EM>n</EM> boot variable above. The driver supports these ethernet
|
|
cards: Western Digital 8003, Western Digital 8013, SMC Elite Ultra 16,
|
|
Novell NE1000, Novell NE2000. Many newer variants of the WD8013, now
|
|
under the SMC brand, are also supported.
|
|
|
|
You are likely to use TCP/IP in one of three situations:
|
|
|
|
Standalone with no connection to a network.
|
|
|
|
In a small network with no support from a "big" host.
|
|
|
|
Connected to a large network with address and name servers.
|
|
|
|
In each situation you need a different set of configuration files.
|
|
|
|
<STRONG>Standalone</STRONG>
|
|
The machine is configured with a fixed IP address: <STRONG>192.9.200.1</STRONG>. This is
|
|
one of the addresses Sun used to give to machines without a registered
|
|
network address. This address is normally blocked at gateways, so it can
|
|
do no damage if used in a real net by accident. You need one file,
|
|
<STRONG>/etc/hosts</STRONG>, that should look like this (using the name "darask" as an
|
|
example):
|
|
|
|
127.0.0.1 localhost
|
|
192.9.200.1 darask
|
|
|
|
<STRONG>Small</STRONG> <STRONG>Network</STRONG>
|
|
In a network where the Minix machine can't obtain its IP address and name
|
|
from a different host you need specify the ethernet address to host name
|
|
translation in the <STRONG>/etc/ethers</STRONG> file for use by the RARP daemon. Suppose
|
|
you have two machines in your network then <STRONG>/etc/ethers</STRONG> could look like
|
|
this:
|
|
|
|
0:0:c0:a:77:23 darask
|
|
0:0:c0:a:68:ce burask
|
|
|
|
Use <STRONG>hostaddr</STRONG> <STRONG>-e</STRONG> to find out what the six octet ethernet address of a host
|
|
is. Use the address as printed: lowercase hex digits, no leading zeros.
|
|
The <STRONG>/etc/hosts</STRONG> file shows their IP addresses:
|
|
|
|
127.0.0.1 localhost
|
|
192.9.200.1 darask
|
|
192.9.200.2 burask
|
|
|
|
|
|
|
|
|
|
<STRONG>Warning!</STRONG> Do not add ethernet addresses of diskless workstations to your
|
|
ethers file. A Sun for instance has the stupid habit of booting from the
|
|
first RARP server that answers, probably your Minix machine...
|
|
|
|
<STRONG>Large</STRONG> <STRONG>Network</STRONG>
|
|
In a network with a central network administration your machine's IP
|
|
address and name are given by the RARP and name services of the special
|
|
servers on the network. For a new machine you need to apply for an IP
|
|
address and host name with your network administrator supplying the
|
|
ethernet address of your machine. You don't need any configuration files
|
|
now, the <STRONG>irdpd</STRONG> and <STRONG>nonamed</STRONG> daemons automatically find a router and a name
|
|
server.
|
|
|
|
Note that no knowledge of the IP address or hostname of the Minix machine
|
|
itself is necessary, it all comes from the RARP and name servers. A
|
|
series of Minix machines can therefore set up identically. Even if you
|
|
have no RARP or name servers you can still set them up identically if you
|
|
list all the Minix hosts in the hosts and ethers files.
|
|
|
|
<STRONG>Simpler</STRONG> <STRONG>configuration</STRONG> <STRONG>tools</STRONG>
|
|
The <STRONG>rarpd</STRONG>, <STRONG>irdpd</STRONG> and <STRONG>nonamed</STRONG> daemons are complex little programs that try
|
|
to obtain information about their surroundings automatically to tell the
|
|
machine what its place in the network is. It should come as no surprise
|
|
that there are simpler utilities to configure a machine. On a memory
|
|
starved machine it may even be wise to configure a machine statically to
|
|
get rid of the daemons. The first daemon, <STRONG>rarpd</STRONG>, can be replaced by:
|
|
|
|
<STRONG>ifconfig</STRONG> <STRONG>-h</STRONG> <EM>host</EM>-<EM>IP</EM>-<EM>address</EM>
|
|
|
|
to set the IP address of the machine. Note that this is only necessary
|
|
if there is no external RARP service. The second daemon <STRONG>irdpd</STRONG> can be
|
|
replaced by setting a static route:
|
|
|
|
<STRONG>add_route</STRONG> <STRONG>-g</STRONG> <EM>router</EM>-<EM>IP</EM>-<EM>address</EM>
|
|
|
|
(if there is a router.) The last daemon, <STRONG>nonamed</STRONG>, can be replaced by an
|
|
entry in <STRONG>/etc/resolv.conf</STRONG> that specifies an external name daemon:
|
|
|
|
<STRONG>nameserver</STRONG> <EM>nameserver</EM>-<EM>IP</EM>-<EM>address</EM>
|
|
|
|
The <STRONG>ifconfig</STRONG> and <STRONG>add_route</STRONG> calls can be placed in the file <STRONG>/etc/rc.net</STRONG>.
|
|
The calls to the daemons will have to be edited out of <STRONG>/etc/rc</STRONG>. Note
|
|
that these changes undo all the efforts to make Minix TCP/IP
|
|
autoconfigurable. Make very sure that all the IP addresses are correct,
|
|
and that the IP address of your machine is unique. (Mistakenly using the
|
|
address of a main server will make all other machines look at your
|
|
machine, and will make all the users of all other machines look at you.)
|
|
|
|
|
|
|
|
|
|
</PRE>
|
|
<H2>FILES</H2><PRE>
|
|
|
|
/boot Minix Boot Monitor.
|
|
|
|
/minix Kernel image, or directory containing them.
|
|
|
|
/etc/rc First of the system initialization files.
|
|
|
|
/etc/hosts Name to IP address mapping.
|
|
|
|
/etc/ethers Name to ethernet address mapping.
|
|
|
|
|
|
</PRE>
|
|
<H2>SEE ALSO</H2><PRE>
|
|
<STRONG><A HREF="../man8/monitor.8.html">monitor(8)</A></STRONG>, <STRONG><A HREF="../man8/init.8.html">init(8)</A></STRONG>, <STRONG><A HREF="../man8/inet.8.html">inet(8)</A></STRONG>, <STRONG><A HREF="../man8/loadkeys.8.html">loadkeys(8)</A></STRONG>, <STRONG><A HREF="../man8/readclock.8.html">readclock(8)</A></STRONG>, <STRONG><A HREF="../man1/fsck.1.html">fsck(1)</A></STRONG>,
|
|
<STRONG><A HREF="../man8/update.8.html">update(8)</A></STRONG>, <STRONG><A HREF="../man8/cron.8.html">cron(8)</A></STRONG>, <STRONG><A HREF="../man5/ttytab.5.html">ttytab(5)</A></STRONG>, <STRONG><A HREF="../man8/getty.8.html">getty(8)</A></STRONG>, <STRONG><A HREF="../man1/hostaddr.1.html">hostaddr(1)</A></STRONG>, <STRONG><A HREF="../man8/ifconfig.8.html">ifconfig(8)</A></STRONG>,
|
|
<STRONG><A HREF="../man8/irdpd.8.html">irdpd(8)</A></STRONG>, <STRONG><A HREF="../man8/nonamed.8.html">nonamed(8)</A></STRONG>, <STRONG><A HREF="../man8/rarpd.8.html">rarpd(8)</A></STRONG>, <STRONG><A HREF="../man5/hosts.5.html">hosts(5)</A></STRONG>, <STRONG><A HREF="../man5/ethers.5.html">ethers(5)</A></STRONG>, <STRONG><A HREF="../man8/set_net_default.8.html">set_net_default(8)</A></STRONG>.
|
|
|
|
|
|
</PRE>
|
|
<H2>DIAGNOSTICS</H2><PRE>
|
|
|
|
Checking File Systems.
|
|
If the system has crashed then <STRONG>fsck</STRONG> is called for the root and /usr
|
|
file systems. It is wise to reboot if the root file system must be
|
|
fixed.
|
|
|
|
Finish the name of device to mount as /usr: /dev/
|
|
If the name of the /usr file system has not been set in /etc/fstab.
|
|
You can type a device name, say <STRONG>fd0</STRONG>.
|
|
|
|
hostaddr: unable to fetch IP address
|
|
TCP/IP misconfiguration. The RARP may have failed because the
|
|
ethernet address of the machine is not entered in either the remote
|
|
or the local ethers file. Either talk to your Network
|
|
Administrator, or make an ethers and a hosts file.
|
|
|
|
1.2.3.4 login:
|
|
If you see an IP address instead of a host name then the system
|
|
failed to translate the IP address. Either talk to your Network
|
|
Administrator to have the reverse address translation tables fixed,
|
|
or make a hosts file.
|
|
|
|
|
|
</PRE>
|
|
<H2>NOTES</H2><PRE>
|
|
The names "darask" and "burask" are names of cities from the Dutch
|
|
translation of the novel "The Many-Colored Land" by Julian May. The
|
|
author of this text likes names of hosts to be things that contain
|
|
people, like cities and ships.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</PRE>
|
|
<H2>BUGS</H2><PRE>
|
|
Indefinite hangs are possible if I/O addresses or IRQ's are wrong. A
|
|
driver may babble about addresses and IRQ's, but that does not mean that
|
|
what it says is true, it may just be configured that way. It is very
|
|
difficult to find peripherals on a PC automatically, and Minix doesn't
|
|
even try.
|
|
|
|
|
|
</PRE>
|
|
<H2>AUTHOR</H2><PRE>
|
|
Kees J. Bot (kjb@cs.vu.nl)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</PRE>
|
|
</BODY>
|
|
</HTML>
|