====== Running on Bochs ======
This page describes the process of installing MINIX 3 on Bochs.
===== Preliminaries =====
Please install [[http://bochs.sourceforge.net/|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
- Type //hd//.
- Type //flat//.
- Type //2048//, which equals to 2GB of disk space.
- 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 [[http://www.minix3.org/download|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 [[.:doinginstallation#runningsetup|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 [[.:postinstallation|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.