343 lines
11 KiB
Groff
343 lines
11 KiB
Groff
.TH BOOT 8
|
|
.SH NAME
|
|
boot \- from power on to the login prompt
|
|
.SH DESCRIPTION
|
|
.de SP
|
|
.if t .sp 0.4
|
|
.if n .sp
|
|
..
|
|
At power on the machine reads the first sector of the boot device into memory
|
|
and executes it. This bootstrap code loads
|
|
.BR /boot ,
|
|
the Minix Boot Monitor. The monitor loads the kernel binaries from
|
|
.BR /minix ,
|
|
or the newest file in
|
|
.B /minix
|
|
if it is a directory.
|
|
.PP
|
|
The Minix system is now running, the different tasks initialize themselves
|
|
and control is transferred to the last one,
|
|
.BR init .
|
|
.PP
|
|
.B Init
|
|
is the grandparent of all Minix processes, it is responsible for starting
|
|
login processes on each terminal, but first it runs
|
|
.BR /etc/rc .
|
|
.PP
|
|
.B /etc/rc
|
|
checks the state of the system and starts daemons. First it sets the
|
|
keyboard translation to the mapping in
|
|
.B /etc/keymap
|
|
if present, then it reads the time zone from
|
|
.B /etc/timeinfo
|
|
followed by a call to
|
|
.BR readclock (8)
|
|
to set Minix time from the hardware clock. Next the file systems are checked
|
|
if necessary and the
|
|
.B /usr
|
|
file system is mounted.
|
|
.PP
|
|
The system is now ready for multiuser startup,
|
|
.B /etc/rc
|
|
starts the
|
|
.BR update (8)
|
|
and
|
|
.BR cron (8)
|
|
daemons, and initializes the network services.
|
|
.B /etc/rc
|
|
finally recovers crashed editor buffers and cleans out the
|
|
.B tmp
|
|
directories.
|
|
.PP
|
|
.B Init
|
|
reads
|
|
.B /etc/ttytab
|
|
and starts a
|
|
.BR getty (8)
|
|
for each enabled terminal line to allow a user to log in.
|
|
.SH "BOOT ENVIRONMENT"
|
|
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.
|
|
.B "DPETH0 = 300:10"
|
|
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.)
|
|
.PP
|
|
Variables that are special to both the monitor and the kernel are described
|
|
in
|
|
.BR monitor (8).
|
|
This section lists extra variables or variable settings:
|
|
.TP
|
|
\fBhd\fR = \fBat\fR | \fBbios\fP | \fBesdi\fR | \fBxt\fR
|
|
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
|
|
.BR /usr/include/minix/config.h .
|
|
(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.)
|
|
.TP
|
|
\fBDPETH\fIn\fR = \fBon\fR | \fBoff\fR
|
|
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.
|
|
.TP
|
|
\fBDPETH\fIn\fR = \fII/O-addr\fR:\fIirq\fR:\fImem_addr\fR
|
|
Set the I/O address (hex), IRQ (decimal) and memory address (hex) of the
|
|
.IR n -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
|
|
.B is
|
|
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.)
|
|
.TP
|
|
\fBDPETH\fIn\fB_EA\fR = \fIe0\fR:\fIe1\fR:\fIe2\fR:\fIe3\fR:\fIe4\fR:\fIe5\fR
|
|
Set the ethernet address of the
|
|
.IR n -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.)
|
|
.TP
|
|
\fBAHA0\fR = \fII/O-addr\fR:\fIbus-on\fR:\fIbus-off\fR:\fItr-speed\fR
|
|
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.
|
|
.TP
|
|
\fBsd\fIn\fR = \fItarget\fR,\fIlun\fR
|
|
Program SCSI disk
|
|
.BI sd n
|
|
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
|
|
.BI sd n
|
|
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.
|
|
.TP
|
|
\fBMCD\fR = \fII/O-addr\fR:\fIirq\fR
|
|
I/O address (hex) and IRQ (decimal) of the Mitsumi CD-ROM driver, by default
|
|
300:10.
|
|
.SH "TCP/IP CONFIGURATION"
|
|
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
|
|
.BI DPETH n
|
|
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.
|
|
.PP
|
|
You are likely to use TCP/IP in one of three situations:
|
|
.PP
|
|
.RS
|
|
Standalone with no connection to a network.
|
|
.SP
|
|
In a small network with no support from a "big" host.
|
|
.SP
|
|
Connected to a large network with address and name servers.
|
|
.RE
|
|
.PP
|
|
In each situation you need a different set of configuration files.
|
|
.SS Standalone
|
|
The machine is configured with a fixed IP address:
|
|
.BR 192.9.200.1 .
|
|
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,
|
|
.BR /etc/hosts ,
|
|
that should look like this (using the name "darask" as an example):
|
|
.PP
|
|
.RS
|
|
.ta +15n
|
|
127.0.0.1 localhost
|
|
.br
|
|
192.9.200.1 darask
|
|
.RE
|
|
.SS "Small Network"
|
|
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
|
|
.B /etc/ethers
|
|
file for use by the RARP daemon. Suppose you have two machines in your
|
|
network then
|
|
.B /etc/ethers
|
|
could look like this:
|
|
.PP
|
|
.RS
|
|
.ta +20n
|
|
0:0:c0:a:77:23 darask
|
|
.br
|
|
0:0:c0:a:68:ce burask
|
|
.RE
|
|
.PP
|
|
Use
|
|
.B hostaddr \-e
|
|
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
|
|
.B /etc/hosts
|
|
file shows their IP addresses:
|
|
.PP
|
|
.RS
|
|
.ta +15n
|
|
127.0.0.1 localhost
|
|
.br
|
|
192.9.200.1 darask
|
|
.br
|
|
192.9.200.2 burask
|
|
.RE
|
|
.PP
|
|
.B Warning!
|
|
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...
|
|
.SS "Large Network"
|
|
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
|
|
.B irdpd
|
|
and
|
|
.B nonamed
|
|
daemons automatically find a router and a name server.
|
|
.PP
|
|
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.
|
|
.SS "Simpler configuration tools"
|
|
The
|
|
.BR rarpd ,
|
|
.BR irdpd
|
|
and
|
|
.BR nonamed
|
|
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,
|
|
.BR rarpd ,
|
|
can be replaced by:
|
|
.PP
|
|
.RS
|
|
.B ifconfig \-h
|
|
.I host-IP-address
|
|
.RE
|
|
.PP
|
|
to set the IP address of the machine. Note that this is only necessary if
|
|
there is no external RARP service. The second daemon
|
|
.B irdpd
|
|
can be replaced by setting a static route:
|
|
.PP
|
|
.RS
|
|
.B add_route \-g
|
|
.I router-IP-address
|
|
.RE
|
|
.PP
|
|
(if there is a router.) The last daemon,
|
|
.BR nonamed ,
|
|
can be replaced by an entry in
|
|
.B /etc/resolv.conf
|
|
that specifies an external name daemon:
|
|
.PP
|
|
.RS
|
|
.B nameserver
|
|
.I nameserver-IP-address
|
|
.RE
|
|
.PP
|
|
The
|
|
.B ifconfig
|
|
and
|
|
.B add_route
|
|
calls can be placed in the file
|
|
.BR /etc/rc.net .
|
|
The calls to the daemons will have to be edited out of
|
|
.BR /etc/rc .
|
|
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.)
|
|
.SH FILES
|
|
.TP 20n
|
|
/boot
|
|
Minix Boot Monitor.
|
|
.TP
|
|
/minix
|
|
Kernel image, or directory containing them.
|
|
.TP
|
|
/etc/rc
|
|
First of the system initialization files.
|
|
.TP
|
|
/etc/hosts
|
|
Name to IP address mapping.
|
|
.TP
|
|
/etc/ethers
|
|
Name to ethernet address mapping.
|
|
.SH "SEE ALSO"
|
|
.BR monitor (8),
|
|
.BR init (8),
|
|
.BR inet (8),
|
|
.BR loadkeys (8),
|
|
.BR readclock (8),
|
|
.BR fsck (1),
|
|
.BR update (8),
|
|
.BR cron (8),
|
|
.BR ttytab (5),
|
|
.BR getty (8),
|
|
.BR hostaddr (1),
|
|
.BR ifconfig (8),
|
|
.BR irdpd (8),
|
|
.BR nonamed (8),
|
|
.BR rarpd (8),
|
|
.BR hosts (5),
|
|
.BR ethers (5),
|
|
.BR set_net_default (8).
|
|
.SH DIAGNOSTICS
|
|
.TP 5n
|
|
Checking File Systems.
|
|
If the system has crashed then
|
|
.B fsck
|
|
is called for the root and /usr file systems. It is wise to reboot if the
|
|
root file system must be fixed.
|
|
.TP
|
|
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
|
|
.BR fd0 .
|
|
.TP
|
|
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.
|
|
.TP
|
|
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.
|
|
.SH NOTES
|
|
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.
|
|
.SH BUGS
|
|
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.
|
|
.SH AUTHOR
|
|
Kees J. Bot (kjb@cs.vu.nl)
|