CD-based MINIX
Table of Contents
- Background
- Goals
- Download
- Summary of the CD-ROM Contents
- Booting the Kernel from Floppy and Loading the
Root Filesystem from CD-ROM - Detailed Explanation
- Booting MINIX Directly from CD-ROM - Detailed
Explanation
- Known Issues
- Acknowledgements
- Links
- License
- Maintainers
MINIX 2, from which this project is derived, is an operating system
developed for educational purposes. For more information about
MINIX and its authors, see the Links section.
The goal of this project is to develop a MINIX distribution that
would comply with the following requirements:
- A student using the distribution in a classroom should be given
the freedom to modify the internals of MINIX, whereas his or
her workstation should be easily restorable to its initial
state. In order to satisfy this requirement, this distribution
loads the root filesystem into a RAM disk at start-up.
- The distribution should be easily portable to the personal
computers belonging to the students. This implies that it
should be unnecessary to install MINIX on the hard drive. In order
to satisfy this requirement, this distribution loads the root
filesystem entirely from CD-ROM. The boot process can be
initiated either from floppy or directly from CD-ROM. (Initiating
the boot process from CD-ROM, however, involves a problem, see
Known Issues.)
- It should be possible to boot MINIX using a custom
kernel with modifications made by a student. In order to
satisfy this requirement, this distribution can be booted from a
floppy disk with the custom kernel.
The ISO image of the CD-based Distribution v. 0.8 of MINIX v.
2.0.3, compressed with gzip (28MB), is available from the following
locations:
For basic information about this distribution, see the README.TXT
file located in the root directory of the CD-ROM.
- The original MINIX 2.0.3 interim release, located in the /MINIX
directory.
- The source code patches developed in the course of this
project. They are located in the /MINIX/ADDONS/BOOTCD directory,
which also contains a README.TXT file that refers to the
patches.
- General information about the distribution, located in the
README.TXT file in the root directory of the CD-ROM.
- The BIOS loads the bootmonitor from the floppy disk. The
bootmonitor uses BIOS commands to access the floppy disk and loads
the kernel.
- The kernel uses the ATAPI driver to access the root
filesystem's image, which is stored on the CD-ROM in accordance to
the El Torito Bootable CD Specification. Next, the kernel copies
the image into the RAM disk. The size of the image is 1.44MB but
its file system is specifically tailored to have the maximum
capacity of 32MB so that the additional space can be used in the
RAM disk.
- The /etc/rc script reads the original MINIX archives from the
CD-ROM using the isoread tool and decompresses them on the fly into
the RAM disk.
- The /etc/rc script patches the MINIX sources with the patches
developed in the course of this project.
- All 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 the students
experiment with shell commands or the kernel. If the device nodes
are needed, they can be recreated at run-time with MAKEDEV (see the
MAKEDEV.8 manual page for usage information).
It is then possible to make changes to the kernel's source code,
compile the kernel and store it on a floppy disk with 'make fdboot'
and boot the floppy. The boot parameters on the floppy disk are
automatically set to have the filesystem loaded from CD-ROM.
- The BIOS recognizes the CD-ROM as bootable and conforming to
the El Torito Bootable CD Specification. The BIOS emulates a
virtual A: drive pointing to the 1.44MB filesystem image stored on
the CD.
- The BIOS loads the bootmonitor from the emulated drive. The
bootmonitor uses BIOS commands to access the filesystem on the
emulated drive and loads the kernel.
- Same as in the previous section, beginning at point 2.
- Occurs only if the boot process is initiated from CD-ROM. When
the ls command is issued in the bootmonitor, the system
freezes immediately after displaying the contents of the emulated
A: drive's current directory. If the command is never executed, the
system can be successfully booted. Then, if the system is shut
down, it freezes after returning to the bootmonitor. It is
currently thought that this behaviour results from the
bootmonitor's incompatibility with the BIOS-emulated drive. These
problems do not occur if the boot process of the distribution is
initiated from floppy.
The developers of MINIX for creating an operating system
excellent for educational purposes.
All the contributors who have sent countless add-ons to MINIX.
The MINIX operating system is Copyright © 1987, 1997 by
Prentice Hall and released under a BSD-like license.
The CD-based MINIX distribution has been assembled in the course of
the CD-based Environment for Teaching Operating Systems
Project.
The source code patches developed for CD-based Environment for
Teaching Operating Systems Project are Copyright © 2003 by
Aleksander Korzynski and released under the BSD license.
The webpages and documentation written for the CD-based Environment
for Teaching Operating Systems Project are Copyright © 2003,
2006 by the CD-based Environment for Teaching Operating Systems
Project. See license terms.
- Warsaw University of Technology in Warsaw, Poland
- Aleksander Korzynski
- Primary Maintainer
- dr Tomasz J. Kruk
- Project idea
- Project's Homepage: http://studia.elka.pw.edu.pl/prog/minix/
E-mail:
minix
AT
elka.pw.edu.pl
This website © 2006 The CD-based Environment for
Teaching Operating Systems Project. See license terms.
Maintainer: Aleksander Korzynski
Last modified: October 6th, 2006