--- trunk/doc/guestoses.html 2007/10/08 16:18:00 4 +++ trunk/doc/guestoses.html 2007/10/08 16:19:01 16 @@ -1,19 +1,16 @@ - -GXemul documentation: Installing and running "guest OSes" - +Gavare's eXperimental Emulator:   Installing and running "guest OSes" +
-GXemul documentation:        +Gavare's eXperimental Emulator:    Installing and running "guest OSes"

- - + Back to the index


@@ -50,23 +48,28 @@

+ +

In addition to the "working" guest operating systems listed above, +you might find the following information interesting: +

@@ -97,21 +100,19 @@


-

Installing NetBSD/pmax in GXemul:

+

NetBSD/pmax:

         - + -

-To install NetBSD/pmax onto a harddisk image in the emulator, follow these -instructions: +

To install NetBSD/pmax +onto a harddisk image in the emulator, follow these instructions: -

-

    +

    1. Create an empty harddisk image, which will be the root disk that NetBSD installs itself onto:
      -	$ dd if=/dev/zero of=nbsd_pmax.img bs=1 count=512 seek=1900000000
      +	dd if=/dev/zero of=nbsd_pmax.img bs=1 count=512 seek=1900000000
       
       
    @@ -128,41 +129,34 @@
  1. Download a NetBSD CD-ROM iso image:
     	ftp://ftp.netbsd.org/pub/NetBSD/iso/1.6.2/pmaxcd.iso
     	or
    -	ftp://ftp.netbsd.org/pub/NetBSD/iso/2.0/pmaxcd.iso
    +	ftp://ftp.netbsd.org/pub/NetBSD/iso/2.0.2/pmaxcd.iso
     
     
  2. Start the emulator like this:
    -	$ gxemul -X -b -E dec -e 3max -d nbsd_pmax.img -d bc:pmaxcd.iso
    +	gxemul -e 3max -A -d nbsd_pmax.img -d bc:pmaxcd.iso
     
    + and proceed like you would do if you were installing NetBSD on a real + DECstation. Remember to choose vt100 as your terminal + type, and not rcons.

For an ftp install, substitute steps 2 and 3 above with these:

    -
  1. Download a NetBSD pmax INSTALL kernel, and gunzip it:
    +  
  2. Download a NetBSD pmax INSTALL kernel:
     	ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-1.6.2/pmax/binary/kernel/netbsd-INSTALL.gz
     	or
    -	ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0/pmax/binary/kernel/netbsd-INSTALL.gz
    -
    -	$ gunzip netbsd-INSTALL.gz
    +	ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/pmax/binary/kernel/netbsd-INSTALL.gz
     
     
  3. Start the emulator like this:
    -	$ gxemul -X -b -E dec -e 3max -d nbsd_pmax.img -O netbsd-INSTALL
    +	gxemul -e 3max -A -d nbsd_pmax.img -O netbsd-INSTALL.gz
     
    -
- -

