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
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:
-
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.
-
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.
-
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:
- The original Minix 2.0.3 interim release is stored in the /MINIX
directory.
-
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.
-
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:
-
The bootmonitor and the kernel are loaded from the floppy disk.
-
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.
-
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.
-
The sources are then patched with the CD-booting patch, which is
also read from the CD-ROM using isoread.
-
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).
-
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).
-
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:
-
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:
-
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.
-
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.
-
Same as in the previous section, beginning at point 3.
-
Occurs only if the distribution has been booted directly from CD-ROM.
Upon shutdown the system freezes immediately after returning to the
bootmonitor. Another symptom of, most likely, the same bug is that if in the
beginning of the boot process the command ls is issued in the
bootmonitor, the system freezes immediately after displaying
on the screen the contents of the current directory on the
emulated A: drive. If the command is not issued the system can be successfully
booted. It is currently thought that this behaviour is the result of
bootmonitor's incompatibility with the BIOS-emulated drive. The problem does not
occur if the booting process is started from a floppy disk.
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>
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>