====== Running on VMware ======
This page describes the process of installing MINIX 3 on VMWare.
===== Preliminaries =====
Please install [[http://www.vmware.com/|VMWare]]. VMWare binaries can be downloaded from their webpage.
===== 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.
==== Create a Virtual Machine -- VMware Server ====
In the main menu of VMware, select **New Virtual Machine**.
- Press **Next** in the Welcoming Screen.
- At the //Virtual machine configuration// menu, we select **Typical**.
- At the //Select a Guest Operating System//, select **Other** and Version **Other**.
- For //Virtual Machine Name//, write **Minix3** (anything would work).
- At the //Network Type// screen, select **Use bridged networking**.
- For //Disk Capacity//, enter something around 2GBs, although even smaller values would work. That is the size of the virtual partition where Minix will be installed. Tick the **Allocate all disk space now**.
- Pressing **Finish** will create the Disk Image and the Virtual Machine that we will run.
==== Create a Virtual Machine -- VMware Workstation and VMware Player (version > 3) ====
In the main menu of VMware, select **New Virtual Machine**.
- At the //Wizard//, select **Typical**; and then, press **Next**.
- For the //Guest Operating System Installation//, select **I will install the operating system later**; and then, press **Next**.
- At the //Select a Guest Operating System//, select **Other** and Version **Other**.
- For //Virtual Machine Name//, enter **Minix3** or some other meaningful name.
- At the //Specify Disk Capacity//, enter 2GBs, which is enough for all packages and sources. You can make it larger if you need to add more source files.
- At the //Ready to Create Virtual Machine//, ensure that **Power on this virtual machine after creation** is not checked; and then, press **Finish**.
You will need to edit the memory settings according to your needs. In the //Devices// section, select the **Memory**, and adjust the memory accordingly. Note that, in order to run the //X Window System// on Minix, you need at least 384MB.
==== Create a Virtual Machine -- VMware Player (version < 3) ====
If you are using the free VMware Player, you do not have the ability to create new virtual machines. The simplest way around that is to use [[http://www.easyvmx.com/|EasyVMX]] to create your new (empty) virtual machines. (Note: easyvmx seems to be a dead project as of 12/2016)
- Choose the **Super Simple** virtual machine creator at http://www.easyvmx.com/.
- Name the machine whatever you want.
- Operating System: **Other OS** (Note: choose the one that is //NOT// 64-bit).
- Choose appropriate memory and storage sizes (e.g., 512 MB Memory and 2GB storage).
- Don't worry about the //LiveCD ISO//, leave that blank (it will be dealt with, later).
- Press **Create Virtual Machine**.
- Download the compressed file, and unpack it. It should contain a directory with a bunch of VMware files.
- Start VMware Player, choose **Open an existing virtual machine**, and select the ''.vmx'' file in the directory you just unpacked.
- Once the virtual machine starts, go to the //Devices// Menu; and, in the //CD/DVD// item, choose **Connect to Disk Image File (iso)**. Select the Minix3 ISO that you downloaded from the Minix 3 web-site.
- If necessary, reset the machine with **Ctrl+R**; and, it will boot from the ISO.
==== 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:
- Select **Minix3** in the //Inventory List// on the left.
- In the //Devices// section, double-click on **CD-ROM**.
- Select **Use ISO Image**.
- Browse, and select the **.iso** Minix image that you downloaded earlier.
Then you can follow the [[.:doinginstallation#runningsetup|normal installation instructions]].
When the installation is over, type
shutdown
When you get the //d0p0s0>// prompt, enter **off** to shutdown the Virtual Machine.
===== Booting MINIX 3 =====
Now, you have installed MINIX 3 on the virtual machine. First thing that needs to be sorted is that, next time you boot, you want to boot from the operating system, and not from the CD image.
- In the //Devices// section, double-click on **CD-ROM**.
- Select **Use Physical Drive**.
Great, now you can boot into the newly installed operating system.
- Select **Minix3** on the //Inventory List// on the left.
- In the //Commands// menu, Press **Start this Virtual Machine**.
===== Post-install Configuration =====
You should read [[.:postinstallation|Post Installation]] for some configuration tips.
==== X.org ====
Like in other visualization tools, Minix can't get the screen resolution right under VMware. To get X11 running in the desired resolution, you start by generating an xorg.conf file using the command
Xorg -configure
This creates a file //xorg.conf.new// in your home directory. This needs to be completed manually, so edit it and fix the //Monitor// section so that it reads:
Section "Monitor"
Identifier "Monitor0"
VendorName "vmware"
ModelName "VMWare Inc"
HorizSync 1.0 - 10000.0
VertRefresh 1.0 - 10000.0
ModeLine "800x600" 100.0 800 900 1000 1100 600 700 800 900
ModeLine "1024x768" 100.0 1024 1100 1200 1300 768 800 900 1000
ModeLine "1366x768" 100.0 1360 1400 1500 1600 768 800 900 1000
EndSection
You may need to add another ModeLine for the resolution of your actual screen (if you want to run in full screen mode). This isn't rocket science under VMware, since most of the parameters really don't matter much. Of the ModeLine for "1024x768", all that really matters are the 1024 and the 768. The 100.0 is the refresh rate in Hz, which is pretty much ignored under VMware (the host controls that). All the other timing values (which are important when using a physical machine with a physical monitor) are just rounded up to the next 100. So a ModeLine to display on your HDTV would read
ModeLine "1920x1080" 100.0 1920 2000 2100 2200 1080 1100 1200 1300
Keep in mind that in the current version of the X-server, the Xresolution must be a multiple of 8 pixels. That is why the ModeLine for "1366x768" uses 1360 as display width, wasting 6 physically present columns of the real screen (of my notebook).
Next you have to fix the //Screen// section of the file. Edit it so that is looks like this:
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1366x768"
EndSubSection
EndSection
Where //Modes// actually contains the label of the //ModeLine// with the resolution you want.
Save the file and copy it to ///usr/pkg/X11R6/lib/X11/xorg.conf//.
==== Shared Folders ====
VMWare shared folders are supported in much the same way as VirtualBox ones. After defining a shared folder, simply mount it with:
''mount -t hgfs -o share=NAME none /mnt''
Then you can access it under:
''cd /mnt/NAME''
===== Workarounds =====
==== Lance workaround ====
In Minix 3.1.5, after working correctly for a period of time, the lance driver may stop working silently, causing all network traffic to be dropped for some period of time. Workaround: when this happens, run "service refresh lance" as root to restart the lance driver. This issue has been fixed in the Minix trunk available from Subversion.
In Minix 3.1.3, the Lance driver set-up is broken, resulting in **no network support** for Minix3 in VMware.
You can use [[:lancefix|this set of instructions]] to get the Lance driver to work.
==== VMWare Hardware version 6.x workaround ====
For Minix versions below 3.1.4, you may see the following error when running newer versions of VMWare: //*** vcpu-0:ASSERT vmcore/private/iospace_shared.h:558 bugNr=64440//.
You will need to edit the //.vmx// file corresponding to your virtual machine. It can likely be found in //~/Documents/Virtual Machines/// or //~/vmware///.
You will need to remove the line:
pciBridge0.present = "TRUE"
and any similar lines for pciBridge, pciBridge2, etc. from the //.vmx// file.
==== Unable to partition hard disk ====
VMWare Server, by default, installs SCSI hard disks.
In Minix3.1.3a, with this default configuration, the disk partitioning step would not run automatically. In 'expert mode', I couldn't partition my disk.
I removed the SCSI hard disk and installed an IDE disk instead.