Difference between revisions of "Installing NeXTSTEP on Qemu"

From Computer History Wiki
Jump to: navigation, search
m (add some sections and quote some stuff up.)
Line 24: Line 24:
  
  
Install MinGW - default options
+
*Install MinGW - default options
install msys - defualt options
+
*install msys - defualt options
  
-----8<-----8<-----8<-----8<-----8<
+
<pre>
 
Do you wish to continue with the post install? [yn ] y
 
Do you wish to continue with the post install? [yn ] y
  
Line 34: Line 34:
 
Please answer the following in the form of c:/foo/bar.
 
Please answer the following in the form of c:/foo/bar.
 
Where is your MinGW installation? c:/mingw
 
Where is your MinGW installation? c:/mingw
-----8<-----8<-----8<-----8<-----8<
+
</pre>
 +
 
 +
*install msysDTK - default options
  
install msysDTK - default options
 
  
 
Start -> run -> mingw -> msys -> msys
 
Start -> run -> mingw -> msys -> msys
  
 +
<pre>
 
cd /mingw
 
cd /mingw
 
tar -zxvf /c/install/qemu-build/gcc-core-3.4.5-20060117-1.tar.gz
 
tar -zxvf /c/install/qemu-build/gcc-core-3.4.5-20060117-1.tar.gz
Line 45: Line 47:
 
tar -zxvf /c/install/qemu-build/w32api-3.6.tar.gz
 
tar -zxvf /c/install/qemu-build/w32api-3.6.tar.gz
 
tar -zxvf /c/install/qemu-build/mingw-runtime-3.9.tar.gz
 
tar -zxvf /c/install/qemu-build/mingw-runtime-3.9.tar.gz
 +
</pre>
  
 
gcc -v should return:
 
gcc -v should return:
  
 +
<pre>
 
Reading specs from c:/mingw/bin/../lib/gcc/mingw32/3.4.5/specs
 
Reading specs from c:/mingw/bin/../lib/gcc/mingw32/3.4.5/specs
 
Configured with: ../gcc-3.4.5/configure --with-gcc --with-gnu-ld --with-gnu-as  
 
Configured with: ../gcc-3.4.5/configure --with-gcc --with-gnu-ld --with-gnu-as  
Line 57: Line 61:
 
Thread model: win32
 
Thread model: win32
 
gcc version 3.4.5 (mingw special)
 
gcc version 3.4.5 (mingw special)
 +
<pre>
  
 +
With the c compiler looking good, it's time to extract the dependancies for Qemu.
  
 +
<pre>
 
cd /
 
cd /
 
mkdir -p /usr/src
 
mkdir -p /usr/src
 
cd /usr/src
 
cd /usr/src
 +
</pre>
  
 
+
Extract and build SDL.
 +
<pre>
 
tar -zxvf /c/install/qemu-build/SDL-1.2.9.tar.gz
 
tar -zxvf /c/install/qemu-build/SDL-1.2.9.tar.gz
 
cd SDL-1.2.9
 
cd SDL-1.2.9
Line 69: Line 78:
 
make
 
make
 
make install
 
make install
 +
</pre>
  
 +
Extract and build zlib
 +
<pre>
 
cd /usr/src
 
cd /usr/src
 
tar -zxvf /c/install/qemu-build/zlib-1.2.3.tar.gz
 
tar -zxvf /c/install/qemu-build/zlib-1.2.3.tar.gz
Line 75: Line 87:
 
make
 
make
 
make install
 
make install
 
+
</pre>
  
 
Then to compensate for qemu's configure
 
Then to compensate for qemu's configure
 +
<pre>
 
cd /mingw/include
 
cd /mingw/include
 
ln -s /usr/local/include/zconf.h .
 
ln -s /usr/local/include/zconf.h .
Line 88: Line 101:
 
ln -s true.exe texi2html.exe
 
ln -s true.exe texi2html.exe
 
ln -s true.exe pod2man.exe
 
ln -s true.exe pod2man.exe
 +
</pre>
  
 
+
== SNAPSHOT NOTES ==
SNAPSHOT NOTES
 
 
Remember the qemu qemu-snapshot-2006-04-15_23.tar.bz2 will be whatever todays date is...!
 
Remember the qemu qemu-snapshot-2006-04-15_23.tar.bz2 will be whatever todays date is...!
  
 +
