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