--- trunk/doc/guestoses.html 2007/10/08 16:18:11 6 +++ trunk/doc/guestoses.html 2007/10/08 16:19:23 20 @@ -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,29 @@

+ +

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

@@ -97,21 +101,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 +130,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.1/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.1/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 +167,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 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. +

NOTE: For some reason, NetBSD 2.x +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. -

-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 +201,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,15 +219,17 @@

  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 1.6.2 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
     
    +	ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-1.6.2/arc/binary/kernel/netbsd-GENERIC.gz
     
  4. Start the emulator using this command line:
    -	$ gxemul -E arc -e pica -x -b -d nbsd_arc.img -d bc:arccd.iso \
    +	gxemul -e pica -x -d nbsd_arc.img -d bc:arccd.iso \
     	  -j arc/binary/kernel/netbsd.RAMDISK.gz
     
     
    @@ -236,40 +237,33 @@

  5. 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 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
    -	    (ctrl-d)
    -	$ cd /; umount /mnt; umount /mnt2
    -	$ halt
    -
    -
    -
  6. 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 -xb -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
 
 
+

When asked for "root device: ", enter sd0. @@ -279,15 +273,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. -

- +

@@ -348,50 +342,47 @@

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 NetBSD 2.0 for hpcmips ISO image:
    -	ftp://ftp.se.netbsd.org/pub/NetBSD/iso/2.0/hpcmipscd.iso
    +  
  3. Download the NetBSD/hpcmips 2.1 ISO image, and a generic kernel:
    +	ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/hpcmipscd.iso
    +
    +	ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/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  \
    +	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 - doing the MBR partitioning, and choose wd1d (not cd0c) as the - CDROM device to install from.) + MobilePro 770. (Install onto wd0, choose "Use entire disk" when + doing the MBR partitioning, and choose to install from CD-ROM.)

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

  5. Install NetBSD/pmax 2.0 according to instructions further up - on this page. +
  6. Install NetBSD/pmax 2.1 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 @@ -475,38 +466,413 @@ - +

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/cats onto:
    +	dd if=/dev/zero of=nbsd_cats.img bs=1024 count=1 seek=2000000
    +
    +
    +
  2. Download the NetBSD/cats 2.1 ISO image and the generic and install kernels:
    +	ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/catscd.iso
    +	ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/cats/binary/kernel/netbsd.aout-GENERIC.gz
    +	ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/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. +
+ +

Alternatively, to install from FTP, you can skip downloading the ISO, +and start the install without -d catscd.iso. Suitable network +settings are IP 10.0.0.1, gateway/default route 10.0.0.254, netmask +255.0.0.0, nameserver 10.0.0.254. + +

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


+ +

NetBSD/prep:

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

         + + +

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

+

    +
  1. Create an empty harddisk image, which will be the root disk + that you will install NetBSD/prep onto:
    +    dd if=/dev/zero of=nbsd_prep.img bs=1024 count=1 seek=1000000
    +
    +
    +
  2. Download the NetBSD/prep 2.1 ISO image and the generic kernel:
    +    ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/prepcd.iso
    +    ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/prep/binary/kernel/netbsd-GENERIC.gz
    +
    +
    +

    +

  3. Start the installation like this:
    +    gxemul -x -Eprep -d nbsd_prep.img -d rdb:prepcd.iso -j prep/binary/kernel/netbsd-INSTALL.gz
    +
    +
    +

    +

  4. Installation is a bit unsmooth, probably due to bugs in GXemul. + Creating an MBR slice and a disklabel with sysinst bugs out, so + some things have to be done manually.

    + At "(I)nstall, (S)hell, or (H)alt", choose + s. +
    # fdisk -u wd0 +
    Do you want to change our idea of what BIOS thinks? [n] + (just press ENTER) +
    Which partition do you want to change?: [none] 0 +
    sysid: ... (just press ENTER) +
    start: ... 1cyl +
    size: ... (just press ENTER) +
    Which partition do you want to change?: [none] (press ENTER) +
    Should we write new partition table? [n] y +
    # disklabel -I -i wd0 +
    partition> a +
    Filesystem type [?] [unused]: 4.2BSD +
    Start offset ('x' to start after partition 'x') [0c, 0s, 0M]: 1c +
    Partition size ('$' for all remaining) [0c, 0s, 0M]: 900M +
    partition> b +
    Filesystem type [?] [unused]: swap +
    Start offset ('x' to start after partition 'x') [0c, 0s, 0M]: a +
    Partition size ('$' for all remaining) [0c, 0s, 0M]: $ +
    partition> W +
    Label disk [n]? y +
    partition> Q +
    # newfs wd0a +
    # sysinst +
    Choose to install onto wd0. Choose + "a: Edit the MBR partition table" + when presented with that option. +
    Choose the 'a' partition/slice, + set the 'e' ("active") and 'f' ("install") fields to Yes, + and then choose "x: Partition table OK". +
    Choose "b: Use existing partition sizes" in the next + menu. +
    Select partition 'a' and press ENTER. Set field 'k' (mount point) + to '/'. +
    Get out of the partitioner by selecting + "x: Partition sizes ok" twice. +
    At "Write outside MBR partition? [n]:", just press + ENTER. +
    Install from CD-ROM, device wd1c. +

