[MINIX LOGO]

CD-based Minix 2.0.3 distribution

From:
Warsaw University of Technology, Poland
Main maintainer: Alexander Korzynski
Project idea: dr Tomasz J. Kruk
Project page: http://studia.elka.pw.edu.pl/prog/minix
Contact address: <minix@elka.pw.edu.pl>

21 Nov 2003


[HOME] [FAQ] [HINTS] [GET MINIX 2] [CONTRIB SOFTWARE]
[NET SOFTWARE] [DOCS] [TEACHING MINIX] [OTHER MINIXES] [LINKS]

Main aim of the project:

Providing a convenient working environment for teaching Operating Systems on the example of Minix. The environment is expected to fulfill the following conditions:

  1. The computer on which the distribution is running should be easily restorable to its initial state, no matter what (potentially catastrophic) changes a student makes to the operating system. This is the reason why it has been chosen to store the filesystem into RAM disk.

  2. The distribution should be easily portable to students' personal computers. It should not be required to alter in any way the hard drive of the computer it is running on. This is the reason why it has been chosen to load its filesystem entirely from CD-ROM.

  3. It should be possible to boot the distribution using a custom kernel. This is the reason why it has been chosen to start the booting process from a floppy disk, from where the kernel is loaded.

Note: at the time of this writing the distribution can be booted with a standard kernel directly from CD-ROM. This method is unrecommended though, as it results in at least one known problem (see Known Issues). In any case, in order to test a custom kernel the booting process of the distribution has to be started from a floppy disk.


Download:

The CD image that is the result of this project, compressed with gzip (28MB), is available from the following sites:

How to create a bootable floppy disk suitable for use with this distribution is described in the README.TXT file stored in the root directory on the CD.


Summary of the CD-ROM contents:

  1. The original Minix 2.0.3 interim release is stored in the /MINIX directory.

  2. The source code patch that enables Minix to load a filesystem image from CD-ROM into RAM disk is stored in the directory /MINIX/ADDONS/BOOTCD. The code is designed to access a filesystem image that is stored on the CD-ROM as described in the El Torito Bootable CD Specification. Because of that, the patch also enables Minix to be booted directly from CD-ROM. The directory also contains a README.TXT file which refers to the patch.

  3. A general README.TXT describing the distribution is stored in the root directory of the CD.


What happens when the distribution is booted with the usage of a floppy disk:

  1. The bootmonitor and the kernel are loaded from the floppy disk.

  2. The kernel, using the ATAPI driver, accesses a filesystem image, which is stored on the CD-ROM as described in the El Torito Bootable CD Specification, and copies it into RAM disk. The size of the image is 1.44MB but the file system is prepared in such a way that on load to RAM disk it is stretched to 32MB.

  3. By the /etc/rc script, the archives USR.TAZ and SRC.TAZ are read from the CD-ROM using the isoread tool and they are uncompressed on the fly into the RAM disk.

  4. The sources are then patched with the CD-booting patch, which is also read from the CD-ROM using isoread.

  5. The script /usr/src/tools/mkboot (which is needed for installing a freshly compiled, custom kernel) is also patched in order to make it compatible with the changes introduced by the CD-booting patch (more information about the changes to this script is available at /MINIX/ADDONS/BOOTCD/README.TXT).

  6. All the IDE device nodes in the /dev directory, except the one pointing to the CD-ROM device, are removed, in order to minimize the risk of accidental damage to hard drives when a student is experimenting with the kernel or shell commands. If the device nodes are needed they can be recreated at run-time with the command MAKEDEV (see the MAKEDEV.8 manual page for usage information).

  7. It is then possible to make changes to the kernel source code, compile the kernel with 'make fdboot', which will store the custom kernel on a floppy disk, and then boot the floppy disk with the custom kernel. The boot parameters on the floppy disk will be automatically set so that the filesystem will be loaded from CD-ROM.

What happens when the distribution is booted directly from CD-ROM:

  1. BIOS recognizes the CD-ROM as bootable and emulates the filesystem image, which is stored on the CD-ROM in the way described in the El Torito Bootable CD Specification, as drive A:

  2. The bootmonitor is loaded into memory from the emulated drive. Using BIOS commands, the bootmonitor accesses the filesystem on the emulated drive and loads the kernel.

  3. The kernel, using the ATAPI driver, accesses the filesystem image stored on the CD-ROM and copies it into RAM disk. The size of the image is 1.44MB but the file system is prepared in such a way that on load to RAM disk it is stretched to 32MB.

  4. Same as in the previous section, beginning at point 3.


Known issues:


Warsaw University of Technology, Poland
Main maintainer: Alexander Korzynski
Project idea: dr Tomasz J. Kruk
Project page: http://studia.elka.pw.edu.pl/prog/minix
Contact address: <minix@elka.pw.edu.pl>


[HOME] [FAQ] [HINTS] [GET MINIX 2] [CONTRIB SOFTWARE]
[NET SOFTWARE] [DOCS] [TEACHING MINIX] [OTHER MINIXES] [LINKS]

Please contact the original authors cited above for permission to copy.
All material on this site not otherwise attributed is copyright ©1994-2006 Albert S. Woodhull
Click here for information on copying and other use.
Mail comments on this page to: Al Woodhull <asw@woodhull.com>
[Viewable With Any Browser]
Valid CSS!
[Valid XHTML 1.0!]