|
Model: |
@@ -356,13 +348,13 @@
$ dd if=/dev/zero of=nbsd_hpcmips.img bs=1024 count=1 seek=1990000
- Download the NetBSD 2.0 for hpcmips ISO image:
- 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 \
+ $ gxemul -E hpc -e mobilepro800 -X -d nbsd_hpcmips.img \
-d b:hpcmipscd.iso -j hpcmips/installation/netbsd.gz
@@ -376,20 +368,23 @@
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
-
-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 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
-
-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
+
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.)
@@ -401,7 +396,7 @@
-
Installing NetBSD/cobalt in GXemul:
+NetBSD/cobalt:
NetBSD/cobalt is tricky
to install, because the Cobalt machines were designed for Linux, and not
@@ -424,38 +419,37 @@
$ dd if=/dev/zero of=nbsd_cobalt.img bs=1024 count=1 seek=1999000
- Download the generic kernel for Cobalt (and gunzip it) and
- the 2.0 ISO image:
- ftp://ftp.se.netbsd.org/pub/NetBSD/NetBSD-2.0/cobalt/binary/kernel/netbsd-GENERIC.gz
- ftp://ftp.se.netbsd.org/pub/NetBSD/iso/2.0/cobaltcd.iso
+
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 according to instructions further up
- on this page.
+ Install NetBSD/pmax 2.0.2 according to instructions
+ further up on this page.
Start NetBSD/pmax like this:
- $ gxemul -b -Edec -e3max -d nbsd_pmax.img -d cobaltcd.iso -d nbsd_cobalt.img
+ $ 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
+ 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
You should now be able to boot NetBSD/cobalt like this:
- $ gxemul -b -M128 -E cobalt -d nbsd_cobalt.img netbsd-GENERIC
+ $ gxemul -M128 -E cobalt -d nbsd_cobalt.img netbsd-GENERIC.gz
Note that the installation instructions above create a filesystem
@@ -474,37 +468,271 @@
-
+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.
@@ -514,14 +742,15 @@
-
Installing 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.
@@ -557,14 +786,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
+ (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.
+ 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 obsd_pmax.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
@@ -595,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 obsd_pmax.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
@@ -609,19 +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
@@ -635,7 +862,7 @@
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 obsd_pmax.img -j bsd
+ $ gxemul -E dec -e 3max -X -M64 -o '-aN' -d obsd_pmax.img -j bsd
@@ -653,9 +880,10 @@
+
-
Installing OpenBSD/arc in GXemul:
+OpenBSD/arc:
It is possible to run OpenBSD/arc on an emulated Acer PICA-61 in the
emulator.
@@ -688,14 +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
+ (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.
+ 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 b:openbsd_arc_2.3.iso -j 2.3/arc/bsd.rd
+ $ 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
@@ -708,7 +936,7 @@
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
@@ -716,120 +944,15 @@
-
-
-
-
-
Installing Ultrix/RISC in GXemul:
+Ultrix/RISC:
Ultrix 4.x can run in GXemul on an emulated DECstation 5000/200.
+(Ultrix was the native OS for these machines, but NetBSD/pmax is
+also usable.)
@@ -850,7 +973,7 @@
(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 -b -M64 -E dec -e 3max -d rootdisk.img -d bc:/dev/cd0c -j vmunix
+ $ 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
@@ -858,7 +981,7 @@
new rootdisk, to continue the installation process.
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
@@ -866,19 +989,18 @@
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 (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.)
+
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.)
You can experiment with adding -Z2 (for emulating a
@@ -889,7 +1011,7 @@
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 \
+ $ gxemul -M64 -N -E dec -e 3max -jgenvmunix -d rootdisk.img \
-XZ3 -z remote1:0.0 -z localhost:0.0 -z remote2:0.0
@@ -930,7 +1052,7 @@
-
Running 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)
@@ -950,14 +1072,13 @@
- - 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/pub/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 ''
@@ -969,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
@@ -977,18 +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.
+
@@ -996,17 +1116,21 @@
-
Installing Debian GNU/Linux for DECstation in GXemul:
+Debian GNU/Linux for DECstation:
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.
+(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!
@@ -1030,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
@@ -1106,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
@@ -1114,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
@@ -1138,7 +1237,7 @@
-
Running 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
@@ -1155,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:
@@ -1185,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
@@ -1193,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
@@ -1223,8 +1321,17 @@
+
+
+
+
+
+
+
+
+
-
Running Mach/PMAX in GXemul:
+Mach/PMAX:
Read the following link if you want to know more about Mach in general:
@@ -1286,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.
+
+
+