Minix installation demo.				Author: Kees J. Bot

	+-------------------------------------------------------+
	| This is a log of a Minix installation on my notebook  |
	| in the form of a number of screen images with bits of |
	| explanatory text in these boxes.  The floppy images   |
	| have already been made and the system is booted with  |
	| a diskette that contains both ROOT and USR combined.  |
	| That is why I typed 'fd0c' after starting Minix:      |
	+-------------------------------------------------------+

Minix 2.0.0  Copyright 1997 Prentice-Hall, Inc.

Executing in 32-bit protected mode


Memory size = 8010K   MINIX = 295K   RAM disk =  480K   Available = 7236K

RAM disk loaded.

Tue Oct  1 16:21:37 MET 1996
Finish the name of device to mount as /usr: /dev/fd0c
/dev/fd0c is read-write mounted on /usr
Starting standard daemons: update.

Login as root and run 'setup' to install Minix.

Minix  Release 2.0 Version 0

noname login:

	+-------------------------------------------------------+
	| As suggested I log in as root and enter 'setup' to    |
	| start the installation script.                        |
	+-------------------------------------------------------+

noname login: root
# setup

This is the Minix installation script.

Note 1: If the screen blanks suddenly then hit F3 to select "software
        scrolling".

Note 2: If things go wrong then hit DEL and start over.

Note 3: The installation procedure is described in the manual page
        usage(8).  It will be hard without it.

Note 4: Some questions have default answers, like this: [y]
        Simply hit RETURN (or ENTER) if you want to choose that answer.

Note 5: If you see a colon (:) then you should hit RETURN to continue.
:

	+-------------------------------------------------------+
	| I hit the ENTER key and am asked about my keyboard    |
	+-------------------------------------------------------+

What type of keyboard do you have?  You can choose one of:

    french  italian   latin-am  scandinavn  uk      us-swap
    german  japanese  olivetti  spanish     us-std

Keyboard type? [us-std]

	+-------------------------------------------------------+
	| I'm blessed with a standard U.S. keyboard so I type   |
	| ENTER again.  Now it gets serious:                    |
	+-------------------------------------------------------+

Minix needs one primary partition of at least 30 Mb (it fits in 20 Mb, but
it needs 30 Mb if fully recompiled.  Add more space to taste.)

If there is no free space on your disk then you have to back up one of the
other partitions, shrink, and reinstall.  See the appropriate manuals of the
the operating systems currently installed.  Restart your Minix installation
after you have made space.

To make this partition you will be put in the editor "part".  Follow the
advice under the '!' key to make a new partition of type MINIX.  Do not
touch an existing partition unless you know precisely what you are doing!
Please note the name of the partition (hd1, hd2, ..., hd9, sd1, sd2, ...
sd9) you make.  (See the devices section in usage(8) on Minix device names.)
:
	+-------------------------------------------------------+
	| ENTER brings up the 'part' partition editor.  The     |
	| question marks indicate that no partition table is    |
	| loaded yet.  I must first choose a disk.              |
	+-------------------------------------------------------+

  Select device       ----first----  --geom/last--  ------sectors-----
    Device             Cyl Head Sec   Cyl Head Sec      Base      Size       Kb
    /dev/hd0                            ?    ?   ?
                         ?    ?   ?     ?    ?   ?         ?         ?        ?
Num Sort   Type
  ?  ?    ? ?            ?    ?   ?     ?    ?   ?         ?         ?        ?
  ?  ?    ? ?            ?    ?   ?     ?    ?   ?         ?         ?        ?
  ?  ?    ? ?            ?    ?   ?     ?    ?   ?         ?         ?        ?
  ?  ?    ? ?            ?    ?   ?     ?    ?   ?         ?         ?        ?