-(If you don't want to use a graphical framebuffer during the install, -you can remove -X from the command line, but then make sure you -choose 'vt100' when prompted with which terminal type to use, and not -'rcons'.) - -

-Then proceed like you would do if you were installing NetBSD on a real -DECstation. If you are installing from the network, then suitable networking -parameters are as follows:

+	and proceed like you would do if you were installing NetBSD on a real
+	DECstation. Remember to choose vt100 as your terminal
+	type, and not rcons. Suitable networking parameters are as
+	follows:
 	Which device shall I use? [le0]: le0
 	..
 	Your DNS domain: mydomain.com
@@ -172,29 +166,31 @@
 	IPv4 gateway: 10.0.0.254
 	IPv4 name server: 10.0.0.254
 
+ (If using 10.0.0.254 as the nameserver fails, then try entering the + IP number of a real-world nameserver instead.) + -

-(If using 10.0.0.254 as the nameserver fails, then try entering the -IP number of a real-world nameserver instead.) +

If you want to use a graphical framebuffer during the install, you can +add -X -Y2 to the command line, and choose rcons +instead of vt100 when prompted with which terminal type to use. +(By just using -X, you will get a full-size framebuffer +window.) -

-When the installation is completed, the following command should start +

When the installation is finished, the following command should start NetBSD from the harddisk image:

-	$ gxemul -X -b -M64 -E dec -e 3max -d nbsd_pmax.img
+	gxemul -e 3max -d nbsd_pmax.img
 
-

-Use startx to start X windows. +

NOTE: For some reason, NetBSD 2.0.2 +doesn't work with X out-of-the-box on pmax. It seems that this has to do +with NetBSD switching console system to "WSCONS" somewhere between 1.6.2 +and 2.0. For now, if you want X, then try NetBSD 1.6.2. -

-NOTE: For some reason, NetBSD 2.0 doesn't -work with X out-of-the-box on pmax. It seems that this has to do with a -switch to WSCONS. For now, if you want X, then try NetBSD 1.6.2. - -

-If you want to run without the X framebuffer, use this instead:

-	$ gxemul -E dec -e 3max -b -d nbsd_pmax.img
+

With NetBSD/pmax 1.6.2, try the following to start with a framebuffer:

+	gxemul -X -e 3max -d nbsd_pmax.img
 
+and log in as root and type startx to start X windows. + @@ -204,9 +200,11 @@


-

Installing NetBSD/arc in GXemul:

+

NetBSD/arc:

-It is possible to run NetBSD/arc on an emulated Acer PICA-61 in the emulator. +It is possible to install and run NetBSD/arc +on an emulated Acer PICA-61 in the emulator.

         @@ -220,62 +218,51 @@

  1. Create an empty harddisk image, which will be the root disk that NetBSD installs itself onto:
    -	$ dd if=/dev/zero of=nbsd_arc.img bs=1024 count=1 seek=900000
    +	dd if=/dev/zero of=nbsd_arc.img bs=1024 count=1 seek=900000
     
     
    -
  2. Download a NetBSD/arc CDROM image from ftp:
    +  
  3. Download a NetBSD/arc 1.6.2 CDROM image, and a generic NetBSD/arc + kernel:
     	ftp://ftp.netbsd.org/pub/NetBSD/iso/1.6.2/arccd.iso
     
    -
    -
  4. Download a NetBSD/arc installation (ramdisk) kernel, - and gunzip it:
    -	ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-1.6.2/arc/binary/kernel/netbsd.RAMDISK.gz
    -
    +	ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-1.6.2/arc/binary/kernel/netbsd-GENERIC.gz
     
  5. Start the emulator using this command line:
    -	$ gxemul -E arc -e pica -b -d nbsd_arc.img -d arccd.iso netbsd.RAMDISK
    +	gxemul -e pica -x -d nbsd_arc.img -d bc:arccd.iso \
    +	  -j arc/binary/kernel/netbsd.RAMDISK.gz
     
     
    + (Try removing -x if you have problems with the xterm.) +

  6. From now on, you have to use your imagination, as there is no automatic installation program for NetBSD/arc. Here are some tips - and hints on how you can proceed with the install:
    -	$ mount /dev/cd0a /mnt2
    -	$ disklabel -i -I sd0    (for example 'a', '4.2BSD', '1c',
    -	    '700M', 'b', 'swap', '701M', '$', 'P', 'W', 'y', and 'Q')
    -	$ newfs /dev/sd0a
    -	$ mount /dev/sd0a /mnt
    -	$ cd /mnt
    -	$ for a in /mnt2/arc/binary/sets/*.tgz; do tar xvzpf $a; done
    -	$ cd dev; sh MAKEDEV all
    -	$ cd ../etc; echo "rc_configured=YES" >> rc.conf
    -	$ cat > /mnt/etc/fstab
    -	    /dev/sd0a / ffs rw 1 1
    -	    /dev/sd0b none swap sw 0 0
    -	    (ctrl-d)
    -	$ cd /; umount /mnt; umount /mnt2
    -	$ halt
    -
    -
    -
  7. Download a generic NetBSD/arc kernel, - and gunzip it:
    -	ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-1.6.2/arc/binary/kernel/netbsd-GENERIC.gz
    -
    -
    + and hints on how you can proceed with the install: +

           
    +mount /dev/cd0a /mnt2
    +disklabel -i -I sd0    (for example 'a', '4.2BSD', '1c',
    +    '700M', 'b', 'swap', '701M', '$', 'P', 'W', 'y', and 'Q')
    +newfs /dev/sd0a
    +mount /dev/sd0a /mnt
    +cd /mnt
    +for a in /mnt2/arc/binary/sets/*.tgz; do echo $a; tar xzpf $a; done
    +cd dev; sh MAKEDEV all
    +cd ../etc; echo "rc_configured=YES" >> rc.conf
    +cat > /mnt/etc/fstab
    +/dev/sd0a / ffs rw 1 1
    +/dev/sd0b none swap sw 0 0
    +(press ctrl-d)
    +cd /; umount /mnt; umount /mnt2
    +halt
    +

-

-You can now use the generic NetBSD/arc kernel to boot from the harddisk -image, using the following command: -

-

-	$ gxemul -E arc -e pica -b -d nbsd_arc.img netbsd-GENERIC
+

You can now use the generic NetBSD/arc kernel to boot from the harddisk +image, using the following command:

+	gxemul -e pica -x -d nbsd_arc.img netbsd-GENERIC.gz
 
 
-

-Using -b (enabling dynamic binary translation), as in the instructions -above, is not 100% stable. If you experiment weird crashes, try removing that -option and try again. +

When asked for "root device: ", enter sd0. @@ -285,15 +272,15 @@


-

Installing NetBSD/hpcmips in GXemul:

+

NetBSD/hpcmips:

-It is possible to install NetBSD/hpcmips onto a disk image, on an an -emulated MobilePro 770, 780, 800, or 880. The emulator treats the -different machine models as being almost identical; the most important -difference is regarding the framebuffer. +It is possible to install NetBSD/hpcmips onto a disk +image, on an an emulated MobilePro 770, 780, 800, or 880. The emulator +treats the different machine models as being almost identical; the most +important difference is regarding the framebuffer. -

- +

@@ -354,51 +341,48 @@

These instructions show an example of how to install -NetBSD/hpcmips on an emulated MobilePro 800: +NetBSD/hpcmips on an emulated MobilePro 770:

  1. Create an empty harddisk image, which will be the root disk that you will install NetBSD/hpcmips onto:
    -	$ dd if=/dev/zero of=nbsd_hpcmips.img bs=1024 count=1 seek=1990000
    +	dd if=/dev/zero of=nbsd_hpcmips.img bs=1024 count=1 seek=1990000
     
     
    -
  2. 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
    +  
  3. Download the NetBSD/hpcmips 2.0.2 ISO image, and a generic kernel:
    +	ftp://ftp.netbsd.org/pub/NetBSD/iso/2.0.2/hpcmipscd.iso
    +
    +	ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/hpcmips/binary/kernel/netbsd-GENERIC.gz
     
    -
    (You may want to choose a mirror closer to you, if .se is slow.) +
  4. Start the installation like this:
    -	$ gxemul -E hpc -e mobilepro800 -b -X -d nbsd_hpcmips.img -d hpcmipscd.iso netbsd
    +	gxemul -e mobilepro770 -X -A -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 - MobilePro 800. (Install onto wd0, choose "Use entire disk" when + MobilePro 770. (Install onto wd0, choose "Use entire disk" when doing the MBR partitioning, and choose wd1d (not cd0c) as the CDROM device to install from.)

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
+Use the following command line to boot the emulated hpcmips machine:
+	gxemul -e mobilepro770 -X -d nbsd_hpcmips.img 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
-
-
+

If you change your mind at this point regarding which machine type to +emulate, you might for example prefer a MobilePro 800, then you can change +that at any time. NetBSD/hpcmips 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.) +

When you have logged in as root, you can use startx to +start X Windows, but there is no mouse support yet so only keyboard input +is available. This makes it a bit akward to use X. @@ -409,7 +393,7 @@


-

Installing NetBSD/cobalt in GXemul:

+

NetBSD/cobalt:

NetBSD/cobalt is tricky to install, because the Cobalt machines were designed for Linux, and not @@ -429,41 +413,41 @@
  1. 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
    +	dd if=/dev/zero of=nbsd_cobalt.img bs=1024 count=1 seek=1999000
     
     
    -
  2. Install NetBSD/pmax 2.0 according to instructions further up - on this page. -

    -

  3. 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
    +  
  4. Download the generic kernel for Cobalt and the 2.0.2 ISO image:
    +	ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/cobalt/binary/kernel/netbsd-GENERIC.gz
    +	ftp://ftp.netbsd.org/pub/NetBSD/iso/2.0.2/cobaltcd.iso
     
    -
    (You may want to choose a mirror closer to you, if .se is slow.) +
  5. +

    +

  6. Install NetBSD/pmax 2.0.2 according to instructions + further up on this page.

  7. Start NetBSD/pmax like this:
    -	$ gxemul -b -Edec -e3max -d nbsd_pmax.img -d cobaltcd.iso -d nbsd_cobalt.img
    +	gxemul -e3max -A -d nbsd_pmax.img -d cobaltcd.iso -d nbsd_cobalt.img
     
     
  8. 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
    -
    + following commands: (adjust according to taste) +

  Model:
       
+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 @@ -473,6 +457,7 @@ root device (default wd0a): wd0d dump device (default wd0b): none file system (default generic): ffs + init path (default /sbin/init): (just press enter here)
@@ -481,54 +466,339 @@ - +

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. +


+ +

NetBSD/cats:

+ +It is possible to install and run +NetBSD/cats in GXemul. + +

+         + + +

+To install NetBSD/cats onto a disk image, follow these instructions: + +

+

    +
  1. Create an empty harddisk image, which will be the root disk + that you will install NetBSD/hpcmips onto:
    +	dd if=/dev/zero of=nbsd_cats.img bs=1024 count=1 seek=1990000
    +
    +
    +
  2. Download the NetBSD/cats 2.0.2 ISO image and generic + install kernels:
    +	ftp://ftp.netbsd.org/pub/NetBSD/iso/2.0.2/catscd.iso
    +	ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/cats/binary/kernel/netbsd.aout-GENERIC.gz
    +	ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/cats/binary/kernel/netbsd.aout-INSTALL.gz
    +
    +
    +

    +

  3. Start the installation like this:
    +	gxemul -XEcats -d nbsd_cats.img -d catscd.iso netbsd.aout-INSTALL.gz
    +
    +
    + and proceed like you would do if you were installing NetBSD on a real + CATS from CDROM. (Install onto wd0, and choose wd1c (not cd0c) as the + CDROM device to install from.) +
+ +

If everything worked, NetBSD should now be installed on the disk image. +Use the following command line to boot the emulated CATS machine:

+	gxemul -XEcats -d nbsd_cats.img netbsd.aout-GENERIC.gz
+
+
+ +

When asked for root device, enter wd0. + + + + +


-

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.

         @@ -549,33 +819,34 @@

  1. Create an empty harddisk image, which will be the root disk that OpenBSD installs itself onto:
    -	$ dd if=/dev/zero of=obsd_pmax.img bs=1 count=512 seek=900000000
    +	dd if=/dev/zero of=obsd_pmax.img bs=1 count=512 seek=900000000
     
     
  2. Download the entire pmax directory from the ftp server: (approx. 99 MB)
    -	$ wget -r ftp://ftp.se.openbsd.org/pub/OpenBSD/2.8/pmax/
    +	wget -r ftp://ftp.se.openbsd.org/pub/OpenBSD/2.8/pmax/
     
     
    -
  3. Execute the following commands:
    -	$ mv ftp.se.openbsd.org/pub/OpenBSD/2.8/pmax/simpleroot28.fs.gz .
    -	$ gunzip simpleroot28.fs.gz
    -	$ chmod +w simpleroot28.fs		<--- make sure
    -
    -
    +
  4. Execute the following commands: +

           
    +mv ftp.se.openbsd.org/pub/OpenBSD/2.8/pmax/simpleroot28.fs.gz .
    +gunzip simpleroot28.fs.gz
    +chmod +w simpleroot28.fs		<--- make sure
    +

  5. 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.
    -	$ mkisofs -o openbsd_pmax_2.8.iso ftp.se.openbsd.org/pub/OpenBSD/2.8/pmax
    +	(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
     
     
  6. 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 3max -A -M64 -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.)

  7. 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 @@ -587,10 +858,10 @@
  8. When asked for the "root device?", enter rz1.
  9. At "Enter pathname of shell or RETURN for sh:", press enter.
  10. At the # prompt, do the following:
    -	$ fsck /dev/rz1a        (and mark the filesystem as clean)
    -	$ mount /dev/rz1a /
    -	$ mount -t kernfs kern kern
    -	$ ./install
    +	fsck /dev/rz1a        (and mark the filesystem as clean)
    +	mount /dev/rz1a /
    +	mount -t kernfs kern kern
    +	./install
     
     
    and proceed with the install. Good luck. :-) @@ -601,36 +872,32 @@ the directory containing the install sets.

    -

  11. -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'
    +  
  12. 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 3max -A -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 in the installer, perhaps because of the way I used mkisofs.)

    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
    -
    -	# sync
    -	# halt
    -
    +

           
    +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
    +

@@ -643,21 +910,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 obsd_pmax.img -j bsd
+	gxemul -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. + @@ -666,10 +931,10 @@


-

Installing OpenBSD/arc in GXemul:

+

OpenBSD/arc:

-It is possible to run OpenBSD/arc on an emulated Acer PICA-61 in the -emulator. +It is possible to install and run OpenBSD/arc on an emulated Acer PICA-61 +in the emulator.

         @@ -690,24 +955,23 @@

  1. Create an empty harddisk image, which will be the root disk that OpenBSD installs itself onto:
    -	$ dd if=/dev/zero of=obsd_arc.img bs=1024 count=1 seek=700000
    +	dd if=/dev/zero of=obsd_arc.img bs=1024 count=1 seek=700000
     
     
  2. Download the entire arc directory from the ftp server: (approx. 75 MB)
    -	$ wget -np -l 0 -r ftp://ftp.se.openbsd.org/pub/OpenBSD/2.3/arc/
    +	wget -np -l 0 -r ftp://ftp.se.openbsd.org/pub/OpenBSD/2.3/arc/
     
     
  3. 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.
    -	$ mkisofs -o openbsd_arc_2.3.iso ftp.se.openbsd.org/pub/OpenBSD/
    +	(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/
     
     
  4. 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 -e pica -X -A -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 @@ -720,125 +984,75 @@ 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 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.) - @@ -847,9 +1061,11 @@


    -

    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.)

             @@ -863,22 +1079,22 @@

    1. Create an empty harddisk image, which will be the root disk that Ultrix installs itself onto:
      -        $ dd if=/dev/zero of=rootdisk.img bs=1024 count=1 seek=800000
      +        dd if=/dev/zero of=rootdisk.img bs=1024 count=1 seek=800000
       
       
      -
    2. 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
      +  
    3. 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 -A -M64 -e 3max -d rootdisk.img -d bc:/dev/cd0c -j vmunix
       
       
    4. 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 -A -M64 -e 3max -d rootdisk.img -d c:/dev/cd0c -j vmunix
       
       
    @@ -886,49 +1102,60 @@

    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 -A -M64 -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.) - -

    -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
    +

    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 +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 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.) +(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 +contents of that SCSI disk into a file (using dd(1)), and use that file as a disk image file in the emulator. @@ -938,7 +1165,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) @@ -958,14 +1185,13 @@

      -
    1. 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
      +  
    2. Download the Sprite harddisk image:
      +	ftp://ftp.es.embnet.org/pub/misc/TUHS/other_os/Sprite/ds5000.bt
       	83973120 bytes, MD5 = ec84eeeb20fe77b758370d5e312e4a5e
       
       
    3. 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 3max -M128 -d ds5000.bt -j vmsprite -o ''
       
       
    @@ -977,7 +1203,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
    @@ -985,22 +1211,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). @@ -1008,16 +1229,22 @@


    -

    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. -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!

    @@ -1038,77 +1265,53 @@

    1. Create an empty harddisk image, which will be the root disk that Debian installs itself onto:
      -	$ dd if=/dev/zero of=debian.img bs=1024 count=1 seek=2000000
      +	dd if=/dev/zero of=debian.img bs=1024 count=1 seek=3000000
       
       
    2. 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".

    3. 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 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
     
    - -

    -

    1. 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 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: - -

    -

      -
    1. 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. +

      +

    2. 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
       
      -
      -
    3. 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 3max -U -M64 -o \
       	    'console=ttyS3 root=/dev/sda1 rw init=/bin/sh' \
       	    -d debian.img vmlinux-2.4.27-r3k-kn02
       
      @@ -1118,6 +1321,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
       
    @@ -1126,7 +1330,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 3max -U -M64 -o 'console=ttyS3' -d debian.img
     
     
    @@ -1136,10 +1340,9 @@ 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. ] @@ -1150,11 +1353,11 @@


    -

    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 install -Debian. +unstable. Read the note about -U in the section on how to +install Debian.

    @@ -1167,8 +1370,8 @@

    1. 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
       
       
    2. Download a root filesystem tree:
      @@ -1197,7 +1400,7 @@
       
      (Note sda1 instead of sdc1.)

    3. To boot Linux, start the emulator like this:
      -	$ gxemul -E dec -e 3max -U -b -M128 -o \
      +	gxemul -e 3max -U -M128 -o \
       	    "console=ttyS3 root=/dev/sda1 ro" -d redhat.img vmlinux-2.4.27-r3k-kn02
       
       
      @@ -1205,14 +1408,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 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 @@ -1225,8 +1428,7 @@ Read the 2005-01-19 update in the Debian section above, and then, if you do not need ethernet support, try Kaj-Michael Lang's kernel compiled from linux-mips' CVS. - -http://home.tal.org/~milang/o2/patches/vmlinux-2.4.29-rc2-r3k-mipsel-decstation +http://home.tal.org/~milang/o2/kernels/vmlinux-2.4.29-rc2-r3k-mipsel-decstation It should work with framebuffer/keyboard. ] @@ -1235,8 +1437,17 @@


      +


      + + + + + + + +


      -

      Running Mach/PMAX in GXemul:

      +

      Mach/PMAX:

      Read the following link if you want to know more about Mach in general: @@ -1260,20 +1471,21 @@

      1. Compile gxemul with cache emulation: (NOTE: --enable-caches)
        -	$ ./configure --enable-caches; make
        +	./configure --enable-caches; make
         
         
      2. Download the pmax binary distribution for Mach 3.0:
        -        http://lost-contact.mit.edu/afs/athena/user/d/a/daveg/Info/Links/Mach/src/release/pmax.tar.Z
        +	http://lost-contact.mit.edu/afs/athena/user/d/a/
        +	    daveg/Info/Links/Mach/src/release/pmax.tar.Z
         	7263343 bytes, md5 = f9d76c240a6e169921a1df99ad560cc0
         
         
      3. Extract the Mach kernel:
        -        $ tar xfvz pmax.tar.Z pmax_mach/special/mach.boot.MK83.STD+ANY
        +        tar xfvz pmax.tar.Z pmax_mach/special/mach.boot.MK83.STD+ANY
         
         
      4. Create an empty disk image:
        -	$ dd if=/dev/zero of=disk.img bs=1 count=512 seek=400000000
        +	dd if=/dev/zero of=disk.img bs=1 count=512 seek=400000000
         
         
      5. Load the contents of pmax.tar.Z onto the disk image. This is @@ -1290,7 +1502,7 @@ cd /; sync; umount /mnt)

      6. Start the emulator with the following command:
        -	$ gxemul -E dec -e 3max -X -d disk.img \
        +	gxemul -e 3max -X -d disk.img \
         	    pmax_mach/special/mach.boot.MK83.STD+ANY
         
         
        @@ -1298,6 +1510,256 @@ + + + + +


        + +

        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 in the emulator, 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 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: + +

        +

          +
        1. 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. + (Don't forget to add the extra partition!) +

          +

        2. Configure the nfs server machine to act as an nfs server. + Start up the emulated DECstation:
          +	gxemul -e 3max -A -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
          +
          +
        3. Start the DECstation emulation again, and enter the following + commands to 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*tgz 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
          +rm *.tgz
          +dd if=/dev/zero of=swap bs=1024 count=32768
          +halt
          +
          +
        4. 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
          +
          +
          +
        5. 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("localhost: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("localhost:12445")   ! the client
          +    )
          +
          +    machine(
          +	name("nfs server")
          +	serial_nr(2)
          +
          +        type("dec")
          +        subtype("5000/200")
          +
          +        disk("nbsd_pmax.img")
          +    )
          +)
          +
          +
        6. 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
          +
          +
          +
        7. 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. + + + + + + + + +


        + +

        NetBSD/netwinder:

        + +NetBSD/netwinder +could possibly run in GXemul. IT DOES NOT WORK YET! + +

        It is tricky to install, because there is (as far as I know) no INSTALL +kernel. One way to install the NetBSD/netwinder distribution onto a disk +image is to install the files using another (emulated) machine. + +

        +The following instructions will let you install the NetBSD/netwinder +distribution onto a disk image, from an emulated DECstation 3MAX machine: + +

        +

          +
        1. Install NetBSD/pmax 2.0.2 according to instructions + further up on this page. +

          +

        2. Create an empty harddisk image, which will be the disk image + that you will install NetBSD onto:
          +	dd if=/dev/zero of=nbsd_netwinder.img bs=1024 count=1 seek=999000
          +
          +
          +
        3. Download the generic kernel and the 2.0.2 ISO image:
          +	ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/netwinder/binary/kernel/netbsd-GENERIC.gz
          +	ftp://ftp.netbsd.org/pub/NetBSD/iso/2.0.2/netwindercd.iso
          +
          +
          +

          +

        4. Start NetBSD/pmax like this:
          +	gxemul -e 3max -A -d nbsd_pmax.img -d nbsd_netwinder.img -d netwinder.iso
          +
          +
          and execute the following commands as root: +

                 
          +newfs /dev/sd1c
          +mount /dev/cd0c /mnt
          +mkdir /mnt2; mount /dev/sd1c /mnt2
          +cd /mnt2; sh
          +for a in /mnt/netwinder/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/wd0c / ffs rw 1 1" > fstab
          +cd /; umount /mnt; umount /mnt2; halt
          +
          +

        + +

        You should now be able to boot NetBSD/evbmips using this command:

        +	gxemul -E netwinder -d nbsd_netwinder.img netbsd-GENERIC.gz
        +
        + +

        Note: 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): wd0c
        +	dump device (default wd0b): none
        +	file system (default generic):    (just press enter)
        +	init path (default /sbin/init):   (just press enter)
        +
        + + +