Difference between revisions of "Installing NeXTSTEP on Qemu"
m (→Launching Qemu Install) |
(fix some formatting) |
||
Line 201: | Line 201: | ||
<pre> | <pre> | ||
+ | == qemu-0.9.1 NOTES == | ||
+ | I've heard the reason this version will not work on Vista is something trivial: | ||
+ | <pre> | ||
+ | My patch to hw/ide.c: | ||
+ | |||
+ | just replace all 'free(buf)' in guess_disk_lchs function to 'qemu_free(buf)'. | ||
+ | </pre> | ||
== Installing NeXTSETP == | == Installing NeXTSETP == | ||
Line 253: | Line 260: | ||
-v (enter) | -v (enter) | ||
</pre> | </pre> | ||
+ | |||
I like the verbose booting so I can see what is going on. | I like the verbose booting so I can see what is going on. | ||
Line 270: | Line 278: | ||
=== 4 === | === 4 === | ||
[[Image:NeXTSTEP install 4.png]] | [[Image:NeXTSTEP install 4.png]] | ||
− | time to copy the core disk onto 'disk' and press enter to continue. From a 2nd cmd.exe do a : | + | |
+ | It's time to copy the core disk onto 'disk' and press enter to continue. From a 2nd cmd.exe do a : | ||
<pre> | <pre> | ||
copy core disk | copy core disk | ||
Line 278: | Line 287: | ||
=== 5 === | === 5 === | ||
[[Image:NeXTSTEP install 5.png]] | [[Image:NeXTSTEP install 5.png]] | ||
− | + | ||
+ | Time to copy the beta disk onto the 'disk' and press enter to continue. From the 2nd cmd.exe do a: | ||
<pre> | <pre> | ||
copy beta disk | copy beta disk | ||
Line 286: | Line 296: | ||
=== 6 === | === 6 === | ||
[[Image:NeXTSTEP install 6.png]] | [[Image:NeXTSTEP install 6.png]] | ||
+ | |||
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 | 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 | ||
<pre> | <pre> | ||
Line 293: | Line 304: | ||
=== 7 === | === 7 === | ||
[[Image:NeXTSTEP install 7.png]] | [[Image:NeXTSTEP install 7.png]] | ||
− | Now we can | + | |
+ | Now we can proceed to the ATAPI | ||
<pre> | <pre> | ||
7 (enter) | 7 (enter) | ||
Line 312: | Line 324: | ||
=== 10 === | === 10 === | ||
[[Image:NeXTSTEP install 10.png]] | [[Image:NeXTSTEP install 10.png]] | ||
+ | |||
NeXTSTEP kernel booting... | NeXTSTEP kernel booting... | ||
+ | |||
[[Image:NeXTSTEP install 11.png]] | [[Image:NeXTSTEP install 11.png]] | ||
+ | |||
NeXTSTEP kernel booting... | NeXTSTEP kernel booting... | ||
Line 326: | Line 341: | ||
=== 13 === | === 13 === | ||
[[Image:NeXTSTEP install 13.png]] | [[Image:NeXTSTEP install 13.png]] | ||
+ | |||
We are going to install on the #1 (and only) disk | We are going to install on the #1 (and only) disk | ||
<pre> | <pre> | ||
Line 333: | Line 349: | ||
=== 14 === | === 14 === | ||
[[Image:NeXTSTEP install 14.png]] | [[Image:NeXTSTEP install 14.png]] | ||
+ | |||
Since the ne2000 currently doesnt work, I want a small partition to copy files on & off the vm. | Since the ne2000 currently doesnt work, I want a small partition to copy files on & off the vm. | ||
<pre> | <pre> | ||
Line 340: | Line 357: | ||
=== 15 === | === 15 === | ||
[[Image:NeXTSTEP install 15.png]] | [[Image:NeXTSTEP install 15.png]] | ||
+ | |||
Lets go with 32 megabytes | Lets go with 32 megabytes | ||
<pre> | <pre> | ||
Line 347: | Line 365: | ||
=== 16 === | === 16 === | ||
[[Image:NeXTSTEP install 16.png]] | [[Image:NeXTSTEP install 16.png]] | ||
+ | |||
Ok looks good! | Ok looks good! | ||
<pre> | <pre> | ||
Line 360: | Line 379: | ||
=== 18 === | === 18 === | ||
[[Image:NeXTSTEP install 18.png]] | [[Image:NeXTSTEP install 18.png]] | ||
+ | |||
Now the disk is being partitioned & formatted. This could take a minute. | Now the disk is being partitioned & formatted. This could take a minute. | ||
=== 19 === | === 19 === | ||
[[Image:NeXTSTEP install 19.png]] | [[Image:NeXTSTEP install 19.png]] | ||
− | + | ||
files are being copied. | files are being copied. | ||
− | |||
=== 20 === | === 20 === | ||
[[Image:NeXTSTEP install 20.png]] | [[Image:NeXTSTEP install 20.png]] | ||
+ | |||
+ | Ok we are done here. Press enter | ||
+ | |||
<pre> | <pre> | ||
− | |||
(enter) | (enter) | ||
</pre> | </pre> | ||
Line 377: | Line 398: | ||
=== 21 === | === 21 === | ||
[[Image:NeXTSTEP install 21.png]] | [[Image:NeXTSTEP install 21.png]] | ||
+ | |||
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 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: | Now we re-launch qemu as follows: | ||
Line 385: | Line 407: | ||
=== 22 === | === 22 === | ||
[[Image:NeXTSTEP install 22.png]] | [[Image:NeXTSTEP install 22.png]] | ||
+ | |||
Again lets boot verbose | Again lets boot verbose | ||
<pre> | <pre> | ||
Line 398: | Line 421: | ||
=== 24 === | === 24 === | ||
[[Image:NeXTSTEP install 24.png]] | [[Image:NeXTSTEP install 24.png]] | ||
+ | |||
copy the beta onto disk. | copy the beta onto disk. | ||
<pre> | <pre> |
Revision as of 13:05, 4 July 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.
Contents
Required Downloads
Download the following to c:\install\qemu-build
MinGW
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
Aditional Dependancies
Qemu
Boot diskette image for NeXTSTEP
Installation of MinGW
- 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)
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.
tar -zxvf /c/install/qemu-build/SDL-1.2.9.tar.gz cd SDL-1.2.9 ./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
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
Extract Qemu and integrate patch.
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 change the line from
} conf = {5, 4, 5, 1, 5, 0x220}; to } conf = {5, 4, 7, 1, 5, 0x220};
Now configure Qemu
./configure --target-list=i386-softmmu make <pre> == qemu-0.9.1 NOTES == I've heard the reason this version will not work on Vista is something trivial: <pre> My patch to hw/ide.c: just replace all 'free(buf)' in guess_disk_lchs function to 'qemu_free(buf)'.
Installing NeXTSETP
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 <pre> Lets create the 2 gig disk image.. <pre> 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" -fda disk -boot a
1
-v (enter)
I like the verbose booting so I can see what is going on.
2
1 (enter)
3
1 (enter)
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)
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)
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)
7
Now we can proceed to the ATAPI
7 (enter)
8
2 (enter)
9
1 (enter)
10
NeXTSTEP kernel booting...
NeXTSTEP kernel booting...
12
I like the advanced install. So lets go with #2
2 (enter)
13
We are going to install on the #1 (and only) disk
1 (enter)
14
Since the ne2000 currently doesnt work, I want a small partition to copy files on & off the vm.
2 (enter)
15
Lets go with 32 megabytes
32 (enter)
16
Ok looks good!
3 (enter)
17
1 (enter)
18
Now the disk is being partitioned & formatted. This could take a minute.
19
files are being copied.
20
Ok we are done here. Press enter
(enter)
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 -soundhw sb16 -hda ns33.qcow -cdrom "..\NeXTSTEP 3.3 User (m68k, i386).iso" -fda disk -boot c
22
Again lets boot verbose
-v (enter)
23
1 (enter)
24
copy the beta onto disk.
1 (enter)
25
26
(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.
Hopefully this has helped someone out there!