+ +

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

+	gxemul -x -Eprep -d nbsd_prep.img netbsd-GENERIC.gz
+
+
+

When asked which the root device is, type wd0 and +just press ENTER to select the default values for dump device, file +system type, and init path. @@ -515,14 +881,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.

         @@ -543,32 +910,32 @@

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

    @@ -582,10 +949,10 @@

  7. When asked for the "root device?", enter rz1.
  8. At "Enter pathname of shell or RETURN for sh:", press enter.
  9. 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. :-) @@ -596,34 +963,32 @@ the directory containing the install sets.

    -

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

@@ -636,7 +1001,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 3max -X -M64 -o '-aN' -d obsd_pmax.img -j bsd
 

@@ -654,12 +1019,13 @@ +


-

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.

         @@ -680,23 +1046,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 + (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/
    +	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 b:openbsd_arc_2.3.iso -j 2.3/arc/bsd.rd
    +	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 @@ -709,7 +1075,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 pica -d obsd_arc.img ftp.se.openbsd.org/pub/OpenBSD/2.3/arc/bsd
     
     
    @@ -717,110 +1083,71 @@ - @@ -828,9 +1155,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.)

             @@ -844,14 +1173,14 @@

    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. (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 -A -M64 -e 3max -d rootdisk.img -d bc:/dev/cd0c -j vmunix
       
       
    3. Once the first stage of the installation is done (restoring the root @@ -859,7 +1188,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 -A -M64 -e 3max -d rootdisk.img -d c:/dev/cd0c -j vmunix
       
       
    @@ -867,19 +1196,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 -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.) +

    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 @@ -890,7 +1218,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 3max -jgenvmunix -d rootdisk.img \
                 -XZ3 -z remote1:0.0 -z localhost:0.0 -z remote2:0.0
     
    @@ -931,7 +1259,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) @@ -951,14 +1279,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 ''
       
       
    @@ -970,7 +1297,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
    @@ -978,18 +1305,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. + @@ -997,16 +1323,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!

    @@ -1027,77 +1359,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
       
      @@ -1107,6 +1415,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
       
    @@ -1115,7 +1424,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
     
     
    @@ -1127,8 +1436,7 @@ 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/kernels/vmlinux-2.4.29-rc2-r3k-mipsel-decstation +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. ] @@ -1139,7 +1447,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 @@ -1156,8 +1464,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:
      @@ -1186,7 +1494,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
       
       
      @@ -1194,14 +1502,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 @@ -1214,8 +1522,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. ] @@ -1224,8 +1531,17 @@


      +


      + + + + + + + +


      -

      Running Mach/PMAX in GXemul:

      +

      Mach/PMAX:

      Read the following link if you want to know more about Mach in general: @@ -1249,20 +1565,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 @@ -1279,7 +1596,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
         
         
        @@ -1287,6 +1604,260 @@ + + + + +


        + +

        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.1 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.1 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.1 ISO image:
          +	ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/netwinder/binary/kernel/netbsd-GENERIC.gz
          +	ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/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
          +
          +

        + +

        NetBSD/netwinder is now installed on the disk image. But actually +running it does not work yet. Sorry. + +

        Something like the following command line would be used to start +NetBSD, if it worked:

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