<pre>
 
cd /usr/src
 
cd /usr/src
 
bzip2 -dc /c/install/qemu-build/qemu-snapshot-2006-04-15_23.tar.bz2 | tar -xvf -
 
bzip2 -dc /c/install/qemu-build/qemu-snapshot-2006-04-15_23.tar.bz2 | tar -xvf -
 
cd qemu-snapshot-2006-04-15_23
 
cd qemu-snapshot-2006-04-15_23
 +
</pre>
  
 
Ok now we are going to 'hack' a bunch of stuff here. 1st we want the easy one, which is the SoundBlaster 16.   
 
Ok now we are going to 'hack' a bunch of stuff here. 1st we want the easy one, which is the SoundBlaster 16.   
 
We want it to use irq 7.
 
We want it to use irq 7.
  
 +
<pre>
 
vi hw/sb16.c  
 
vi hw/sb16.c  
 
/0x220
 
/0x220
 +
</pre>
  
 
now we want to chagne the line from  
 
now we want to chagne the line from  
 +
<pre>
 
} conf = {5, 4, 5, 1, 5, 0x220};
 
} conf = {5, 4, 5, 1, 5, 0x220};
 
to
 
to
 
} conf = {5, 4, 7, 1, 5, 0x220};
 
} conf = {5, 4, 7, 1, 5, 0x220};
 
+
</pre>
  
 
Ok now time to run the patch, I know it'll fail, but dont worry, its not that hard to fix.
 
Ok now time to run the patch, I know it'll fail, but dont worry, its not that hard to fix.
 
+
<pre>
 
gzip -dc /c/install/qemu-build/qemu-0.8.0-openstep-busmouse-2.diff.gz | patch -p1
 
gzip -dc /c/install/qemu-build/qemu-0.8.0-openstep-busmouse-2.diff.gz | patch -p1
  
 
vi hw/ps2.c  
 
vi hw/ps2.c  
 +
<pre>
 +
 
comment out the qemu_add_mouse_event_handler line.
 
comment out the qemu_add_mouse_event_handler line.
 
+
<pre>
 
vi hw/busmouse.c
 
vi hw/busmouse.c
 
qemu_add_mouse_event_handler(busmouse_event,s);
 
qemu_add_mouse_event_handler(busmouse_event,s);
 
change that line to:
 
change that line to:
 
qemu_add_mouse_event_handler(busmouse_event,s,0);
 
qemu_add_mouse_event_handler(busmouse_event,s,0);
 +
</pre>
  
 
+
Now let's start the build.
./configure
+
<pre>
 +
./configure --target-list=i386-softmmu
 
make
 
make
 +
</pre>
  
  
 
+
== qemu-0.8.0 NOTES ==
qemu-0.8.0 NOTES
 
  
 
cd /usr/src
 
cd /usr/src

Revision as of 01:42, 15 February 2009

Please note that Im not going to build an 'accelerated' version of qemu, im trying to keep this build as 'stable' as possible. I'm going to assume you know how to use vi. I would recommend trying the 0.8.0 before you try a snapshot. The snapshot may not work, or it may behave eradicaly. It is worth nothing that my pentium 3 cannot start the GUI portion. I really dont know why. (I did try -O1 for CFLAGS)

Also with regard to the nextstep part I'm using ISO images. I have just had too many problems with the physical media.

download the following to c:\install\qemu-build

from http://www.mingw.org/download.shtml

MinGW-3.1.0-1.exe MSYS-1.0.9.exe msysDTK-1.0.1.exe gcc-core-3.4.5-20060117-1.tar.gz gcc-g++-3.4.5-20060117-1.tar.gz w32api-3.6.tar.gz mingw-runtime-3.9.tar.gz

http://www.libsdl.org/release/SDL-1.2.9.tar.gz http://www.zlib.net/zlib-1.2.3.tar.gz http://fabrice.bellard.free.fr/qemu/qemu-0.8.0.tar.gz http://download.info.apple.com/Apple_Support_Area/Apple_Software_Updates/MultiCountry/Enterprise/nextstep/floppyimages/3.3_Beta_Drivers.floppyimage http://download.info.apple.com/Apple_Support_Area/Apple_Software_Updates/MultiCountry/Enterprise/nextstep/floppyimages/3.3_Boot_Disk.floppyimage http://download.info.apple.com/Apple_Support_Area/Apple_Software_Updates/MultiCountry/Enterprise/nextstep/floppyimages/3.3_Core_Drivers.floppyimage


  • Install MinGW - default options
  • install msys - defualt options