Type '+' or '-' to change, 'r' to read, '?' for more help, '!' for advice

	+-------------------------------------------------------+
	| This notebook has only one disk, so I type 'r':       |
	+-------------------------------------------------------+

  Select device       ----first----  --geom/last--  ------sectors-----
    Device             Cyl Head Sec   Cyl Head Sec      Base      Size       Kb
    /dev/hd0                          485   16  63
                         0    0   0   488   15  62         0    492912   246456
Num Sort   Type
 1  hd1  12              0    1   0     4   15  62        63      4977     2488
 2* hd2  81 MINIX        5    0   0   426   14  52      5040    425303   212651
 3  hd3  00 None         0    0   0     0    0  -1         0         0        0
 4  hd4  00 None         0    0   0     0    0  -1         0         0        0

at-hd0: Conner Peripherals 240MB - CP2251

	+-------------------------------------------------------+
	| There are two partitions already present on the disk, |
	| one that contains setup stuff for the notebook and a  |
	| 208 megabyte partition that already contains Minix.   |
	| The AT disk driver has tickled the IDE disk to make   |
	| it tell its type and make.  It is a message from deep |
	| in the kernel, not from part.                         |
	| For this install I want a new partition, so I move    |
	| over to the Size field of the first unused slot, line |
	| 3 with type "None".  I could type a number now, but   |
	| I want to use the rest of the disk, so I hit 'm'      |
	| there once or twice to let part propose something.    |
	+-------------------------------------------------------+

  Size in sectors     ----first----  --geom/last--  ------sectors-----
    Device             Cyl Head Sec   Cyl Head Sec      Base      Size       Kb
    /dev/hd0                          485   16  63
                         0    0   0   488   15  62         0    492912   246456
Num Sort   Type
 1  hd1  12              0    1   0     4   15  62        63      4977     2488
 2* hd2  81 MINIX        5    0   0   426   14  52      5040    425303   212651
 3  hd3  81 MINIX      426   14  53   488   15  62    430343     62569    31284
 4  hd4  00 None         0    0   0     0    0  -1         0         0        0

	+-------------------------------------------------------+
	| Note that the end of partition 2 and the start of     |
	| partition 3 are not on a cylinder boundary.  Minix    |
	| doesn't care about that, but Linux fdisk would throw  |
	| a fit if it would see this.  In this case I'm happy,  |
	| so I type 'q' to quit, and 'y' to save the table:     |
	+-------------------------------------------------------+

  Size in sectors     ----first----  --geom/last--  ------sectors-----
    Device             Cyl Head Sec   Cyl Head Sec      Base      Size       Kb
    /dev/hd0                          485   16  63
                         0    0   0   488   15  62         0    492912   246456
Num Sort   Type
 1  hd1  12              0    1   0     4   15  62        63      4977     2488
 2* hd2  81 MINIX        5    0   0   426   14  52      5040    425303   212651
 3  hd3  81 MINIX      426   14  53   488   15  62    430343     62569    31284
 4  hd4  00 None         0    0   0     0    0  -1         0         0        0

Save partition table? (y/n) y

Please finish the name of the primary partition you have created:
(Just type RETURN if you want to rerun "part")                   /dev/hd3

You have created a partition named:     /dev/hd3
The following subpartitions are about to be created on /dev/hd3:

        Root subpartition:      /dev/hd3a       1440 kb
        /usr subpartition:      /dev/hd3c       rest of hd3

Hit return if everything looks fine, or hit DEL to bail out if you want to
think it over.  The next step will destroy /dev/hd3.
:

	+-------------------------------------------------------+
	| Let's destroy some zeros and ones, I hit ENTER:       |
	+-------------------------------------------------------+

Migrating from floppy to disk...


Scanning /dev/hd3c for bad blocks.  (Hit DEL to stop the scan if are absolutely
sure that there can not be any bad blocks.  Otherwise just wait.)

cp /fd0/etc/hostname.file /mnt/etc/hostname.file
cp /fd0/etc/motd /mnt/etc/motd

	+-------------------------------------------------------+
	| Lots of files are put on the disk.  It is a combined  |
	| ROOT+USR diskette, so both parts are installed with-  |
	| out pause.  When done I am greeted with the following |
	| message, showing that Minix has a short memory,       |
	| because at boot it said: Memory size = 8010K.  I      |
	| could type 8010, but ENTER will do.
	+-------------------------------------------------------+

