====== Running MINIX 3 on QEMU and KVM ======
This page describes the process of installing MINIX 3 on QEMU and KVM.
===== Preliminaries =====
Please install [[http://www.qemu.org|QEMU]] or [[http://www.linux-kvm.org|KVM]]. QEMU and KVM sources can be downloaded from their webpage. If you're running a Linux distribution, you can install QEMU and KVM via the package manager.
===== Virtual Machine Setup =====
Before you install Minix 3, you will need to create a new virtual machine configuration. The VM configuration specifies the parameters of your Virtual machine, e.g., how much memory you want the VM to use, how big you want the virtual hard disk to be, etc.
Open a terminal, change directory to where you want to create the Hard Disk Image, and write:
# qemu-img create minix.img 2G
This will create a 2GB hard disk image named //minix.img//, which we will use to install the operating system.
===== Installation =====
Assuming you have downloaded and decompressed a MINIX 3 ISO image from the [[http://www.minix3.org/download|download page]], you can mount the ISO file:
# qemu -localtime -net user -net nic -m 256 -cdrom minix.iso -hda minix.img -boot d
where //minix.iso// is the .iso we downloaded earlier(which is mounted as cdrom), //minix.img// is the disk image we created, and 256 is the amount of memory dedicated to the Virtual Machine. The option //-boot d// makes sure that we boot from the cdrom.
Then you can follow the [[.:doinginstallation#runningsetup|normal installation instructions]].
When the installation is over, type
shutdown
to exit Minix.
When you get the **cd>** type **off** in order to shutdown the Virtual Machine.
===== Booting MINIX 3 =====
Now you have installed MINIX 3 on the virtual machine. To boot minix from the virtual disk image, type:
# qemu -localtime -net user -net nic -m 256 -hda minix.img
===== Post-install Configuration =====
You should read [[.:postinstallation|Post Installation]] for some configuration tips.
===== Known problems =====
MINIX 3.1.3-3.1.6 do not boot on KVM 0.12.2. Use an older version (such as 0.11.x) or plain QEMU without KVM acceleration.
===== Workarounds =====
==== QEMU 0.9.x with MINIX 3 releases before 3.1.4. ====
Hit ESC quickly when you see the bootloader offer to boot into MINIX.
If you didn't manage to hit ESC quickly enough, don't worry. Boot into MINIX, ignore any errors related to the network, and shutdown MINIX which will also get you into the bootloader. Assuming you hit ESC right away, your screen will look something like this. Set the qemu_pci=1 option in the bootloader and save it. You need to do this just once.
By default, MINIX 3 will automatically load in 3 seconds.
Press ESC to enter the monitor for special configuration.
Hit a key as follows:
1 Start MINIX 3
2 Start Small MINIX 3 (uses less memory)
3 Start Custom MINIX 3
[ESC]
d0p0s0>qemu_pci=1
d0p0s0>save
d0p0s0>boot
Now you should be able to boot into MINIX 3 installed on your hard disk image and have the network enabled as well.
==== QEMU 0.14.1 ====
Qemu 0.14.1 is known to have issues with rebooting; it appears as if the boot menu is frozen. This problem is fixed in at least version 1.0.50, but maybe also in earlier versions.
You can compile the newest version from git on Ubuntu as follows:
$ sudo apt-get update
$ sudo apt-get install git build-essential libsdl-dev libglib2.0-0 libglib2.0-dev zlib1g-dev
$ git clone git://git.qemu.org/qemu.git qemu
$ cd qemu
$ ./configure --target-list=x86_64-softmmu --enable-sdl --enable-kvm
$ make
$ sudo make install
Qemu will be installed in /usr/local/bin/qemu-system-x86_64.