I just hound this about Bochs - old version and I haven't tried it yet. I have fond memories of running OS/2 in 1994 and have been keen to try it. At the moment, like Rkix, it won't even boot. Hope this helps.
--Evan
FROM: Bryce DenneyDATE: 06/11/2002 14:40:50SUBJECT: [Bochs-developers] Running OS/2 in BOCHS Diego Henriquez sent me a description of how to get OS/2 going in
Bochs. He attached a version of the Bochs sources based on version 1.2.1
which he modified to make it run OS/2. The file is on the web now at
http://bochs.sourceforge.net/tmp/bochs-1.2.1-henriquez-os2.zip
Some of the problems Diego describes have been fixed since 1.2.1, but it
sounds like he fixed some other things that I hadn't heard of before.
Thanks!
Bryce
---------- Forwarded message ----------
Date: Wed, 12 Jun 2002 17:01:17 -0400
From: Diego Henriquez >
To:
Subject: Running OS/2 in BOCHS
Hello there,
At last you can run OS/2 under BOCHS. I meant to send this file for a very
long time but I been busy at work and at home, I don't even have time to
follow what's going on on the bochs project. Anyway here is attached
BOCHS121.ZIP, which is bochs ver 1.2.1 with source and the executible.
Prepare OS/2 to run under bochs:
To run OS/2 under bochs, you will have to create an installed os2 image.
To do this, you'll have to install OS/2 in a real computer with a hard disk
formated in FAT, OS/2 under bochs can't boot to HPFS partition because
of PIC bugs, you can do this in two ways.
Method 1:
for this example I created disk image of 130 MB with the following
dimensions.
diskc: file=os2hdsk.dsk, cyl=936, heads=16, spt=17
boot bochs with the first two installable diskettes, go to the command
prompt, run FDISK and create partition, format harddisk in FAT, run SYSINSTX
C: from drive A:, this will make hard drive bootable to OS/2. Now on the
real computer with OS/2 installed, boot to command prompt, take off all
files attributes, specially Hiddend and System attributes. Backup all files
from the real pc to floppy and restore them to the bochs pc. HINT: I did it
this way, booted the real pc with DOS, using PKZIP.EXE and PKUNZIP.EXE, I
ran this this command PKZIP -arPex& a:os2 c:\*.*, Then boot bochs with DOS
and restore files with the following command PKUNZIP -do a:os2 c:\. Restored
all files, edit the CONFIG.SYS and change the following lines,
BASEDEV=IBM1FLPY.ADD to BASEDEV=IBM1FLPY.ADD /V -> you'll need /V because of
vga emulation problems
BASEDEV=IBM1S506.ADD to BASEDEV=IBM1S506.ADD /A:0 /U:1 /ATAPI /V all this
option is to make the CDROM work under the emulation. add this line
BASEDEV=IBMIDECD.FLT this will make the cdrom work under OS/2, save the
CONFIG file and reboot bochs.
you might need to retore os2.ini and os2system.ini from backup.
Method 2:
Install OS/2 on real PC, create an image of the harddisk of the real PC,
then edit the CONFIG.SYS file to look like above, the reboot bochs to start
from drive C: to run OS/2.
What runs and what doen't runs:
DOS and Windows apps under OS/2 does not run, OS/2 initial installation
doesn't run either. All 32bit OS/2 apps run fine, well all the one that I
tested.
Patches to BOCHS to make OS/2 run:
First, the calculation for the limit in access.cc was fixed, this enable me
to load the kernal into memory.
Second, the floppy controller. I added a Global memory named GblMem to keep
track to the floppy status at memory location 40:3E. OS/2 floppy device
driver, IBM1FLPY.ADD, check the status of the floppy after each floppy
command. Added the command for read and write, OS/2 uses different command
for reading and writting. One thing I couldn't get to work was to use 2.88MB
flopplies, becuse OS/2 use a command to switch the floppy controller to
perpendicular mode. I don't know those command. One thing helpfull on the
inner working of the floppy drive was the source code for the floppy driver
IBM1FLPY.ADD.
Third, Fix the problem with IRETD, switching privilaged rings (call gate),
and one of the biggest show stopper, EXCEPTION 0Dh, for this I use
ExceptionCHK, ExceptionSS and ExceptionCS global variables. These varibles
are use to restore the previous values of SS and CS registers after an
exception 0Dh occured.
Tested on a Pentium II 400MHz CPU, under Windows NT 4.0.
If you have any question on getting OS/2 to run under BOCHS, I'll be happy
to answer your questions. You can write to me at .
Regards,
Diego Henriquez