mkdir /mnt/root
mkdir /mnt/tmp
cp /fd0/.ellepro.b1 /mnt/.ellepro.b1
/dev/fd0 unmounted from /fd0
/dev/hd3a unmounted from /mnt

What is the memory size of this system in kilobytes? [4096 or more]
Second level file system block cache set to 1024 kb.

	+-------------------------------------------------------+
	| Setup is now done with the migration to disk, so it   |
	| wants me to type 'halt' and 'boot hd3'.  It says      |
	| "please", so I comply:                                |
	+-------------------------------------------------------+

Please insert the installation ROOT floppy and type 'halt' to exit Minix.
You can type 'boot hd3' to try the newly installed Minix system.  See
"TESTING" in the usage manual.
# halt
System Halted
fd0>boot hd3

Minix 2.0.0  Copyright 1997 Prentice-Hall, Inc.

Executing in 32-bit protected mode

at-hd0: Conner Peripherals 240MB - CP2251

Memory size = 8010K   MINIX = 295K   RAM disk = 1024K   Available = 6692K

Tue Oct  1 16:39:24 MET 1996
/dev/hd3c is read-write mounted on /usr
Starting standard daemons: update.

Login as root and run 'setup /usr' to install floppy sets.

Minix  Release 2.0 Version 0

noname login:

	+-------------------------------------------------------+
	| Type 'root' and 'setup /usr'.  ENTER, ENTER, input    |
	| floppy 1 of the USR.TAZ set, and ENTER.               |
	+-------------------------------------------------------+

noname login: root
# setup /usr

What is the size of the images on the diskettes? [all]
What floppy drive to use? [0]
Please insert input volume 1 and hit return

created directory: local/lib
created directory: local/man
created directory: local/src
created directory: man
Can't make directory mdec: File exists

	+-------------------------------------------------------+
	| Usage(8) warns about this "File exists" message, and  |
	| that it doesn't matter.  Otherwise this would go      |
	| wrong:                                                |
	+-------------------------------------------------------+

mdec/boot, 050 tape blocks
mdec/bootblock, 01 tape blocks
mdec/extboot, 01 tape blocks

	+-------------------------------------------------------+
	| Lots of files installed, I add floppy 2 and 3 of      |
	| USR.TAZ when it asks for them.  When done I type      |
	| "setup /usr" again for SYS.TAZ, and once more for     |
	| CMD.TAZ.  Five floppies later and I'm done.           |
	+-------------------------------------------------------+

src/commands/talkd/talk.h, 03 tape blocks
src/commands/talkd/talkd.c, 03 tape blocks
src/commands/talkd/talkd.h, 01 tape blocks
/tmp/LAST, 0 tape blocks
Done.

	+-------------------------------------------------------+
	| As an example I give the system the name "finiah",    |
	| but seeing one of Michael Temari's network programs   |
	| extracted inspires me to make a network kernel.  Log  |
	| in as 'bin' and bring <minix/config.h> into the one   |
	| true editor of the aging computer geek:               |
	+-------------------------------------------------------+

# echo finiah >/etc/hostname.file
# ^D
Minix  Release 2.0 Version 0

finiah login: bin
! vi /usr/include/minix/config.h

	+-------------------------------------------------------+
	| I change the following parameters for more processes, |
	| a bigger cache, no 2nd level cache, networking, only  |
	| the AT/IDE disk driver and 4 pseudo ttys for remote   |
	| login:                                                |
	+-------------------------------------------------------+

#define NR_PROCS          40

#if (MACHINE == IBM_PC && _WORD_SIZE == 4)
#define NR_BUFS         1024	/* # blocks in the buffer cache */
#define NR_BUF_HASH     2048	/* size of buf hash table; MUST BE POWER OF 2*/
#endif

