Minix 2.0.3, bootable to an 8M RAM disk, version 0.1

modified: 11 Nov 2003

This file (originally posted 2003-03-13) documents some features of the m203b8r01.mnx floppy image. That means Minix 2.0.3, bootable to an 8M RAM disk, version 0.1. New articles on a Minix CD-Booting Patch and RAM Disks Bigger than 8 MBytes are also relevant.

The image file can be downloaded from: http://minix1.bio.umass.edu/pub/demos-2.0/bigRAM203/m203b8r01.mnx (or the corresponding directory on minix1.hampshire.edu). Install it on a floppy disk as you would install root.mnx.

The image was created by combining all files and directories on the standard i386 root.mnx and usr.mnx images into a single floppy disk image on a floppy with a file system containing 2032 i-nodes. The boot parameters are configured to create an 8M RAM disk (you may change this in the boot monitor to 2M or 4M if your computer has less than 10M of RAM). This image was created with three purposes in mind:

  1. As an alternative to the standard installation procedure one can start installation to the hard disk from the large RAM disk.

  2. For investigating the performance of Minix on a particular hardware configuration without actually installing. For instance, I have measured the speed of Minix using the dhrystone benchmark on many systems to which I have had temporary access.

  3. For doing real work under Minix without installing. For instance, I wrote the original version of this document on a system on which I don't have a hard disk install of Minix. One can explore the Minix system, experiment with shell scripts, perhaps even do simple C programming, on such a system.

  4. This was also intended as a first try at making an image that can be used as the bootable image for a bootable Minix CD-ROM. This version does not work (it will crash when it tries to copy the image to the RAM disk), but the problem has been solved by others with a patch to copy from CD-ROM to RAM disk.

In addition to the standard executables needed to start a conventional install that are part of the root.mnx and usr.mnx images, this boot image includes a number of additional utilities I find useful or that satisfy my prejudices (for instance, I'd rather use vi than mined and I can't live without more). Also, the /dev directory includes devices to support reading multiple hard disks and cd-roms.

My intention is to provide a CD-ROM image that will boot this and provide all of the archives needed to complete installation to the hard drive. When this system is booted you'll see this (from /etc/issue):

Your ATAPI CD-ROM can be identified by using the isoinfo command to test various devices, for instance:

  # isoinfo /dev/c0d1  (try /dev/c0d1, /dev/c0d2, /dev/c0d3 until one works).
Use isodir to investigate the CD-ROM contents:
  # isodir /dev/c0d1
Use isoread to copy installation archives from the CD-ROM to the RAM disk or the hard disk:
  # isoread /dev/c0d1 i386/USR.TAZ > /usr/usr.taz
  # isoread /dev/c0d1 i386/NET.TAZ > /net.taz
Note that net.taz is intended to be unpacked in the root directories, other archives unpack in /usr. Also, you won't really be able to unpack src.taz and cmd.taz on the RAM disk, you'll have to install to the hard disk first. Follow the instructions in the file usage.txt (the usage.8 man page) to complete setup. You can read it with isoread:
  # isoread /dev/c0d1 usage.txt | more
You should probably print hard copy of usage.txt before you start.

Another way to do an installation, or to get more of Minix into the RAM disk, is to precopy the various *.TAZ files to a Windows FAT partition. There are two tools provided to copy files from there to a Minix disk.

Note the differences in the syntax, for dosread it is:
   <command> <device> <dos_path>
...and output goes to stdout. For mtools it is:
   mtools <command> <device:dos_path> <minix_path>
A variant of this technique is to make a boot floppy that boots a networked Minix to a large RAM with a subset of the files provided in the net.taz archive adequate to obtain the rest of the installation archives over the net. To fit this on a single floppy some other things must be deleted, and you won't have a generally useful system. But if you are willing to boot from one floppy and then load additional files to the RAM disk from a second floppy you can have a fairly useful system, even a small server, running on the RAM disk.

Without some tinkering Minix cannot boot to a RAM disk bigger than 8M. If you have lots of RAM a larger RAM disk can be specified in the boot monitor, but the file system data structures on a floppy will only support copying to the first 8M. [However, this can be changed, see this article]. Or, if you are willing to have the root on a floppy drive you can create a larger RAM disk, use mkfs to make a large file system on it after booting, and then mount it on your root device.


All material on this site not otherwise attributed is copyright ©1994-2003 Albert S. Woodhull
Click here for information on copying and other use.
Mail comments on this page to: Al Woodhull <awoodhull@hampshire.edu>
Viewable With Any Browser