Do you wish to continue with the post install? [yn ] y

Do you have MinGW installed? [yn ] y

Please answer the following in the form of c:/foo/bar.
Where is your MinGW installation? c:/mingw
  • install msysDTK - default options


Start -> run -> mingw -> msys -> msys

cd /mingw
tar -zxvf /c/install/qemu-build/gcc-core-3.4.5-20060117-1.tar.gz
tar -zxvf /c/install/qemu-build/gcc-g++-3.4.5-20060117-1.tar.gz
tar -zxvf /c/install/qemu-build/w32api-3.6.tar.gz
tar -zxvf /c/install/qemu-build/mingw-runtime-3.9.tar.gz

gcc -v should return:

Reading specs from c:/mingw/bin/../lib/gcc/mingw32/3.4.5/specs
Configured with: ../gcc-3.4.5/configure --with-gcc --with-gnu-ld --with-gnu-as 
--host=mingw32 --target=mingw32 --prefix=/mingw --enable-threads --disable-nls 
--enable-languages=c,c++,f77,ada,objc,java --disable-win32-registry 
--disable-shared --enable-sjlj-exceptions --enable-libgcj --disable-java-awt 
--without-x --enable-java-gc=boehm --disable-libgcj-debug --enable-interpreter 
--enable-hash-synchronization --enable-libstdcxx-debug
Thread model: win32
gcc version 3.4.5 (mingw special)
<pre>

With the c compiler looking good, it's time to extract the dependancies for Qemu.

<pre>
cd /
mkdir -p /usr/src
cd /usr/src

Extract and build SDL.

tar -zxvf /c/install/qemu-build/SDL-1.2.9.tar.gz
cd SDL-1.2.9
./configure
make
make install

Extract and build zlib

cd /usr/src
tar -zxvf /c/install/qemu-build/zlib-1.2.3.tar.gz
./configure
make
make install

Then to compensate for qemu's configure

cd /mingw/include
ln -s /usr/local/include/zconf.h .
ln -s /usr/local/include/zlib.h .
ln -s /usr/local/include/SDL .
cd /mingw/lib
ln -s /usr/local/lib/libSDL.a .
ln -s /usr/local/lib/libz.a .
cd /bin
ln -s true.exe texi2html.exe
ln -s true.exe pod2man.exe

SNAPSHOT NOTES

Remember the qemu qemu-snapshot-2006-04-15_23.tar.bz2 will be whatever todays date is...!

cd /usr/src
bzip2 -dc /c/install/qemu-build/qemu-snapshot-2006-04-15_23.tar.bz2 | tar -xvf -
cd qemu-snapshot-2006-04-15_23

Ok now we are going to 'hack' a bunch of stuff here. 1st we want the easy one, which is the SoundBlaster 16. We want it to use irq 7.

vi hw/sb16.c 
/0x220

now we want to chagne the line from

} conf = {5, 4, 5, 1, 5, 0x220};
to
} conf = {5, 4, 7, 1, 5, 0x220};

Ok now time to run the patch, I know it'll fail, but dont worry, its not that hard to fix.

gzip -dc /c/install/qemu-build/qemu-0.8.0-openstep-busmouse-2.diff.gz | patch -p1

vi hw/ps2.c 
<pre>

comment out the qemu_add_mouse_event_handler line.
<pre>
vi hw/busmouse.c
qemu_add_mouse_event_handler(busmouse_event,s);
change that line to:
qemu_add_mouse_event_handler(busmouse_event,s,0);

Now let's start the build.

./configure --target-list=i386-softmmu
make


qemu-0.8.0 NOTES

cd /usr/src tar -zxvf /c/install/qemu-build/qemu-0.8.0.tar.gz cd qemu-0.8.0 gzip -dc /c/install/qemu-build/qemu-0.8.0-openstep-busmouse-2.diff.gz | patch -p1

Ok now we are going to 'hack' the sound card here. 1st we want the easy one, which is the SoundBlaster 16. We want it to use irq 7.

vi hw/sb16.c /0x220

now we want to chagne the line from } conf = {5, 4, 5, 1, 5, 0x220}; to } conf = {5, 4, 7, 1, 5, 0x220};

