I want to introduce a UNIX teaching system to you called Minix which means Mini Unix. A quite interesting system, is licensed under a BSD license and comes with pkgin package manager.
During the last years no new versions were released – the current stable version is 3.3.0 since the year 2014.
I used Virtual Box for my tutorial. VirtualBox is a software to virtualize other systems in a kind of a container. The virtual “container” is then isolated from the rest of the host system. This means that you can run two or more operating systems on the same hardware. In our case we use the host system, which can be a Windows or a Linux and then we use Minix as a virtual guest.
Minix is a small system and the download has approximately 288 Megabytes. Very low RAM is used by Minix and a modern computer can easily run Minix as a VirtualBox guest.
1. Download Minix
First of all download Minix 3.3.0 from here:
http://download.minix3.org/iso/minix_R3.3.0-588a35b.iso.bz2
Recognize that as http URL is used instead a https URL. Some modern browsers will give some kind of warning when downloading this file.
After the download completed, it is necessary to extract the compressed bz2 file. In Windows you can use “7 Zip” and under Ubuntu there is a binary called “bzip2” which can be used for extraction. Finally you will hat a ISO (DVD image) file.
2. Create a Virtual Box Guest
Create a new virtual machine with around 800 Megabytes of RAM (i.e. VirtualBox) and boot the VM with the ISO file. Minix will also run if you assign less RAM but the performance will be poor. You will find information about how to use VirtualBox easily in the internet. Also how to boot from the ISO file is well described in the internet.
3. Setup
After starting the virtual guest you should log in with root privileges (no password). After logging in run the command to start the installation:
setup
During the setup select your preferred language, select automatic installation mode rather than expert mode and select the appropriate disk for the installation.
Around 8000 files will be installed.
4. Network Interface Card Selection
Important! Select the appropriate NIC – I selected number 9, the VirtualBox driver.
5.Network Settings
Next question was about using DHCP or manually config. I choosed DHCP in my testlab.6. Eject the ISO file
Shutdown the VirtualBox guest (the Minix), eject the ISO file from the virtual guest and start the VM again. To eject the ISO is necessary so that when you boot the virtual guest next time the already installed Minix is started instead of the setup procedure again.
7. Start Minix
The Bootloader appears. Select number 1 and login as root with no password.
8.Verify the Network Configuration
ifconfig
does the same job as in Linux. In a modern Linux the command is mostly “ip a”. The equivalent in Windows would be “ipconfig”. If executed, it shows the IP address configuration of Minix.
9. Software installation
For software installation use for example:
pkgin update
pkgin search ssh
pkgin openssh-6.6.1
or
pkgin install bash
The commands above install the “Secure Shell” (SSH) which is a software for accessing remote system in a secure way. You will find tons of information in the internet about it. The “bash” is a command interpreter an is widely used in Linux. With the command above the “bash” is installed in Minix.
10. Add Repositories
But at this point we are very limited. There are too less packages available for installation. So we must add another repository. This is done in this file:/usr/pkg/etc/pkgin/repositories.conf
Uncomment this repository and change ftp:// to http:// :http://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/i386/5.1/All/
and give a hash to the http://www.minix3.org/ … repo.
11. Synchronize the Repositories
Do:
pkgin clean
pkgin update
12. Add Software
Now we have a huge package list available. We could now easily setup Samba, Apache, Postgres, Mysql or other more interesting stuff, servers and services. The mentioned software is popular Unix/Linux software and definitely worth to learn and know about.
13. Start a Service
Other good commands for testing purpose are:
sh /usr/pkg/etc/rc.d/sshd status
sh /usr/pkg/etc/rc.d/sshd start
This starts the previously installed Secure Shell Server or outputs the status of the server.
Conclusion
If you are interested to go beyond Linux this could be a nice way to do so. If you are Windows user, Minix could be an interesting stopover before exploring the exciting Linux world.
Keep in mind that originally the main purpose of Minix was to provide a UNIX teaching system. In my testlab the performance in the VirtualBox guest was not very impressive.
😉