#define ENABLE_CACHE2      0

#define ENABLE_NETWORKING  1	/* enable TCP/IP code */
#define ENABLE_AT_WINI     1	/* enable AT winchester driver */
#define ENABLE_BIOS_WINI   0	/* enable BIOS winchester driver */
#define ENABLE_ESDI_WINI   0	/* enable ESDI winchester driver */
#define ENABLE_XT_WINI     0	/* enable XT winchester driver */
#define ENABLE_ADAPTEC_SCSI 0	/* enable ADAPTEC SCSI driver */

#define	NR_PTYS		   4	/* # pseudo terminals (0 to 64) */

	+-------------------------------------------------------+
	| The main kernel Makefile is in /usr/src/tools.  The   |
	| command 'make hdboot' compiles a new image and puts   |
	| it in /minix/, next to the distribution kernel:       |
	+-------------------------------------------------------+

! cd tools/
! make hdboot

	+-------------------------------------------------------+

        generic/tcp_send.o generic/udp.o
exec cc -c -m -I. -I.. -I/usr/include putk.c
exec cc -o inet -i inet.a putk.o
install -S 10k inet
exec cc -O -D_MINIX -D_POSIX_SOURCE init.c -o init
install -S 192w init
installboot -image image ../kernel/kernel ../mm/mm ../fs/fs ../inet/inet init
    text    data     bss     size
   54432    9000   38624   102056  ../kernel/kernel
   12544    1176   32072    45792  ../mm/mm
   28816    2196 1101676  1132688  ../fs/fs
   66480    7420   94400   168300  ../inet/inet
    6828    2032    1356    10216  init
  ------  ------  ------  -------
  169100   21824 1268128  1459052  total
exec sh mkboot hdboot
cp image /dev/hd3a:/minix/2.0.0r0
Done.

	+-------------------------------------------------------+
	| Shut the system down to return to the boot monitor.   |
	| The 2nd level cache is no longer needed, so I set the |
	| RAM disk size to zero.  The NE2000 card of the note-  |
	| book is at I/O address 300, IRQ 5.  Save and boot.    |
	+-------------------------------------------------------+

! shutdown

Broadcast message from bin@finiah (console)

Tue Oct  1 18:08:49 1996...

The system will shutdown NOW

System Halted
hd3a>unset ramsize
hd3a>DPETH0=300:5
hd3a>save
hd3a>boot

	+-------------------------------------------------------+
	| The new boot messages show that things have changed.  |
	| The ethernet driver has found an NE2000, the larger   |
	| block cache has made the kernel (MINIX) larger, and   |
	| the RAM disk is done away with.  One of my other PC's |
	| has seen fit to answer the RARP request (here is my   |
	| ethernet address, what is my IP address?) of my       |
	| notebook, but the notebook doesn't yet know how to    |
	| translate 127.36.93.27 to its own name yet.           |
	+-------------------------------------------------------+

Minix 2.0.0  Copyright 1997 Prentice-Hall, Inc.

Executing in 32-bit protected mode

ne2000: NE2000 at 300:5
at-hd0: Conner Peripherals 240MB - CP2251

Memory size = 8010K   MINIX =1441K   RAM disk =    0K   Available = 6569K

Tue Oct  1 18:12:41 MET 1996
/dev/hd3c is read-write mounted on /usr
Starting standard daemons: update.
Starting network daemons:  rarpd nonamed irdpd talkd.
Starting network services: shell login telnet ftp.

Minix  Release 2.0 Version 0

127.36.93.27 login: root
#
	+-------------------------------------------------------+
	| Let's be lazy and make this machine get its naming    |
	| information from its neighbour.  To make it stand on  |
	| its own I would have to create an /etc/ethers and an  |
	| /etc/hosts.  Reboot and all is well.                  |
	+-------------------------------------------------------+

# echo nameserver 127.36.93.25 >/etc/resolv.conf
# shutdown -r

