Table of Contents

Running on Bochs

This page describes the process of installing MINIX 3 on Bochs.

Preliminaries

Please install bochs. Bochs binaries can be downloaded from their webpage. If you're running a Linux distribution, you can install Bochs 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.

Type

# bximage
  1. Type hd.
  2. Type flat.
  3. Type 2048, which equals to 2GB of disk space.
  4. Type minix.img

Now, we will get a notification that looks something like:

The following line should appear in your bochsrc:
  ata0-master: type=disk, path="minix.img", mode=flat, cylinders=4161, heads=16, spt=63

Make sure you write down all these values, because we will need them later.

Now, copy the VGA and BIOS rom images that were included in the Bochs installation, to the current directory. Depending on the Linux Distribution you use, the image are either under /usr/share/bochs or /usr/local/share/bochs

cp /usr/share/bochs/BIOS-bochs-latest BIOS-bochs-latest
cp /usr/share/bochs/VGABIOS-elpin-2.40 VGABIOS-elpin-2.40

Next, we have to create a file called bochsrc.txt. You can use any editor you like for doing this.

vim bochsrc.txt

Copy in the file the following

romimage: file=BIOS-bochs-latest
megs: 256
vgaromimage: file=VGABIOS-elpin-2.40
floppya: 1_44=floppy.img, status=inserted
ata0-master: type=cdrom, path=minix_R3.2.1-972156d.iso, status=inserted
ata1-master: type=disk, path=minix.img, cylinders=4161, heads=16, spt=63
log: out.bochs
mouse: enabled=0
cpu: ips=15000000
boot: cdrom

Make sure that line 6 is exactly the same as the notification you got earlier after creating the disk image, and that the path in line 5 exactly matches the filename of the minix image you downloaded or will download.

The last line

boot: cdrom

indicates that the virtual machine will boot from the cdrom.

Installation

Assuming you have downloaded and decompressed a MINIX 3 ISO image from the download page, you can now run bochs and install MINIX.

In order to do that, type

# bochs

In the menu, press number 6. Minix 3 will now boot.

Then you can follow the normal installation instructions.

When the installation is over, type

shutdown

to exit Minix. When you get the fd0> type off in order 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. Edit the bochsrc.txt file,

# vim bochsrc.txt

and change the last line to

boot: disk

Save the file, and in the command line, type

# bochs

to boot MINIX 3.

Post-install Configuration

You should read Post Installation for some configuration tips.

Examples

FreeBSD

Here you find can some additional details on how to setup bochs under freebsd.

You might want to install bochs with the –with-term option ( Use text-only gui with curses library ). As most probably you wont have X installed.

In my case I disabled the X and enabled term:

/usr/ports/emulators/bochs]# make config

In the menu I have this ( you can check other options as you like of course):

...
[X] TERM           Use text only, console based interface
...
[ ] X11            Use X11 display interface
...

bochsrc.txt Config details:

[pomelo@brain /mnt/storage2/minix]$ cat bochsrc.txt 
romimage: file=BIOS-bochs-latest
megs: 64
vgaromimage: file=VGABIOS-elpin-2.40
floppya: 1_44=floppy.img, status=inserted
ata0-slave: type=cdrom, path=./minix.iso, status=inserted
ata0-master: type=disk, path="minix.img", mode=flat, cylinders=4112, heads=16, spt=63
log: out.bochs
mouse: enabled=0
cpu: ips=15000000
boot: disk 
ne2k: ioaddr=0x300, irq=7, mac=b0:c4:20:00:00:00, ethmod=fbsd, ethdev=xn0
###END###

Since I only have TERM compiled as display option it will use it by default.