./configure make


If you had any issues building qemu you can use the binary here: http://www.vaxenrule.com/NextSTEP%2033/ … -win32.zip


Ok now lets start with nextstep. Im going to populate a standalone copy of qemu

mkdir /c/install/nextstep cp i386-softmmu/qemu /c/install/nextstep cp /usr/local/bin/SDL.dll /c/install/nextstep cp pc-bios/bios.bin /c/install/nextstep cp pc-bios/vgabios-cirrus.bin /c/install/nextstep

Lets create the 2 gig disk image..

qemu-img create -f qcow /c/install/nextstep/ns33.qcow 2G

Ok now here is the iso's that Im going to use in my c:\install directory:

04/15/2006 09:10 PM 373,764,096 NeXTSTEP 3.3 User (m68k, i386).iso 04/15/2006 10:04 PM 1,474,560 3.3_Beta_Drivers.floppyimage 04/15/2006 10:04 PM 1,474,560 3.3_Boot_Disk.floppyimage 04/15/2006 10:04 PM 1,474,560 3.3_Core_Drivers.floppyimage

Ok lets get started! Im using the cmd.exe so I can paste stuff in & out. Also I copy the disk images ontop of 'disk' because some qemu hosts dont have the ctrl-alt-2 function...

cd \install\nextstep copy ..\3.3_Beta_Drivers.floppyimage beta copy ..\3.3_Boot_Disk.floppyimage boot copy ..\3.3_Core_Drivers.floppyimage core copy boot disk

C:\install\nextstep>qemu.exe -L . -m 32 -hda ns33.qcow -cdrom "..\NeXTSTEP 3.3 User (m68k, i386).iso" -fda disk -boot a



-v (enter) I like the verbose booting so I can see what is going on.

1 (enter)

1 (enter)

time to copy the core disk onto 'disk' and press enter to continue. From a 2nd cmd.exe do a : copy core disk (enter)

time to copy the beta disk onto the 'disk' and press enter to continue. From the 2nd cmd.exe do a: copy beta disk (enter)

Now this part of the disk is corrupt (its on all the beta 3.3 disks) so we have to select some scsi driver in order to get to the ATAPI. I choose #2 2 (enter)

Now we can procede to the ATAPI 7 (enter)

2 (enter)

1 (enter)


I like the advanced install. So lets go with #2 2 (enter)

We are going to install on the #1 (and only) disk 1 (enter)

Since the ne2000 currently doesnt work, I want a small partition to copy files on & off the vm. 2 (enter)

Lets go with 32 megabytes 32 (enter)

Ok looks good! 3 (enter)

1 (enter)

Now the disk is being partitioned & formatted. This could take a minute.

files are being copied.

Ok we are done here. Press enter (enter)


Now at this point you can kill the emulator. For the sake of being 'easy' lets copy the core file back ontop of the 'disk' Now we re-launch qemu as follows:

C:\install\nextstep>qemu.exe -L . -m 32 -soundhw sb16 -hda ns33.qcow -cdrom "..\NeXTSTEP 3.3 User (m68k, i386).iso" -fda disk -boot c


Again lets boot verbose -v (enter)

1 (enter)

copy the beta onto disk 1 (enter)


(enter)

copy core onto disk (enter)

Click on the monitor (from the top). We are going to install the VGA driver for now.

Select the Default VGA Adapter (v3.30) and press the 'Add' button

Now sleect the mouse button (from the top), then select the "PS/2-Style Mouse (v3.30)". Click the remove button.

Select the system icon from the top (the box with the question mark on it), and then choose the "On-Board Parallel Port (v3.30)" and press the remove button.

Now select the audio icon (the speaker icon from the top) and lets add the "Sound Blaster 16 (v3.30)" driver.

You will get a warning about an irq conflict, you can close it. (this is why we changed the sb16.c file from irq 5 (the busmouse) to irq7.

Select IRQ 7.

Now press the Done button.

press enter. (enter)

At this point NeXTSTEP 3.3 is installed. Pressing enter will sync the disk & reboot the VM. Next you select your keyboard, and you are good to go.

As long as my bandwidth doesnt go to hell, here is a copy of the y2k patches and other stuff on an iso.

http://www.vaxenrule.com/NextSTEP%2033/ns33patches.iso


Hopefully this has helped someone out there!