Minix on a 512K PC

modified: Thu Feb 6 19:22:31 EST 1997


Installing Minix 2.0.0 to an XT. 
I had a super computer Commodore PC 20 sitting in the corner without any
use. To make it useful for studying unix I decided to try to install the 
Tinyminix into it using Johan Lindqvist's earlier experience to help me.

This computer has an 8088 processor, 512 K memory and 360 K / 10 M disks.
The first hint: writing with fdvol in a 1.2 drive creates tracks more
narrow than what 360 drives use. This seemed to cause pretty many errors
until I started to use the same 360 drive for writing as well. The 
Tinyroot fits easily in one floppy but Tinyroots are too big as such. But
after pkzip they both fit into one single 360 floppy and can be opened
in the hard disk.

1)  For these purposes I used fdisk to partition the hd to two parts:
about 30 cylinders ( 1 MB ) for dos 2.11 which takes only 65 000 bytes
without some unnecessary programs and fdvol etc. The rest ( 9 M ) was left
for minix. And here you have the real installation, which is more
educating than the normal automatic installation:
2)  You boot with the Tinyroot diskette. Hit '=' to start minix. You'll see
messages like "memory=512 minix=173 RAM disk=200 available=139"

3)  When asked for the date either give it or wait a few seconds and hit

4)  Asked for the device to mount as /usr change first the Tinyusr1 diskette
in, fill up the ":/dev/fd0" and hit enter.

5)  Login as "root".

Now we get to the interesting part. With this little memory you cannot
run many programs as long as the shell is taking up space. Test it by
saying "ls" and you get the message "ls : cannot execute". Instead, try
"exec ls" and that will work because the shell will die and give all the
space to ls. But after every 'exec' command we will have to login again
as 'root'. Because killing the shell is like saying "exit".

6)  Run "exec setup". For messages see the explanations by Kees Bot.
The list of keyboard types will not appear because of the low memory.

7)  I type "scandinavn" when asked for the keyboard. Sometimes even the
question does not appear at all.

8)  We go until 'part' where you hit 'r' to read the partition table.

9)  Move with arrows to the hd2 line and at the last cylinder hit 'm'
to get the rest of disk for minix. 
( When practicing I change the first cylinder every time a little because
else the installing program may find old file systems from there )

10) Move to the start of 'hd2' line and hit '+' to make it active.
11) Hit 'w' and answer 'y' to save the partition table.

12) Hit 'q' and fill up "hd2" for the primary partition when asked.
Now the installation script tries to scan for bad sectors etc but
usually just complains ( sometimes freezes there ) till you have to
login again. Here we start the real manual installation :

13) "exec mkfs dev/hd2c" to create a file system to the hard disk.

14) If you have not yet scanned for bad blocks in this disk, run
"exec readall -b dev/hd2c | sh".  If you know for sure that the disk
has no bad block, you can skip this slow phase.

15) "mount dev/hd2c  mnt" to connect the hard disk /usr-directory here.
16) "cpdir -v  usr  mnt" to copy Tinyusr1 diskette there.
17) "umount dev/hd2c"    to disconnect the hd for a while
18) "umount dev/fd0"     to disconnect the floppy ( this must be done
     before taking the floppy out). Now change the Tinyroot back in.

19) "mount dev/hd2c  usr"  to connect one hd partition to /usr
20) "exec mkfs -i 512 dev/hd2a"  creat a file system to /root

21) "mount dev/fd0 fd0"      connect the new floppy to directory fd0
22) "mount dev/hd2a mnt"     connect the /root from hard disk to /mnt
23) "cpdir -v fd0 mnt"       copy all root files from diskette to /root

If for some reason you have to reboot somewhere here, the next time you
again boot with the diskette but when asked for the /usr you can give
'/dev/hd2c' instead of /dev/fd0' and take the floppy out there.

24) "umount dev/fd0"     to disconnect the floppy Tinyroot
25) "rm mnt/etc/issue"  remove a file to discard the 'use setup' message

Now the booting partition /root needs one file more from Tinyusr2 !!
26) Switch Tinyusr2 in and say
   "mount dev/fd0 fd0" to connect it in.

27) "cp fd0/tmp/2.0.0  mnt/minix"  copy the boot image to hard disk.
28) "cp fd0/bin/*  usr/bin"    while you are there, copy other programs also.

Now we have to modify one file used at start up:
29) "exec mined  mnt/etc/fstab"
   Edit lines to
   Hit ctr-'x' to exit and say 'y' to save.

30) "umount dev/hd2a" to disconnect the booting directory.
31) "exec installboot -d dev/hd2a  usr/mdec/bootblock  boot"  to make
    sure that it will boot - often will not work without this line.

32) "umount dev/fd0"  This line is not really needed, because rebooting
will cut the connection anyway.

33) Now we are in the exciting part : check if it works. Take the floppy
    out and say 'reboot' or 'halt' to boot the computer again.
    At '= Start Minix' hit '='. Booting should continue until told that
    'RAM disk is too big'... looks really good. Let's reboot once again.

34) This time at boot monitor hit 'esc' to get to 'hd2a>'. "help" gives
    possible commands. Tell it these:
    and reboot again ! Heureka ! We made it and can login as 'root'.

But the keys are again American. So I say:
35) "cp usr/lib/keymaps/  etc/keymap" and say "reboot" (or halt)
    again. The next time keys are correct.

At the boot monitor we can always hit 'esc' and after that say "boot hd1"
to start DOS - but as the last step we want to create a multiboot switch.
Reboot again and after hitting 'esc' type
   "minix(=,Start Minix) {boot}"
   "dos(d,Start DOS) {boot hd1}"
Now with every boot you can choose which one to use...
  Hannu Hakkinen

Date: Wed, 5 Feb 1997 20:28:17 +0200 (EET)
From: Haka Hakkinen <>
Subject: Re: small memory