Difference between revisions of "Installing NeXTSTEP on Qemu"
m (move to my mirror site.) |
m (really should put up a better mirror of this stuff...) |
||
Line 46: | Line 46: | ||
=== Drivers for NeXTSTEP 3.3 === | === Drivers for NeXTSTEP 3.3 === | ||
− | *[http://www-teaching.physics.ox.ac.uk/NextStep/NE2K_driver.fdd NE2K_driver.fdd] | + | *[https://web.archive.org/web/20090817044058/http://www-teaching.physics.ox.ac.uk/NextStep/NE2K_driver.fdd NE2K_driver.fdd] |
*[http://www.nextcomputers.org/NeXTfiles/Software/NEXTSTEP/Drivers/nextstep_3.3/released/CL_GD5434.pkg.compressed CL_GD5434.pkg.compressed] | *[http://www.nextcomputers.org/NeXTfiles/Software/NEXTSTEP/Drivers/nextstep_3.3/released/CL_GD5434.pkg.compressed CL_GD5434.pkg.compressed] | ||
Revision as of 02:02, 27 March 2019
This is my notes on installing NeXTSTEP onto Qemu. I had originally posted this on bsdnexus, however the links I had used for the graphics are nolonger working.
Please note that I’m not going to build an 'accelerated' version of Qemu, I’m 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.9.0 before you try anything else. 0.8.0 seems somewhat unstable, and the busmouse driver doesn't work on 0.9.1 .
I've tried to keep links to QEMU up to date, but official site no longer carries the old stuff so it'll probably fall into disrepair eventually.
It is worth nothing that my Pentium 3 cannot start the GUI portion. I really don’t 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.
Contents
- 1 Required Downloads
- 2 Busmouse patch
- 3 Installation of the compiler environment
- 4 Compilation
- 5 Installing NeXTSETP
- 6 Launching Qemu Install
- 6.1 Step 1
- 6.2 Step 2
- 6.3 Step 3
- 6.4 Step 4
- 6.5 Step 5
- 6.6 Step 6
- 6.7 Step 7
- 6.8 Step 8
- 6.9 Step 9
- 6.10 Step 10
- 6.11 Step 12
- 6.12 Step 13
- 6.13 Step 14
- 6.14 Step 15
- 6.15 Step 16
- 6.16 Step 17
- 6.17 Step 18
- 6.18 Step 19
- 6.19 Step 20
- 6.20 Step 21
- 6.21 Step 22
- 6.22 Step 23
- 6.23 Step 24
- 6.24 Step 25
- 6.25 Step 26
- 7 Final Notes
Required Downloads
Download the following to c:\install\qemu-build
MinGW
from http://www.mingw.org/download.shtml
- MinGW-5.1.4.exe
- MSYS-1.0.11-rc-1.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.13-mingw32-dev.tar.gz
- mingwrt-3.15.2-mingw32-dev.tar.gz
I've tried to mirror as close as I could to the versions that I built with... Since they are newer they may even work on Vista/7..
Aditional Dependancies
Qemu
Boot diskette image for NeXTSTEP
Drivers for NeXTSTEP 3.3
Busmouse patch
For Qemu 0.8.0
Qemu-0.8.0-openstep-busmouse-2.diff
For Qemu 0.9.0
Qemu-0.9.0-openstep-busmouse-2.diff
Installation of the compiler environment
Installation of MinGW
- Install MinGW
Choose the 'current' version, then check the following options:
- MinGW Base tools
- G++ compiler
- MinGW make
Allow it to instal into c:\MinGW
Installation of MSYS
- install msys - default 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
Installation of the msysDTK
- install msysDTK - default options
Installing gcc/g++ 3.4.5
Start -> run -> mingw -> msys -> msys
cd /mingw tar -zxvf /c/install/qemu-build/w32api-3.13-mingw32-dev.tar.gz tar -zxvf /c/install/qemu-build/mingwrt-3.15.2-mingw32-dev.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-20060117-3/configure --with-gcc --with-gnu-ld --wi th-gnu-as --host=mingw32 --target=mingw32 --prefix=/mingw --enable-threads --dis able-nls --enable-languages=c,c++,f77,ada,objc,java --disable-win32-registry --d isable-shared --enable-sjlj-exceptions --enable-libgcj --disable-java-awt --with out-x --enable-java-gc=boehm --disable-libgcj-debug --enable-interpreter --enabl e-hash-synchronization --enable-libstdcxx-debug Thread model: win32 gcc version 3.4.5 (mingw-vista special r3)
Compilation
With the c compiler looking good, it's time to extract the dependancies for Qemu.
cd / mkdir -p /usr/src cd /usr/src
SDL
Extract and build SDL 1.2.13.
tar -zxvf /c/install/qemu-build/SDL-1.2.13.tar.gz cd SDL-1.2.13 ./configure make make install
zlib
Extract and build zlib
cd /usr/src tar -zxvf /c/install/qemu-build/zlib-1.2.3.tar.gz ./configure make make install
Configuring Qemu
To compensate for qemu's configure, and some oddities in MinGW's handling of /usr/local you'll need to do some fixes..
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
qemu-0.8.0 NOTES
Extract Qemu and integrate the patch.
cd /usr/src tar -zxvf /c/install/qemu-build/qemu-0.8.0.tar.gz cd qemu-0.8.0 cat /c/install/qemu-build/qemu-0.8.0-openstep-busmouse-2.diff | patch -p1
Now configure Qemu
./configure --target-list=i386-softmmu make
qemu-0.9.0 NOTES
Extract Qemu and integrate the patch.
cd /usr/src tar -zxvf /c/install/qemu-build/qemu-0.9.0.tar.gz cd qemu-0.9.0 cat /c/install/qemu-build/qemu-0.9.0-openstep-busmouse-2.diff | patch -p1
Now configure Qemu
./configure --target-list=i386-softmmu make
So far this is the 'best' version of Qemu for NeXTSTEP.
qemu-0.9.1 NOTES
I've heard the reason this version will not work on Vista is something trivial:
My patch to hw/ide.c: just revert guess_disk_lchs function to the same from 0.9.0'.
Installing NeXTSETP
Ok now lets start with nextstep. Im going to populate a standalone copy of qemu
mkdir /c/install/nextstep mkdir /c/install/nextstep/keymaps cp i386-softmmu/qemu /c/install/nextstep cp keymaps/* /c/install/keymaps 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
Launching Qemu Install
Now let's run Qemu like this:
C:\install\nextstep>qemu.exe -L . -m 32 -hda ns33.qcow -cdrom "..\NeXTSTEP 3.3 User (m68k, i386).iso" -net nic,model=ne2kpc -net user -soundhw sb16 -fda boot -boot a
Step 1
-v (enter)
I like the verbose booting so I can see what is going on.
Step 2
1 (enter)
Step 3
1 (enter)
Step 4
It's time to copy the core disk onto 'disk' and press enter to continue. From a 2nd cmd.exe do a :
copy core disk (enter)
Step 5
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)
Step 6
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)
Step 7
Now we can proceed to the ATAPI
7 (enter)
Step 8
2 (enter)
Step 9
1 (enter)
Step 10
NeXTSTEP kernel booting...
NeXTSTEP kernel booting...
Step 12
I like the advanced install. So lets go with #2
2 (enter)
Step 13
We are going to install on the #1 (and only) disk
1 (enter)
Step 14
Since the ne2000 currently doesnt work, I want a small partition to copy files on & off the vm.
2 (enter)
Step 15
Lets go with 32 megabytes
32 (enter)
Step 16
Ok looks good!
3 (enter)
Step 17
1 (enter)
Step 18
Now the disk is being partitioned & formatted. This could take a minute.
Step 19
files are being copied.
Step 20
Ok we are done here. Press enter
(enter)
Step 21
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 -hda ns33.qcow -cdrom "..\NeXTSTEP 3.3 User (m68k, i386).iso" -net nic,model=ne2kpc -net user -soundhw sb16 -fda core
Step 22
Again lets boot verbose
-v (enter)
Step 23
1 (enter)
Step 24
copy the beta onto disk.
1 (enter)
Step 25
Step 26
(enter)
copy core onto disk
(enter)
There may be an 'error' that it cannot mount the floppy.. Don't worry, just hit ok and try again and it'll work.
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.
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.
Hopefully this has helped someone out there!
Final Notes
After you install update #3 the keyboard will not work right.. you need to specify a keymap.
Here is how I like to run Qemu 0.9.0 for NeXTSTEP
qemu -L . -m 32 -hda ns33.disk -boot c -net nic,model=ne2kpci -net user -soundhw sb16