|
Model: |
@@ -342,6 +332,12 @@
than the other models, for some reason. (This is a known bug.)
+
+
+
+
+
+
These instructions show an example of how to install
NetBSD/hpcmips on an emulated MobilePro 800:
@@ -352,15 +348,14 @@
$ dd if=/dev/zero of=nbsd_hpcmips.img bs=1024 count=1 seek=1990000
-
Download the installation kernel (and gunzip it) and an ISO
- image of NetBSD 2.0 for hpcmips:
- ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0/hpcmips/installation/netbsd.gz
- ftp://ftp.se.netbsd.org/pub/NetBSD/iso/2.0/hpcmipscd.iso
+
Download the NetBSD 2.0.2 for hpcmips ISO image:
+ ftp://ftp.se.netbsd.org/pub/NetBSD/iso/2.0.2/hpcmipscd.iso
(You may want to choose a mirror closer to you, if .se is slow.)
Start the installation like this:
- $ gxemul -E hpc -e mobilepro800 -b -X -d nbsd_hpcmips.img -d hpcmipscd.iso netbsd
+ $ gxemul -E hpc -e mobilepro800 -X -d nbsd_hpcmips.img \
+ -d b:hpcmipscd.iso -j hpcmips/installation/netbsd.gz
and proceed like you would do if you were installing NetBSD on a real
@@ -373,58 +368,371 @@
If everything worked, NetBSD should now be installed on the disk image.
GXemul does not (yet) support reading the kernel directly from the
disk image, so you need to download a generic kernel separately:
- ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0/hpcmips/binary/kernel/netbsd-GENERIC.gz
+ ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/hpcmips/binary/kernel/netbsd-GENERIC.gz
+
+
+
+The installation is now complete. Use the following command line to
+boot the emulated hpcmips machine:
+ $ gxemul -E hpc -e mobilepro800 -X -d nbsd_hpcmips.img netbsd-GENERIC.gz
+If you change your mind at this point regarding which machine type to
+emulate, you might for example prefer a MobilePro 770, then you can change
+that at any time. NetBSD is designed to be able to boot on many types,
+without any need to change the kernel.
+
+
When you have logged in as root, you can use startx to
+start X Windows. (Note: There is no mouse support yet; you can only use
+keyboard input.)
+
+
+
+
+
+
+
+
+
+
+
NetBSD/cobalt:
+
+NetBSD/cobalt is tricky
+to install, because the Cobalt machines were designed for Linux, and not
+very flexible. There is no INSTALL kernel for NetBSD/cobalt. One way to
+install the NetBSD/cobalt distribution onto a disk image is to do it from
+another (emulated) machine.
+
-Once you have gunziped the generic kernel, you can now use it to boot from
-the harddisk image, using the following command:
- $ gxemul -E hpc -e mobilepro800 -b -X -d nbsd_hpcmips.img netbsd-GENERIC
+
+
+
+
+The following instructions will let you install NetBSD/cobalt onto a disk
+image, from an emulated DECstation 3MAX machine:
+
+
+
+ - Create an empty harddisk image, which will be the disk image
+ that you will install NetBSD/cobalt onto:
+ $ dd if=/dev/zero of=nbsd_cobalt.img bs=1024 count=1 seek=1999000
+ - Download the generic kernel for Cobalt and the 2.0.2 ISO image:
+ ftp://ftp.se.netbsd.org/pub/NetBSD/NetBSD-2.0.2/cobalt/binary/kernel/netbsd-GENERIC.gz
+ ftp://ftp.se.netbsd.org/pub/NetBSD/iso/2.0.2/cobaltcd.iso
+
+
(You may want to choose a mirror closer to you, if .se is slow.)
+
+
- Install NetBSD/pmax 2.0.2 according to instructions
+ further up on this page.
+
+
- Start NetBSD/pmax like this:
+ $ gxemul -Edec -e3max -d nbsd_pmax.img -d cobaltcd.iso -d nbsd_cobalt.img
+
+
+ - Log in as root (on the emulated 3MAX machine), and execute the
+ following commands: (adjust according to taste)
+ newfs /dev/sd1c
+ mount /dev/cd0c /mnt
+ mkdir /mnt2; mount /dev/sd1c /mnt2
+ cd /mnt2; sh
+ for a in /mnt/cobalt/binary/sets/*.tgz; do echo $a; tar zxfp $a; done
+ exit
+ cd dev; sh ./MAKEDEV all; cd ../etc
+ echo rc_configured=YES >> rc.conf
+ echo "/dev/wd0d / ffs rw 1 1" > fstab
+ cd /; umount /mnt; umount /mnt2; halt
+
+
-When you have logged in as root, you can use startx to start X
-Windows. (Note: There is no mouse support yet; you can only use
-keyboard input.)
+You should now be able to boot NetBSD/cobalt like this:
+ $ gxemul -M128 -E cobalt -d nbsd_cobalt.img netbsd-GENERIC.gz
+
+
+Note that the installation instructions above create a filesystem
+without a disklabel, so there is only one ffs partition and no
+swap. You will need to enter the following things when booting with the
+generic kernel:
+ root device (default wd0a): wd0d
+ dump device (default wd0b): none
+ file system (default generic): ffs
+ init path (default /sbin/init): (just press enter here)
+
-
+Note: Netbooting like this is very slow, so you need a lot of patience.
+For example, when NetBSD says "nfs_boot: trying DHCP/BOOTP",
+there will be a long pause, even on a very fast host machine. The reason
+for this is mostly because the emulator doesn't deal with timing issues
+very well, but also because NetBSD tries IPv6 first, before falling back
+to IPv4.
@@ -434,14 +742,21 @@
-
How to install OpenBSD/pmax in GXemul:
+OpenBSD/pmax:
-Installing OpenBSD/pmax is a bit harder than installing NetBSD/pmax.
-You should first read the section above on how to install NetBSD/pmax,
+Installing OpenBSD/pmax is
+a bit harder than installing NetBSD/pmax. You should first read the section above on how to install NetBSD/pmax,
before continuing here. If you have never installed OpenBSD on any
-architecture, then you need a great deal of patience to do this.
-If, on the other hand you are used to installing OpenBSD, then
-this should be no problem for you.
+architecture, then you need a great deal of patience to do this. If, on
+the other hand you are used to installing OpenBSD, then this should be no
+problem for you.
+
+
+
+
+
+
OpenBSD/pmax died at release 2.8 of OpenBSD, so you should be
@@ -456,7 +771,7 @@
- Create an empty harddisk image, which will be the root disk
that OpenBSD installs itself onto:
- $ dd if=/dev/zero of=openbsddisk.img bs=1 count=512 seek=900000000
+ $ dd if=/dev/zero of=obsd_pmax.img bs=1 count=512 seek=900000000
- Download the entire pmax directory from the ftp server: (approx. 99 MB)
@@ -471,18 +786,19 @@
- You now need to make an ISO image of the entire directory you downloaded.
- I recommend using mkisofs for that purpose. If you don't already
- have mkisofs installed on your system, you need to install that in
- order to do this.
+ (I recommend using mkisofs for that purpose. If you don't
+ already have mkisofs installed on your system, you need
+ to install it in order to do this.)
$ mkisofs -o openbsd_pmax_2.8.iso ftp.se.openbsd.org/pub/OpenBSD/2.8/pmax
- Start the emulator with all three (!) disk images:
- $ gxemul -E dec -e 3max -b -d openbsddisk.img -d b:simpleroot28.fs -j bsd -d c:openbsd_pmax_2.8.iso
+ $ gxemul -E dec -e 3max -d obsd_pmax.img -d b:simpleroot28.fs -j bsd -d c:openbsd_pmax_2.8.iso
- (If you add -X, you will run with the graphical framebuffer. This is REALLY slow
- because the console has to scroll a lot during the install. I don't recommend it.)
+ (If you add -X, you will run with the graphical
+ framebuffer. This is REALLY slow because the console has to
+ scroll a lot during the install. I don't recommend it.)
- Go on with the installation as you would do if you were installing on a real machine.
If you are not used to the OpenBSD installer, then this will most likely
@@ -508,13 +824,11 @@
the directory containing the install sets.
-
-
-For some unknown reason, the install script does not set the root
-password! The first time you boot up OpenBSD after the install, you
-need to go into single user mode and run passwd root to set
-the root password, or you will not be able to log in at all!
-
- $ gxemul -E dec -e 3max -b -d openbsddisk.img -d 2c:openbsd_pmax_2.8.iso -j bsd -o '-s'
+
- For some unknown reason, the install script does not set the root
+ password! The first time you boot up OpenBSD after the install, you
+ need to go into single user mode and run passwd root to set
+ the root password, or you will not be able to log in at all!
+ $ gxemul -E dec -e 3max -d obsd_pmax.img -d 2c:openbsd_pmax_2.8.iso -j bsd -o '-s'
While you are at it, you might want to extract the X11 install sets
as well, as the installer seems to ignore them too. (Perhaps due to a bug
@@ -522,21 +836,19 @@
Execute the following commands in the emulator:
- # fsck /dev/rz0a
- # mount /
- # passwd root
-
- # cd /
- # mount -t cd9660 /dev/rz2c /mnt
- # sh
- # for a in /mnt/[xX]*; do tar zxvf $a; done
- # ln -s /usr/X11R6/bin/Xcfbpmax /usr/X11R6/bin/X
- # ln -s /dev/fb0 /dev/mouse
- # echo /usr/X11R6/lib >> /etc/ld.so.conf
- # ldconfig
+ fsck /dev/rz0a
+ mount /
+ passwd root
+
+ cd /; mount -t cd9660 /dev/rz2c /mnt; sh
+ for a in /mnt/[xX]*; do tar zxvf $a; done
+ ln -s /usr/X11R6/bin/Xcfbpmax /usr/X11R6/bin/X
+ ln -s /dev/fb0 /dev/mouse
+ echo /usr/X11R6/lib >> /etc/ld.so.conf
+ ldconfig
- # sync
- # halt
+ sync
+ halt
@@ -550,21 +862,19 @@
Once you have completed the installation procedure, the following command
will let you boot from the new rootdisk image:
- $ gxemul -E dec -e 3max -b -X -M64 -o '-aN' -d openbsddisk.img -j bsd
+ $ gxemul -E dec -e 3max -X -M64 -o '-aN' -d obsd_pmax.img -j bsd
-OpenBSD/pmax seems to work fine with dynamic binary translation (enabled
-by the -b command line option).
+(Normally, you would be asked about which root device to use (rz0),
+but using -o '-aN' supresses that.)
-(Normally, you would be asked about which root device to use (rz0), but
-using -o '-aN' supresses that.)
-
When asked for which terminal type to use, when logging in as root,
-enter rcons if you are using the graphical framebuffer,
-vt100 for text-mode.
-
Use startx to start X windows.
+enter rcons if you are using the graphical framebuffer,
+vt100 for text-mode.
+
Use startx to start X windows.
+
@@ -573,12 +883,16 @@
-
How to install OpenBSD/arc in GXemul:
+OpenBSD/arc:
It is possible to run OpenBSD/arc on an emulated Acer PICA-61 in the
emulator.
+
+
+
+
(You should be aware of the fact that OpenBSD for the ARC platform died at
release 2.3, so this will not give you an up-to-date OpenBSD system.
See
@@ -602,15 +916,14 @@
You now need to make an ISO image of the entire directory you downloaded.
- I recommend using mkisofs for that purpose. If you don't already
- have mkisofs installed on your system, you need to install that in
- order to do this.
+ (I recommend using mkisofs for that purpose. If you don't
+ already have mkisofs installed on your system, you need
+ to install it in order to do this.)
$ mkisofs -o openbsd_arc_2.3.iso ftp.se.openbsd.org/pub/OpenBSD/
Start the emulator using this command line:
- $ gxemul -X -b -E arc -e pica -d obsd_arc.img -d openbsd_arc_2.3.iso \
- ftp.se.openbsd.org/pub/OpenBSD/2.3/arc/bsd.rd.elf
+ $ gxemul -X -E arc -e pica -d obsd_arc.img -d b:openbsd_arc_2.3.iso -j 2.3/arc/bsd.rd
and proceed like you would do if you were installing OpenBSD
@@ -623,137 +936,32 @@
boot from the harddisk image:
- $ gxemul -X -b -E arc -e pica -d obsd_arc.img ftp.se.openbsd.org/pub/OpenBSD/2.3/arc/bsd
+ $ gxemul -X -E arc -e pica -d obsd_arc.img ftp.se.openbsd.org/pub/OpenBSD/2.3/arc/bsd
-
-(The -b command line option enables dynamic binary translation,
-which isn't always 100% stable, so if things seem buggy you might want
-to try to remove that from the command line.)
-
-
-
-
-
-
-
-
-
-
How to install Ultrix/RISC in GXemul:
-
-The following instructions should guide you through an install of Ultrix
-onto a disk image:
+The following instructions should let you install Ultrix onto a disk image:
- Create an empty harddisk image, which will be the root disk
@@ -761,19 +969,19 @@
$ dd if=/dev/zero of=rootdisk.img bs=1024 count=1 seek=800000
-
- Place your Ultrix installation media in your CDROM drive. (I'm assuming
- it is called /dev/cd0c here, replace that with the name of your
- CDROM drive, or the name of a .iso image file.)
- Then, start the emulator like this:
- $ gxemul -X -b -M64 -E dec -e 3max -d rootdisk.img -d bc:/dev/cd0c -j vmunix
+
- Place your Ultrix installation media in your CDROM drive.
+ (On FreeBSD and similar systems, it is called /dev/cd0c.
+ Replace that with the name of your CDROM drive, or the name of a
+ .iso image file.) Then, start the emulator like this:
+ $ gxemul -X -M64 -E dec -e 3max -d rootdisk.img -d bc:/dev/cd0c -j vmunix
- Once the first stage of the installation is done (restoring the root
filesystem), you need to restart the emulator, booting from the
new rootdisk, to continue the installation process.
- This is done by removing the bootflag ('b') from the second
+ This is done by removing the bootflag ('b') from the second
diskimage argument:
- $ gxemul -X -b -M64 -E dec -e 3max -d rootdisk.img -d c:/dev/cd0c -j vmunix
+ $ gxemul -X -M64 -E dec -e 3max -d rootdisk.img -d c:/dev/cd0c -j vmunix
@@ -781,51 +989,61 @@
When the installation is completed, the following command should start
Ultrix from the harddisk image:
- $ gxemul -X -b -M64 -E dec -e 3max -j vmunix -d rootdisk.img
+ $ gxemul -X -M64 -E dec -e 3max -j vmunix -d rootdisk.img
+Ultrix mostly seems to work with dynamic binary translation (which can
+be disabled by the -B command line option). If you have a
+very fast host machine, and use bintrans, you might experience a weird
+timer related bug, which makes it impossible to logon to the system. It is
+triggered when the emulation goes faster than any real DECstation machine
+was capable of running. A temporary workaround is to add
+-I33000000 to fix the emulated clock speed to 33 million
+instructions per emulated second. (When using -CR4400,
+-I16000000 should be used instead.)
+
-Ultrix mostly seems to work with dynamic binary translation (enabled by
-the -b command line option). If you have a very fast
-host machine, and use bintrans, you might experience a weird timer related
-bug, which makes it impossible to logon to the system. It is triggered
-when the emulation goes faster than any real DECstation machine was
-capable of running. A temporary workaround is to add -I33000000
-to fix the emulated clock speed to 33 million instructions per emulated
-second. (When using -CR4400, -I16000000 should be used instead.)
-
-
-You can experiment with adding -Z2 (for emulating a
-dual-headed workstation) or even -Z3 (tripple-headed), and also the
--Y2 option for scaling down the framebuffer windows by a factor 2x2.
-There is also a -z option for supplying names of X11 displays to
-use. The following example starts Ultrix on an emulated tripple-headed
-workstation, on three different displays (remote1:0.0, localhost:0.0, and
-remote2:0.0), using no scaledown:
- $ gxemul -M64 -bN -E dec -e 3max -jgenvmunix -d rootdisk.img \
- -XZ3 -z remote1:0.0 -z localhost -z remote2:0.0
+You can experiment with adding -Z2 (for emulating a
+dual-headed workstation) or even -Z3 (tripple-headed), and
+also the -Y2 option for scaling down the framebuffer
+windows by a factor 2x2.
+There is also a -z option for supplying names of X11
+displays to use. The following example starts Ultrix on an emulated
+tripple-headed workstation, on three different displays (remote1:0.0,
+localhost:0.0, and remote2:0.0), using no scaledown:
+ $ gxemul -M64 -N -E dec -e 3max -jgenvmunix -d rootdisk.img \
+ -XZ3 -z remote1:0.0 -z localhost:0.0 -z remote2:0.0
+The photo below shows a single Ultrix session running tripple-headed in
+GXemul on an Alpha 21164PC, with displays on a Sun Ultra1 (to the left),
+on the Alpha itself (in the middle), and on an HP700/RX X-terminal (8-bit
+color depth, running off the Alpha) to the right.
+
+
+
+
+
+
The X11 displays may differ in bit depth and endianness. Unfortunately,
there is no way yet to set the scaledown factor on a per-window basis, so
the scaledown factor affects all windows.
-(If you didn't use -Zn during the installation, and
-compiled your own /vmunix, then it will not contain support for multiple
-graphics cards. To overcome this problem, use the generic kernel, -j
-genvmunix, whenever you are running the emulator with a different
-setup than the one you used when Ultrix was installed.)
-
-
-A note for the historically interested out there:
-OSF/1 for MIPS is quite similar to Ultrix, so that is possible to run
-as well. If you are unsuccessful in installing Ultrix
-or OSF/1 directly in the emulator, you can always install it on your real
-machine onto a real SCSI disk, and then copy the contents of that SCSI
-disk into a file (using dd(1)), and use that file as a disk image
-file in the emulator.
+(If you didn't use -Zn during the installation, and
+compiled your own /vmunix, then it will not contain support for
+multiple graphics cards. To overcome this problem, use the generic kernel,
+-j genvmunix, whenever you are running the emulator with a
+different setup than the one you used when Ultrix was installed.)
+
+
+A note for the historically interested: OSF/1 for MIPS was quite similar
+to Ultrix, so that is possible to run as well. If you are unsuccessful
+in installing Ultrix or OSF/1 directly in the emulator, you can always
+install it on your real machine onto a real SCSI disk, and then copy the
+contents of that SCSI disk into a file (using dd(1)), and use
+that file as a disk image file in the emulator.
@@ -834,7 +1052,7 @@
-
How to run Sprite for DECstation in GXemul:
+Sprite for DECstation:
Sprite was a research operating system at the University of Berkeley.
The Unix Heritage Society (TUHS, www.tuhs.org)
@@ -844,18 +1062,23 @@
http://www.cs.berkeley.edu/projects/sprite/retrospective.html.
+
+
+
+
+
+
The following instructions should let you run Sprite in the emulator:
- - Download the Sprite harddisk image using ftp or http:
- http://www.es.embnet.org/Services/ftp/misc/TUHS/other_os/Sprite/ds5000.bt
- or ftp://ftp.es.embnet.org/misc/TUHS/other_os/Sprite/ds5000.bt
+
- Download the Sprite harddisk image:
+ ftp://ftp.es.embnet.org/pub/misc/TUHS/other_os/Sprite/ds5000.bt
83973120 bytes, MD5 = ec84eeeb20fe77b758370d5e312e4a5e
- Start the emulator with the following command line:
- $ gxemul -X -b -E dec -e 3max -M128 -d ds5000.bt -j vmsprite -o ''
+ $ gxemul -X -E dec -e 3max -M128 -d ds5000.bt -j vmsprite -o ''
@@ -867,7 +1090,7 @@
- Your machine's Ethernet address: 10:20:30:40:50:60
+ Your machine's Ethernet address: 10:20:30:00:00:10
Your machine's IP: 10.0.0.1
Subnet mask: 0xff000000
Gateway's Ethernet address: 60:50:40:30:20:10
@@ -875,22 +1098,17 @@
-Unfortunately, at the end of
-http://www.es.embnet.org/Services/ftp/misc/TUHS/other_os/Sprite/boot.txt, the
-following sad statement can be found:
+Unfortunately, at the end of ftp://ftp.es.embnet.org/pub/misc/TUHS/other_os/Sprite/boot.txt,
+the following sad statement can be found:
The bootable Sprite image is meant to be a demonstration of Sprite, not
a robust Sprite system. There are several missing things, such as
floating point and network support.
-
-Once you are logged in as root, running xinit will start the X11
-environment.
+
Once you are logged in as root, running xinit will
+start the X11 environment.
-
-Sprite works fine with dynamic binary translation (enabled by
-adding -b to the command line options).
@@ -898,18 +1116,31 @@
-
How to install Debian GNU/Linux for DECstation in GXemul:
+Debian GNU/Linux for DECstation:
-
-NOTE: This is experimental, and extremely
+NOTE: This is experimental, and extremely
unstable. During my tests, even pressing the wrong key during the install
-(for example the wrong cursor key) can cause a kernel Oops.
-I think this has to do with interrupts from the serial controller.
-Hopefully using the -U command line option will reduce the risk for such
-crashes. (I haven't had time to come up with a clean solution to this yet;
-it feels like a buffer overflow in Linux' serial driver for the 5000/200,
-but it is also likely that it is a bug in GXemul.)
-
+(for example the wrong cursor key) can cause a kernel Oops. My success
+rate is probably around 50%.
+
+I think this has to do with interrupts from the serial controller.
+Hopefully using the -U command line option will reduce the
+risk for such crashes. (I haven't had time to come up with a clean
+solution to this yet; it feels like a buffer overflow in Linux' serial
+driver for the 5000/200, but it is also likely that it is a bug in GXemul.)
+
+
Everything runs extremely slow. Even if you have a very fast host
+machine, an install attempt can still take several hours!
+
+
+
+
+
+
+
+
+
+
The following steps should let you install Debian GNU/Linux for DECstation
@@ -923,73 +1154,47 @@
Download an install kernel:
- http://http.us.debian.org/debian/dists/testing/main/
- installer-mipsel/current/images/r3k-kn02/boot.img
- or
- http://http.us.debian.org/debian/dists/unstable/main/
- installer-mipsel/current/images/r3k-kn02/boot.img
+ http://ftp.egr.msu.edu/debian/dists/stable/main/installer-mipsel/current/images/r3k-kn02/boot.img
- depending on whether you want to install Debian "Testing" or
- "Unstable".
For a text-mode installation, start the emulator like this:
- $ gxemul -E dec -e 3max -b -U -M64 -o 'console=ttyS3' -d debian.img -O boot.img
+ $ gxemul -E dec -e 3max -U -M64 -o 'console=ttyS3' -d debian.img -O boot.img
-
-
-
-Debian GNU/Linux on DECstation works reasonably fine with dynamic
-binary translation, enabled by the -b command line option. (Without
-this option, the emulator might be less buggy, but also too slow to be
-useful when running Linux as a guest OS.)
-
-
-(If you want to, you can try -X instead of -o 'console=ttyS3' on
-the command line. This will cause Linux to use the graphical framebuffer.
-Unfortunately, Linux does not seem to have a driver for the DZ11 keyboard
-controller yet, so you cannot interact with the system. You will see the
-penguin in the upper lefthand corner while booting, and nicely rendered Unicode
-characters, but that's about it.)
-
-
-You need to enter some values during the installation procedure, for example
-network settings. The following should work:
-
-
- DHCP: No, choose "Configure network manually"
- IP address: 10.0.0.1
- Netmask: 255.0.0.0
- Gateway: 10.0.0.254
- Name server addresses: 10.0.0.254
+ (If you want to, you can try -X instead of
+ -o 'console=ttyS3' on the command line. This will
+ cause Linux to use the graphical framebuffer. Unfortunately, Linux
+ does not seem to have a driver for the DZ11 keyboard controller yet,
+ so you cannot interact with the system. You will see the penguin in
+ the upper lefthand corner while booting, and nicely rendered Unicode
+ characters, but that's about it.)
+
+ You need to enter some values during the installation procedure, for
+ example network settings. The following should work:
+ DHCP: No, choose "Configure network manually"
+ IP address: 10.0.0.1
+ Netmask: 255.0.0.0
+ Gateway: 10.0.0.254
+ Name server addresses: 10.0.0.254
-
-
-
- Once the first phase of the install has finished, the following command
should let you boot into Debian, and perform post-install
configuration:
- $ gxemul -E dec -e 3max -U -b -M64 -o 'console=ttyS3' -d debian.img
-
-
-
+ $ gxemul -E dec -e 3max -U -M64 -o 'console=ttyS3' -d debian.img
-
-It seems that there's a problem with getting a login prompt on serial
-console (at least when I've done test installs), so when the installation
-is finished and you're supposed to get a login prompt, you need to press
-CTRL-C and type quit, and then:
-
-
-
- - Download a normal kernel (not a RAMDISK kernel):
- http://http.us.debian.org/debian/dists/testing/main/
- installer-mipsel/current/images/cdrom/vmlinux-2.4.27-r3k-kn02
+
Note: All these steps take a lot of time, so you will have plenty
+ of time to drink lots of cups of coffee.
+
+
- It seems that there's a problem with getting a login prompt on serial
+ console (at least when I've done test installs), so when the
+ installation is finished and you're supposed to get a login prompt,
+ you need to press CTRL-C and type quit, and then:
+ download a normal kernel (not a RAMDISK kernel):
+ http://ftp.egr.msu.edu/debian/dists/stable/main/installer-mipsel/current/images/cdrom/vmlinux-2.4.27-r3k-kn02
-
- - Boot Debian using the following command line:
- $ gxemul -E dec -e 3max -U -b -M64 -o \
+
and boot Debian using the following command line:
+ $ gxemul -E dec -e 3max -U -M64 -o \
'console=ttyS3 root=/dev/sda1 rw init=/bin/sh' \
-d debian.img vmlinux-2.4.27-r3k-kn02
@@ -999,6 +1204,7 @@
sh-2.05b# echo 'T3:23:respawn:/sbin/getty -L ttyS3 9600 vt100' >> /etc/inittab
sh-2.05b# echo 'ttyS3' >> /etc/securetty
sh-2.05b# sync; umount /
+ sh-2.05b# halt
@@ -1007,7 +1213,7 @@
Use this command to boot from the completely installed disk image:
- $ gxemul -E dec -e 3max -U -b -M64 -o 'console=ttyS3' -d debian.img
+ $ gxemul -E dec -e 3max -U -M64 -o 'console=ttyS3' -d debian.img
@@ -1017,10 +1223,10 @@
linux-mips has
support for keyboards now, on DECstation 5000/200, so it is
possible to run Debian GNU/Linux with framebuffer/keyboard.
-(Add -X (or -XY2) and remove the console=ttyS3 option.)
-He has made a kernel available here:
-
-http://home.tal.org/~milang/o2/patches/vmlinux-2.4.29-rc2-r3k-mipsel-decstation
+(Add -X (or -XY2) and remove the
+console=ttyS3 option.) He has made a kernel available here:
+
+http://home.tal.org/~milang/o2/kernels/vmlinux-2.4.29-rc2-r3k-mipsel-decstation
It has other problems (ethernet doesn't seem to work, for
example), but at least it doesn't Oops that often. ]
@@ -1031,14 +1237,16 @@
-
How to run Redhat Linux for DECstation in GXemul:
+Redhat Linux for DECstation:
-
NOTE: This is experimental, and extremely
-unstable. Read the note about '-U' in the section on how to install
-Debian.
+unstable. Read the note about -U in the section on how to
+install Debian.
+
+
+
The following steps should let you run Redhat Linux for DECstation in GXemul:
@@ -1046,8 +1254,7 @@
- Download a kernel. This is a Debian kernel, but it works fine:
- http://http.us.debian.org/debian/dists/testing/main/
- installer-mipsel/current/images/cdrom/vmlinux-2.4.27-r3k-kn02
+ http://ftp.egr.msu.edu/debian/dists/stable/main/installer-mipsel/current/images/cdrom/vmlinux-2.4.27-r3k-kn02
- Download a root filesystem tree:
@@ -1076,7 +1283,7 @@
(Note sda1 instead of sdc1.)
- To boot Linux, start the emulator like this:
- $ gxemul -E dec -e 3max -U -b -M128 -o \
+ $ gxemul -E dec -e 3max -U -M128 -o \
"console=ttyS3 root=/dev/sda1 ro" -d redhat.img vmlinux-2.4.27-r3k-kn02
@@ -1084,14 +1291,14 @@
If you need to boot into single user mode, try the following:
- $ gxemul -E dec -e 3max -U -b -o "console=ttyS3 root=/dev/sda1 rw init=/bin/sh" \
+ $ gxemul -E dec -e 3max -U -o "console=ttyS3 root=/dev/sda1 rw init=/bin/sh" \
-d redhat.img vmlinux-2.4.27-r3k-kn02
-
-Redhat Linux on DECstation in R3000 mode should work fine with dynamic binary
-translation (enabled by the -b command line option).
+
Redhat Linux on DECstation in R3000 mode should work fine with dynamic
+binary translation, but if things are buggy, it can be disabled by
+using the -B command line option.
NOTE: You can add -X and remove console=ttyS3 from the command
@@ -1114,10 +1321,18 @@
+
+
+
+
+
+
+
+
+
-
How to run Mach/PMAX in GXemul:
+Mach/PMAX:
-
Read the following link if you want to know more about Mach in general:
http://www-2.cs.cmu.edu/afs/cs/project/mach/public/www/mach.html
@@ -1130,6 +1345,10 @@
+
+
+
+
The following steps should let you experiment with running Mach
for DECstation in the emulator:
@@ -1174,6 +1393,185 @@
+
+
+
+
+
+
+
OpenBSD/sgi:
+
+OpenBSD/sgi
+can (almost) run in GXemul on an emulated O2 (SGI-IP32) with root on nfs.
+
+
+
+
+
+
NOTE: I haven't succeeded all the way with
+this yet, and this shows/triggers many bugs in the emulator, but some of
+it works.
+
+
GXemul does not yet emulate the AHC PCI SCSI controller in the O2. (I have
+mailed Adaptec several times, asking for documentation, but never received
+any reply.) OpenBSD/sgi can still run, as long as it doesn't use SCSI. For
+a simple test with the ramdisk (install) kernel, try dowloading
+ ftp://ftp.se.openbsd.org/pub/OpenBSD/3.7/sgi/bsd.rd
+
+
and run gxemul -E sgi -e o2 bsd.rd.
+
+It might also be possible to netboot. Another emulated machine must
+then be used as the nfs root server, and the emulated O2 machine must boot
+as a diskless
+client. Performing this setup is quite time consuming, but necessary:
+
+
+
+ - First of all, the "nfs server" machine must be set up.
+ This needs to have a 800 MB /tftpboot partition.
+ Install NetBSD/pmax 2.0.2 from CDROM
+ inside the emulator. (Don't forget to add the extra partition!)
+
+
- Configure the nfs server machine to act as an nfs server.
+ Start up the emulated DECstation:
+ $ gxemul -M64 -Edec -e3max -d nbsd_pmax.img
+
and enter the following commands as root
+ inside the emulator:
+ |
+echo hostname=server >> /etc/rc.conf
+echo ifconfig_le0=\"inet 10.0.0.2\" >> /etc/rc.conf
+echo nameserver 10.0.0.254 >> /etc/resolv.conf
+echo 10.0.0.254 > /etc/mygate
+echo /tftpboot -maproot=root 10.0.0.1 > /etc/exports
+echo rpcbind=YES >> /etc/rc.conf
+echo nfs_server=YES >> /etc/rc.conf
+echo mountd=YES >> /etc/rc.conf
+echo bootparamd=YES >> /etc/rc.conf
+printf "client root=10.0.0.2:/tftpboot \\\n swap=10.0.0.2:/tftpboot/swap\n" > /etc/bootparams
+echo "10:20:30:00:00:10 client" > /etc/ethers
+echo 10.0.0.1 client > /etc/hosts
+reboot
+ |
+ - Start the DECstation emulation again, and download the
+ OpenBSD/sgi distribution:
(NOTE: This
+ takes quite some time, even if you have a fast network connection.)
+ |
+cd /tftpboot; ftp -i ftp.se.openbsd.org
+(log in as anonymous...)
+cd pub/OpenBSD/3.7/sgi
+mget b* c* e* g* m*
+quit
+sh
+for a in *.tgz; do echo $a; tar zxfp $a; done
+echo 10.0.0.2:/tftpboot / nfs rw 0 0 > /tftpboot/etc/fstab
+dd if=/dev/zero of=swap bs=1024 count=32768
+halt
+ |
+ - Download the OpenBSD/sgi GENERIC and RAMDISK kernels:
+ ftp://ftp.se.openbsd.org/pub/OpenBSD/3.7/sgi/bsd
+ MD5 (bsd) = f16eaf3dcbd51876db7c25f70e6d8a08
+ ftp://ftp.se.openbsd.org/pub/OpenBSD/3.7/sgi/bsd.rd
+ MD5 (bsd.rd) = 4843e6139d8dd04b03d5f0e33e9a4f7b
+
+
+ - Create a configuration file called config_client:
+
|
+!!gxemul
+!
+! Configuration file for running OpenBSD/sgi diskless with
+! a NetBSD/pmax machine as the nfs server.
+!
+! This config file is for the client.
+
+emul(
+ net(
+ add_remote("127.0.0.1:12444") ! the server
+ local_port(12445) ! the client
+ )
+
+ machine(
+ name("client machine")
+ serial_nr(1)
+
+ type("sgi")
+ subtype("o2")
+
+ ! load("bsd")
+ load("bsd.rd")
+ )
+)
+ |
+ ... and another configuration file for the server,
+ config_server:
+ |
+!!gxemul
+emul(
+ net(
+ local_port(12444) ! the server
+ add_remote("127.0.0.1:12445") ! the client
+ )
+
+ machine(
+ name("nfs server")
+ serial_nr(2)
+
+ type("dec")
+ subtype("5000/200")
+
+ disk("nbsd_pmax.img")
+ )
+)
+ |
+ - Boot the "nfs server" and the OpenBSD/sgi
+ "client machine" as two separate emulator instances:
+ in one xterm:
+ $ gxemul @config_server
+
+ and then, in another xterm:
+ $ gxemul @config_client
+
+
+ - In the OpenBSD/sgi window, choose "S" (for Shell), and type:
+
|
+ifconfig mec0 10.0.0.1; route add default 10.0.0.254
+mount -v 10.0.0.2:/tftpboot /mnt
+cd /mnt/dev; ./MAKEDEV all; cd /; umount /mnt
+halt
+ |
+
+
+You might want to log in as root on the server machine, and
+run tcpdump -lnvv or similar, to see that what the client machine
+actually does on the network. The MAKEDEV script takes almost
+forever, so be patient.
+
+
NOTE: Everything up to this point should work.
+However, the next step (in gray) doesn't actually work:
+
+
Once everything has been set up correctly, change
+bsd.rd in config_client to just bsd (the GENERIC
+kernel). It should now be possible to boot OpenBSD/sgi using the NetBSD/pmax
+nfs server. (When asked for "root device :" on the OpenBSD machine,
+enter mec0.)
+
+
But it doesn't work. Probably because GXemul's
+implementation of the mec (ethernet card used in the O2) is too much of
+a quick hack. For now, use the bsd.rd kernel, and (at every
+boot) type:
+ s (for Shell)
+ ifconfig mec0 10.0.0.1; route add default 10.0.0.254
+ mount -v 10.0.0.2:/tftpboot /mnt
+ cd /mnt; usr/sbin/chroot .
+ sh etc/rc
+
+
+This will not cause OpenBSD to be booted
+normally, but at least a few basic things will work.
+By the way, the emulator performs so poorly, that you will have time to
+fetch several cups of coffee for each of the steps above.
+
+
+