The Minix operating system was created by Andrew S. Tanenbaum and inspired Linus Torvalds in creation of Linux operating system.
Andrew S. Tanenbaum wrote two reference books in Computer Science Modern Operating Systems and Computer Networks
MINIX 3 is a free, open-source, operating system designed to be highly reliable, flexible, and secure. It is based on a tiny microkernel running in kernel mode with the rest of the operating system running as a number of isolated, protected, processes in user mode. It runs on x86 and ARM CPUs, is compatible with NetBSD, and runs thousands of NetBSD packages.
Install depedencies
Before attempting to cross-compile MINIX, you need a working C toolchain, Git and some additional software on your host platform.
For Debian-based operating systems, run the following command as super-user:
Note: Also on Ubuntu, if you get an error stating that “'/lib/cpp' fails sanity check”, you need to install the GNU C++ compiler:
Note: On FreeBSD and Minix (compiling for ARM on x86, e.g.), if you get a message along the lines of “Skipping image creation: missing tool 'mcopy'”, please install the emulators/mtools package.
Getting the sources
Once the required tools are installed, the next step is to obtain the sources. Run the following commands in a terminal:
NOTE: The releasetools script will generate object files and put them outside the source directory; i.e., if you've cloned to ~/minix/src/ and build from there, things will start showing up in ~/minix/ as an artifact of the build process.
Cross-building for x86
It's time to build MINIX itself. There are some wrapper scripts that will build ready-to-boot images from scratch (i.e. just the minix source tree) for either x86 or ARM. These scripts produce a lot of output and will take a while to complete the first time - a cross-toolchain based on LLVM is built from scratch.
A command line for running the result in a KVM virtual machine is printed at the end of the process.
To install quemu run:
To boot this image on kvm using the bootloader:
Top comments (0)