--- trunk/doc/guestoses.html 2007/10/08 16:19:01 16 +++ trunk/doc/guestoses.html 2007/10/08 16:21:34 36 @@ -4,15 +4,15 @@
-Gavare's eXperimental Emulator:    +Gavare's eXperimental Emulator:
Installing and running "guest OSes"

+

  • Linux/QEMU_MIPS +
  • Windows NT/MIPS +
  • NetBSD/bebox 19981119 +
  • NetBSD/landisk +
  • OpenBSD/landisk + + +

    NOTE: +Some of these sections may not be relevant to this +specific release of GXemul, for example some of these +modes may be legacy modes that worked before but not any longer, +or are not yet working but could be in the future. + +

    Some operating systems are listed with a version number less +than what was available at the time of this GXemul release (e.g. +NetBSD/prep). The reasons for this is because of incompleteness in +GXemul's machine, device, and/or processor implementations. @@ -99,20 +128,36 @@


    - +

    NetBSD/pmax:

    -

    -         +

    NetBSD/pmax was the +first guest OS that could be +installed +onto a disk image in GXemul. The device emulation of the DECstation +5000/200 is reasonably complete; it should be enough to emulate a +networked X-windows-capable workstation. + +

    NetBSD/pmax 1.6.2 works perfectly with X out-of-the-box. Unfortunately, +newer NetBSD releases have changed slightly, and X does not work straight +away with NetBSD 2.x and 3.x. It seems that this has to do with NetBSD +switching console system to "WSCONS" somewhere between 1.6.2 and 2.0. + +

    What this means is that if you want to use emulated X11, then you need +to run NetBSD 1.6.2. At the time of writing this, 4.0_BETA snapshots work +fine too, but 4.0 isn't released yet. If you feel that you only need +serial-console emulation, then choose 3.1. + +

             -

    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=1024 count=1 seek=3000000
       
       
    @@ -127,13 +172,14 @@
    1. Download a NetBSD CD-ROM iso image:
      -	ftp://ftp.netbsd.org/pub/NetBSD/iso/1.6.2/pmaxcd.iso
      +	ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-archive/iso/1.6.2/pmaxcd.iso
       	or
      -	ftp://ftp.netbsd.org/pub/NetBSD/iso/2.0.2/pmaxcd.iso
      +	ftp://ftp.netbsd.org/pub/NetBSD/iso/3.1/pmaxcd-3.1.iso
       
       
    2. Start the emulator like this:
      -	gxemul -e 3max -A -d nbsd_pmax.img -d bc:pmaxcd.iso
      +	gxemul -e 3max -d nbsd_pmax.img -d bc:pmaxcd-3.1.iso
      +	(or pmaxcd.iso)
       
      and proceed like you would do if you were installing NetBSD on a real DECstation. Remember to choose vt100 as your terminal @@ -145,13 +191,13 @@
      1. Download a NetBSD pmax INSTALL kernel:
        -	ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-1.6.2/pmax/binary/kernel/netbsd-INSTALL.gz
        +	ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-archive/NetBSD-1.6.2/pmax/binary/kernel/netbsd-INSTALL.gz
         	or
        -	ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/pmax/binary/kernel/netbsd-INSTALL.gz
        +	ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/pmax/binary/kernel/netbsd-INSTALL.gz
         
         
      2. Start the emulator like this:
        -	gxemul -e 3max -A -d nbsd_pmax.img -O netbsd-INSTALL.gz
        +	gxemul -e 3max -d nbsd_pmax.img -O netbsd-INSTALL.gz
         
        and proceed like you would do if you were installing NetBSD on a real DECstation. Remember to choose vt100 as your terminal @@ -181,12 +227,8 @@ gxemul -e 3max -d nbsd_pmax.img -

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

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

        +

        If you installed NetBSD/pmax 1.6.2, or 4.0_BETA, then 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. @@ -202,7 +244,7 @@

        NetBSD/arc:

        -It is possible to install and run NetBSD/arc on an emulated Acer PICA-61 in the emulator. @@ -211,32 +253,31 @@

        -To install NetBSD/arc from a CDROM image onto an emulated harddisk image, -follow these instructions: +To install NetBSD/arc 1.6.2 from a CDROM image onto an emulated +harddisk image, 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_arc.img bs=1024 count=1 seek=900000
          +	dd if=/dev/zero of=nbsd_arc.img bs=1024 count=1 seek=2000000
           
           
        2. 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-archive/iso/1.6.2/arccd.iso
          +	ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-archive/NetBSD-1.6.2/arc/binary/kernel/netbsd-GENERIC.gz
           
          -	ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-1.6.2/arc/binary/kernel/netbsd-GENERIC.gz
           
        3. Start the emulator using this command line:
          -	gxemul -e pica -x -d nbsd_arc.img -d bc:arccd.iso \
          -	  -j arc/binary/kernel/netbsd.RAMDISK.gz
          +	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.)

        4. 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: + automatic installation program for NetBSD/arc 1.6.2. 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',
          @@ -250,7 +291,7 @@
           cat > /mnt/etc/fstab
           /dev/sd0a / ffs rw 1 1
           /dev/sd0b none swap sw 0 0
          -(press ctrl-d)
          +(press ctrl-d)
           cd /; umount /mnt; umount /mnt2
           halt
           
          @@ -276,62 +317,9 @@ 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. - -

          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
           Model:     Framebuffer size/depth:     Framebuffer address:
          MobilePro 770 (*2)640 x 240, 16 bits0xa000000
          MobilePro 780640 x 240, 16 bits0xa180100 (*)
          MobilePro 800800 x 600, 16 bits0xa000000
          MobilePro 880800 x 600, 16 bits0xa0ea600 (*)
          - -

          -(*) = not aligned at a 4 KB boundary, so it will not work -efficiently with the current bintrans system. Using this mode will still -work, but each load and store will be emulated much more slowly than is -possible with an aligned framebuffer. - -

          -(*2) = The MobilePro 770's cursor keys work differently -than the other models, for some reason. (This is a known bug.) +image, on an an emulated MobilePro 770 or 800. (MobilePro 780 and 880 might +work too, but I don't test those for every release of the emulator. They +have unaligned framebuffers, and run a bit slower.)

                   @@ -347,25 +335,22 @@

          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=3000000
             
             
            -
          2. 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
            +  
          3. Download the NetBSD/hpcmips 3.1 ISO image, and a generic kernel:
            +	ftp://ftp.netbsd.org/pub/NetBSD/iso/3.1/hpcmipscd-3.1.iso
            +	ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/hpcmips/binary/kernel/netbsd-GENERIC.gz
             
             

          4. Start the installation like this:
            -	gxemul -e mobilepro770 -X -A -d nbsd_hpcmips.img  \
            -	  -d b:hpcmipscd.iso -j hpcmips/installation/netbsd.gz
            +	gxemul -e mobilepro770 -X -d nbsd_hpcmips.img -d b:hpcmipscd-3.1.iso -j hpcmips/installation/netbsd.gz
             
             
            and proceed like you would do if you were installing NetBSD on a real 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.) + doing the MBR partitioning, and choose to install from CD-ROM.)

          @@ -375,11 +360,6 @@

        -

        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, but there is no mouse support yet so only keyboard input is available. This makes it a bit akward to use X. @@ -397,13 +377,13 @@ NetBSD/cobalt is tricky to install, because the Cobalt machines were designed for Linux, and not -very flexible. There is no INSTALL kernel for NetBSD/cobalt. One way to -install the NetBSD/cobalt distribution onto a disk image is to do it from -another (emulated) machine. +very flexible. There is no traditional INSTALL kernel for NetBSD/cobalt. +One way to install the NetBSD/cobalt distribution onto a disk image is to +do it from another (emulated) machine.

                 - +

        The following instructions will let you install NetBSD/cobalt onto a disk @@ -411,35 +391,35 @@

          +
        1. Download a NetBSD/pmax (DECstation) install RAMDISK kernel:
          +	ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/pmax/binary/kernel/netbsd-INSTALL.gz
          +
          +

        2. 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=700000
           
           
          -
        3. 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
          +  
        4. Download the generic kernel for Cobalt and the 3.1 ISO image:
          +	ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/cobalt/binary/kernel/netbsd-GENERIC.gz
          +	ftp://ftp.netbsd.org/pub/NetBSD/iso/3.1/cobaltcd-3.1.iso
           
           
          -

          -

        5. Install NetBSD/pmax 2.0.2 according to instructions - further up on this page. -

          -

        6. Start NetBSD/pmax like this:
          -	gxemul -e3max -A -d nbsd_pmax.img -d cobaltcd.iso -d nbsd_cobalt.img
          +  
        7. Start the emulated DECstation machine like this:
          +	gxemul -e 3max -d nbsd_cobalt.img -d cobaltcd-3.1.iso netbsd-INSTALL.gz
           
           
          -
        8. Log in as root (on the emulated 3MAX machine), and execute the - following commands: (adjust according to taste) +
        9. At the Terminal type? [rcons] prompt, type CTRL-B +to simulate a CTRL-C sent to NetBSD/pmax. Then execute the following commands:

                 
          -newfs /dev/sd1c
          +newfs /dev/sd0c
           mount /dev/cd0c /mnt
          -mkdir /mnt2; mount /dev/sd1c /mnt2
          +mkdir /mnt2; mount /dev/sd0c /mnt2
           cd /mnt2; sh
          -for a in /mnt/cobalt/binary/sets/*.tgz; do echo $a; tar zxfp $a; done
          +for a in /mnt/*/binary/sets/[bcekmt]*.tgz; do echo $a; tar zxfp $a; done
           exit
           cd dev; sh ./MAKEDEV all; cd ../etc
          -echo rc_configured=YES >> rc.conf
          +echo rc_configured=YES >> rc.conf
           echo "/dev/wd0d / ffs rw 1 1" > fstab
           cd /; umount /mnt; umount /mnt2; halt
           
          @@ -447,7 +427,7 @@

          You should now be able to boot NetBSD/cobalt like this:

          -	gxemul -M128 -E cobalt -d nbsd_cobalt.img netbsd-GENERIC.gz
          +	gxemul -E cobalt -d nbsd_cobalt.img netbsd-GENERIC.gz
           
          Note that the installation instructions above create a filesystem @@ -470,15 +450,14 @@

          NetBSD/evbmips:

          -NetBSD/evbmips can run -in GXemul on an emulated Malta evaluation board (with a 5Kc or 4Kc CPU). +NetBSD/evbmips can run +in GXemul on an emulated Malta evaluation board, with a 5Kc (MIPS64) or +4Kc (MIPS32) processor. 5Kc is the default. -

          -         - +

                   + -

          It is tricky to install, because there is (as far as I know) no INSTALL -kernel. One way to install the NetBSD/evbmips distribution onto a disk +

          One way to install the NetBSD/evbmips distribution onto a disk image is to install the files using another (emulated) machine.

          @@ -487,30 +466,33 @@

            -
          1. Install NetBSD/pmax 2.0.2 according to instructions - further up on this page. +
          2. Download a NetBSD/pmax (DECstation) install RAMDISK kernel:
            +	ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/pmax/binary/kernel/netbsd-INSTALL.gz
            +

          3. Create an empty harddisk image, which will be the disk image that you will install NetBSD onto:
            -	dd if=/dev/zero of=nbsd_malta.img bs=1024 count=1 seek=999000
            +	dd if=/dev/zero of=nbsd_malta.img bs=1024 count=1 seek=700000
             
             
            -
          4. Download the generic kernel and the 2.0.2 ISO image:
            -	ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/evbmips-mipsel/binary/kernel/netbsd-MALTA.gz
            -	ftp://ftp.netbsd.org/pub/NetBSD/iso/2.0.2/evbmips-mipselcd.iso
            +  
          5. Download the Malta kernel and the 3.1 ISO image:
            +	ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/evbmips-mipsel/binary/kernel/netbsd-MALTA.gz
            +	ftp://ftp.netbsd.org/pub/NetBSD/iso/3.1/evbmips-mipselcd-3.1.iso
             
             

            -

          6. Start NetBSD/pmax like this:
            -	gxemul -e 3max -A -d nbsd_pmax.img -d nbsd_malta.img -d evbmips-mipselcd.iso
            +  
          7. Start the emulated DECstation machine like this:
            +	gxemul -e 3max -d nbsd_malta.img -d evbmips-mipselcd-3.1.iso netbsd-INSTALL.gz
             
            -
            and execute the following commands as root: +
          8. +
          9. At the Terminal type? [rcons] prompt, type CTRL-B +to simulate a CTRL-C sent to NetBSD/pmax. Then execute the following commands:

                   
            -newfs /dev/sd1c
            +newfs /dev/sd0c
             mount /dev/cd0c /mnt
            -mkdir /mnt2; mount /dev/sd1c /mnt2
            +mkdir /mnt2; mount /dev/sd0c /mnt2
             cd /mnt2; sh
            -for a in /mnt/evbmips-mipsel/binary/sets/*.tgz; do echo $a; tar zxfp $a; done
            +for a in /mnt/*/binary/sets/[bcemt]*.tgz; do echo $a; tar zxfp $a; done
             exit
             cd dev; sh ./MAKEDEV all; cd ../etc
             echo rc_configured=YES >> rc.conf
            @@ -523,26 +505,25 @@
             	gxemul -e malta -d nbsd_malta.img netbsd-MALTA.gz
             
            -

            Note 1: NetBSD detects a very fast CPU although the emulation isn't -really that fast, so emulated delays are very slow. Even on a multi-GHz -host, you will need a lot of patience. - -

            Note 2: To select a 4Kc (MIPS32) CPU instead of the default 5Kc +

            NOTE: To select a 4Kc (MIPS32) CPU instead of the default 5Kc (MIPS64) CPU, add -C 4Kc to the command line. With NetBSD -2.0.2, however, there will be little or no difference in functionality, as -NetBSD still runs in 32-bit mode on 64-bit MIPS CPUs. The only difference -it makes in practice is that GXemul's binary translation subsystem might -run a bit faster (because there are some optimizations for 32-bit -emulation that don't work with 64-bit emulation). +3.1, however, there will be little or no difference in functionality, as +NetBSD still runs in 32-bit mode on 64-bit MIPS CPUs. There are two things +that differ:

              +
            1. The dynamic translation core runs faster when emulating 32-bit + processors, so -C 4Kc might make things go faster. +
            2. 4Kc only has 16 TLB entries, whereas 5Kc has 48. This makes 4Kc + emulation slower in general, because there are more TLB misses. +
            -

            Note 3: The installation instructions above create a filesystem +

            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): ffs
            -	init path (default /sbin/init):     (just press enter here)
            +	dump device (default wd0b):		(just press enter)
            +	file system (default generic):		(just press enter)
            +	init path (default /sbin/init):		(just press enter)
             
            @@ -551,13 +532,98 @@ + + + + + + + +


            + +

            NetBSD/algor:

            + +NetBSD/algor can +run in GXemul on an emulated Algorithmics P5064 evaluation board. + +

                     + + +

            One way to install the NetBSD/algor distribution onto a disk +image is to install the files using another (emulated) machine. + +

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

            +

              +
            1. Download a NetBSD/pmax (DECstation) install RAMDISK kernel:
              +	ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/pmax/binary/kernel/netbsd-INSTALL.gz
              +
              +

              +

            2. Create an empty harddisk image, which will be the disk image + that you will install NetBSD/algor onto:
              +	dd if=/dev/zero of=nbsd_algor.img bs=1024 count=1 seek=700000
              +
              +
              +
            3. Download the P5064 Algor kernel and the 3.1 ISO image:
              +	ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/algor/binary/kernel/netbsd-P5064.gz
              +	ftp://ftp.netbsd.org/pub/NetBSD/iso/3.1/algorcd-3.1.iso
              +
              +
              +

              +

            4. Start the emulated DECstation machine like this:
              +	gxemul -e 3max -d nbsd_algor.img -d algorcd-3.1.iso netbsd-INSTALL.gz
              +
              +
              +
            5. At the Terminal type? [rcons] prompt, type CTRL-B +to simulate a CTRL-C sent to NetBSD/pmax. Then execute the following commands: +

                     
              +newfs /dev/sd0c
              +mount /dev/cd0c /mnt
              +mkdir /mnt2; mount /dev/sd0c /mnt2
              +cd /mnt2; sh
              +for a in /mnt/*/binary/sets/[bcekmt]*.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/algor using this command:

            +	gxemul -x -e p5064 -d nbsd_algor.img netbsd-P5064.gz
            +
            + +

            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):		(just press enter)
            +	file system (default generic):		(just press enter)
            +	init path (default /sbin/init):		(just press enter)
            +
            + + + + + + + + + + + +


            NetBSD/sgimips:

                     - +

            NetBSD/sgimips can run in GXemul on an emulated O2 (SGI-IP32). However, GXemul does not yet @@ -565,11 +631,11 @@ several times, asking for documentation, but never received any reply.) NetBSD can still run in the emulator, as long as it doesn't use SCSI. -

            For a simple test with the 2.0.2 ramdisk (install) kernel, try +

            For a simple test with the ramdisk/install kernel, try dowloading

            -	ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-2.0.2/sgimips/binary/kernel/netbsd-INSTALL32_IP3x.gz
            +	ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-3.1/sgimips/binary/kernel/netbsd-INSTALL32_IP3x.gz
             
            -
            and run  gxemul -e o2 netbsd-INSTALL32_IP3x.gz. +and run  gxemul -x -e o2 netbsd-INSTALL32_IP3x.gz.

            It is possible to set up an environment for netbooting the emulated SGI machine off of another emulated machine. Performing this setup is quite @@ -579,15 +645,15 @@

            1. First of all, the "nfs server" machine must be set up. This needs to have a 750 MB /tftpboot partition. - Install NetBSD/pmax 2.0.2 from CDROM. + Install NetBSD/pmax 3.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
              +	gxemul -e 3max -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
              @@ -612,36 +678,37 @@
               echo 10.0.0.1 client > /etc/hosts
               reboot
               
              -

            3. Start the DECstation emulation again, and download the - NetBSD/sgimips distribution sets:
              (NOTE: This - takes quite some time, even if you have a fast network connection.) -
                     
              -cd /tftpboot; ftp -i ftp.uk.netbsd.org
              -(log in as anonymous...)
              -cd /pub/NetBSD/NetBSD-2.0.2/sgimips/binary/sets
              -mget base.tgz comp.tgz etc.tgz games.tgz man.tgz misc.tgz text.tgz
              -quit
              -sh
              -for a in *.tgz; do echo $a; tar zxfp $a; rm -f $a; done
              +  

              +

            4. Download the NetBSD/sgimips CD-ROM iso image, and the + GENERIC and INSTALL kernels:
              +	ftp://ftp.netbsd.org/pub/NetBSD/iso/3.1/sgimipscd-3.1.iso
              +	ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-3.1/sgimips/binary/kernel/netbsd-GENERIC32_IP3x.gz
              +	ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-3.1/sgimips/binary/kernel/netbsd-INSTALL32_IP3x.gz
              +
              +
              +
            5. Start the DECstation emulation again:
              +	gxemul -e 3max -d nbsd_pmax.img -d sgimipscd-3.1.iso
              +
              +
              and extract the files from the sgimips CD-ROM image to the + DECstation disk image: +

                     
              +cd /tftpboot; mount /dev/cd0a /mnt
              +for a in /mnt/sgimips/binary/sets/[bcegmt]*; do echo $a; tar zxfp $a; done
               echo 10.0.0.2:/tftpboot / nfs rw 0 0 > /tftpboot/etc/fstab
               echo rc_configured=YES >> /tftpboot/etc/rc.conf
              -dd if=/dev/zero of=swap bs=1024 count=32768
              -halt
              +echo 10.0.0.254 >> /tftpboot/etc/mygate
              +echo nameserver 10.0.0.254 >> /tftpboot/etc/resolv.conf
              +echo rc_configured=YES >> /tftpboot/etc/rc.conf
              +dd if=/dev/zero of=swap bs=1024 count=65536
              +cd /; umount /mnt; halt
               
              -

            6. Download the NetBSD/sgimips GENERIC and INSTALL kernels:
              -	ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-2.0.2/sgimips/binary/kernel/netbsd-GENERIC32_IP3x.gz
              -	ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-2.0.2/sgimips/binary/kernel/netbsd-INSTALL32_IP3x.gz
              -
              -
              +

            7. Create a configuration file called config_client:
                     
              -!!gxemul
              -!
              -!  Configuration file for running NetBSD/sgimips diskless with
              +!  Configuration file for running NetBSD/sgimips diskless with
               !  a NetBSD/pmax machine as the nfs server.
               
              -emul(
              -    net(
              +    net(
               	add_remote("localhost:12444")   ! the server
               	local_port(12445)               ! the client
                   )
              @@ -656,14 +723,12 @@
                       load("netbsd-INSTALL32_IP3x.gz")
                       ! load("netbsd-GENERIC32_IP3x.gz")
                   )
              -)
              +
               
              ... and another configuration file for the server, config_server:
                     
              -!!gxemul
              -emul(
              -    net(
              +    net(
               	local_port(12444)               ! the server
               	add_remote("localhost:12445")   ! the client
                   )
              @@ -677,7 +742,7 @@
               
                       disk("nbsd_pmax.img")
                   )
              -)
              +
               
            8. Boot the "nfs server" and the NetBSD/sgimips "client machine" as two separate emulator instances:
              @@ -745,8 +810,7 @@
               It is possible to install and run
               NetBSD/cats in GXemul.
               
              -

              -         +

                      

              @@ -755,33 +819,36 @@

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

              4. Start the installation like this:
                -	gxemul -XEcats -d nbsd_cats.img -d catscd.iso netbsd.aout-INSTALL.gz
                +	gxemul -XEcats -d nbsd_cats.img -d catscd-3.1.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.) + CATS from CDROM.
              +

              Alternatively, to install from FTP, you can skip downloading the ISO, +and start the install without -d catscd-3.1.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
               
               
              -

              When asked for root device, enter wd0. @@ -789,12 +856,371 @@


              - + +

              NetBSD/evbarm:

              + +NetBSD/evbarm can +run in GXemul on an emulated IQ80321 evaluation board. + +

                       + + +

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

              The following instructions will let you install NetBSD/evbarm onto a disk +image, from an emulated CATS machine: + +

              +

                +
              1. Install NetBSD/cats 3.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_iq80321.img bs=1024 count=1 seek=999000
                +
                +
                +
              3. Download an IQ80321 kernel with wdc support, and the 2.1 ISO image:
                +	ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/evbarm/binary/kernel/netbsd-wd0-IQ80321.gz
                +	ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/evbarmcd.iso
                +
                +
                +

                +

              4. The first step is to copy the distribution .tgz files onto the CATS + machine's harddisk. Start the CATS machine like this:
                +	gxemul -XEcats -d nbsd_cats.img -d evbarmcd.iso netbsd.aout-GENERIC.gz
                +
                +
                and execute the following commands as root: +

                       
                +mount /dev/cd0a /mnt; cd /root; cp /mnt/evbarm/binary/sets/[bcegmt]* .
                +sync; halt
                +
                +

                +

              5. Now let's extract the files onto the IQ80321's disk image. Start the + CATS machine again, with the following command line:
                +	gxemul -XEcats -d nbsd_cats.img -d nbsd_iq80321.img netbsd.aout-GENERIC.gz
                +
                +
                and execute the following commands as root: +

                       
                +disklabel -I -i wd1
                +    (enter suitable commands, e.g. a, 4.2BSD, 1c, 750M, b,
                +     swap, a, 200M, P, W, y, Q)
                +newfs /dev/wd1a; mount /dev/wd1a /mnt; cd /mnt; sh
                +for a in /root/[bcegmt]*.tgz; do echo $a; tar zxfp $a; done
                +exit
                +cd dev; sh ./MAKEDEV all; cd ../etc
                +echo rc_configured=YES >> rc.conf
                +echo "/dev/wd0a / ffs rw 1 1" > fstab
                +echo "/dev/wd0b none swap sw 0 0" >> fstab
                +cd /; umount /mnt; sync; halt
                +
                +

              + +

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

              +	gxemul -xEiq80321 -d nbsd_iq80321.img netbsd-wd0-IQ80321.gz
              +
              + + + + + + + + + +


              + +

              NetBSD/netwinder:

              + +It is possible to run NetBSD/netwinder +in GXemul. + +

                       + +    + +

              There is no INSTALL ramdisk kernel, so 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. Download a NetBSD/pmax (DECstation) install RAMDISK kernel:
                +	ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/pmax/binary/kernel/netbsd-INSTALL.gz
                +
                +

                +

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

                +

              4. Start the emulated DECstation machine like this:
                +	gxemul -e 3max -d nbsd_netwinder.img -d netwindercd-3.1.iso netbsd-INSTALL.gz
                +
                +
                +
              5. At the Terminal type? [rcons] prompt, type CTRL-B +to simulate a CTRL-C sent to NetBSD/pmax. Then execute the following commands: +

                       
                +newfs /dev/sd0c
                +mount /dev/cd0c /mnt
                +mkdir /mnt2; mount /dev/sd0c /mnt2
                +cd /mnt2; sh
                +for a in /mnt/*/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. The following command +line can be used to start NetBSD/netwinder:

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

              This will result in a 1024x768 framebuffer. Add -Y2 to the +command line if you want to scale it down to 512x384. + +

              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): (just press enter)
              +	file system (default generic):    (just press enter)
              +	init path (default /sbin/init):   (just press enter)
              +
              + +

              Known bugs/problems: + +

                +
              • There is a long delay when starting up NetBSD/netwinder + (several seconds even on a very fast host machine), + so you need to be patient. +
              • There is a minor bug in the keyboard device, so you need to + press a key (any key) before typing wd0c. +
              • When halting/rebooting NetBSD/netwinder, the emulator + prints a message saying something about an internal + error. This doesn't matter; ignore the message. +
              + + + + + + + + + + + + +


              + +

              NetBSD/prep:

              + +It is possible to install and run NetBSD/prep 2.1 in GXemul on +an emulated IBM 6050 (PowerPC) machine. (Newer versions of NetBSD/prep use +the wdc controller in a way which isn't implemented in GXemul yet, or +there are bugs in GXemul's PowerPC CPU emulation.) + +

                       + + +

              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 -e ibm6050 -d nbsd_prep.img -d rdb:prepcd.iso -j prep/binary/kernel/netbsd-INSTALL.gz
                +
                +
                +

                +

              4. Installation is a bit unsmooth, possibly due to bugs in GXemul, + possibly due to bugs in NetBSD itself; others have been having + problems on real hardware: http://mail-index.NetBSD.org/port-prep/2005/11/25/0004.html. + 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 -e ibm6050 -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. + + + + + + + + + + + + +


              + +

              NetBSD/macppc:

              + +It is possible to install and run NetBSD/macppc in GXemul on +an emulated generic PowerPC machine. No specific Machintosh model is +emulated, but it is enough to for NetBSD to recognize it. + +

                       + + +

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

              +

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

                +

              3. Start the installation like this:
                +    gxemul -x -e g4 -d nbsd_macppc.img -d b:macppccd-3.1.iso -j macppc/binary/kernel/netbsd-INSTALL.gz
                +
                +
                + and continue as you would do when installing NetBSD on a real + machine. +

                +

              4. Before turning the emulated machine off, quit the NetBSD installer + and execute the following commands:
                +	cd /; mount /dev/wd0a /mnt
                +	echo 'console "/usr/libexec/getty std.38400" vt100 on secure' > /mnt/etc/ttys
                +	echo 'rc_configured=YES' >> /mnt/etc/rc.conf
                +	umount /mnt; sync
                +	reboot
                +
                +
                +
              + +

              If everything worked, NetBSD/macppc should now be installed on +the disk image. + +

              Use the following command line to boot the emulated machine:

              +	gxemul -x -e g4 -d nbsd_macppc.img netbsd-GENERIC.MP.gz
              +
              +
              + +

              If asked about root device, enter wd0. + + + + + + + + + + + + + +


              + +

              NetBSD/dreamcast:

              + +Moved here. + + + + + + + + + + + + + + +


              +

              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, +href="#netbsdpmaxinstall">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 @@ -838,10 +1264,11 @@ 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
              +	rm -rf ftp.se.openbsd.org      (this directory is not needed anymore)
               
               
            9. Start the emulator with all three (!) disk images:
              -	gxemul -e 3max -A -M64 -d obsd_pmax.img -d b:simpleroot28.fs -j bsd -d c:openbsd_pmax_2.8.iso
              +	gxemul -e 3max -d obsd_pmax.img -d b:simpleroot28.fs -j bsd -d c:openbsd_pmax_2.8.iso
               
               
              (If you add -X, you will run with the graphical @@ -860,6 +1287,8 @@
            10. At the # prompt, do the following:
               	fsck /dev/rz1a        (and mark the filesystem as clean)
               	mount /dev/rz1a /
              +	mkdir /kern
              +	mkdir /mnt2
               	mount -t kernfs kern kern
               	./install
               
              @@ -876,7 +1305,7 @@
               	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'
              +	gxemul -e 3max -d obsd_pmax.img -d 2c:openbsd_pmax_2.8.iso -j bsd -o '-s'
               
              While you are at it, you might want to extract the X11 install sets as well, as the installer seems to ignore them too. (Perhaps due to a bug @@ -910,7 +1339,7 @@ Once you have completed the installation procedure, the following command will let you boot from the new rootdisk image:
              -	gxemul -e 3max -X -M64 -o '-aN' -d obsd_pmax.img -j bsd
              +	gxemul -e 3max -X -o '-aN' -d obsd_pmax.img -j bsd
               

              @@ -929,70 +1358,6 @@ -


              - -

              OpenBSD/arc:

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

              -         - - -

              -(You should be aware of the fact that OpenBSD for the ARC platform died at -release 2.3, so this will not give you an up-to-date OpenBSD system. -See -http://www.openbsd.org/arc.html -for more information.) - -

              -To install OpenBSD/arc onto an emulated harddisk image, follow these -instructions: - -

              -

                -
              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
                -
                -
                -
              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/
                -
                -
                - -
              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 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 -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 - on a real Acer PICA-61. (Answer 'no' when asked if you want to - configure networking, and then install from CD-ROM.) -
              - -

              -Once the install has finished, the following command should let you -boot from the harddisk image: -

              -

              -	gxemul -X -e pica -d obsd_arc.img ftp.se.openbsd.org/pub/OpenBSD/2.3/arc/bsd
              -
              -
              - - - - - -


              @@ -1001,7 +1366,10 @@ It is possible to install and run OpenBSD/cats -in GXemul. +in GXemul. Unfortunately, "The OpenBSD/cats port has been discontinued +after the 4.0 release." according to +http://www.openbsd.org/cats.html, +but 4.0 should run fine.

                       @@ -1017,30 +1385,36 @@

            11. Download the entire cats directory from the ftp server:
              -	wget -np -l 0 -r ftp://ftp.openbsd.org/pub/OpenBSD/3.7/cats/
              -	cp ftp.openbsd.org/pub/OpenBSD/3.7/arc/bsd .
              -	cp ftp.openbsd.org/pub/OpenBSD/3.7/arc/bsd.rd .
              +	wget -np -l 0 -r ftp://ftp.se.openbsd.org/pub/OpenBSD/4.0/cats/
              +	cp ftp.se.openbsd.org/pub/OpenBSD/4.0/cats/bsd .
              +	cp ftp.se.openbsd.org/pub/OpenBSD/4.0/cats/bsd.rd .
               
               
              - + (Replace ftp.se.openbsd.org with a server closer to you, for + increased download speed.) +

            12. 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 it in order to do this.)
              -	mkisofs -allow-lowercase -o openbsd_cats_3.7.iso ftp.openbsd.org/pub/OpenBSD/3.7/cats
              +	mkisofs -allow-lowercase -o openbsd_cats_4.0.iso ftp.se.openbsd.org/pub/OpenBSD/
              +	rm -rf ftp.se.openbsd.org      (this directory is not needed anymore)
               
               
            13. Start the emulator using this command line:
              -	gxemul -XEcats -d obsd_cats.img -d openbsd_cats_3.7.iso bsd.rd
              +	gxemul -XEcats -d obsd_cats.img -d openbsd_cats_4.0.iso bsd.rd
               
               
              and proceed like you would do if you were installing OpenBSD on a real CATS. (Install onto wd0, don't configure the - network, choose to install distribution sets from disk - wd1 (i.e. not CDROM) partition 'a', - relative path '/'.) + network, install from CD.) +

              (Although it is possible to configure the network, IPv4 address +10.0.0.1, netmask 255.0.0.0, gateway/default route 10.0.0.254, and +nameserver 10.0.0.254, the userland NAT-like networking layer is not +stable enough yet to support a full install via ftp.) +

              NOTE: Make sure that you sync and reboot correctly once the installation is finished, or the /dev nodes may not have been written correctly to disk. @@ -1064,14 +1438,14 @@

              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.) +(Ultrix was the native OS for these machines, but +NetBSD/pmax is also usable.)

                       - +     - +

              The following instructions should let you install Ultrix onto a disk image: @@ -1086,7 +1460,7 @@ (On FreeBSD and similar systems, it is called /dev/cd0c. Replace that with the name of your CDROM drive, or the name of a .iso image file.) Then, start the emulator like this:

              -        gxemul -X -A -M64 -e 3max -d rootdisk.img -d bc:/dev/cd0c -j vmunix
              +        gxemul -X -e 3max -d rootdisk.img -d bc:/dev/cd0c -j vmunix
               
               
            14. Once the first stage of the installation is done (restoring the root @@ -1094,7 +1468,7 @@ new rootdisk, to continue the installation process. This is done by removing the bootflag ('b') from the second diskimage argument:
              -        gxemul -X -A -M64 -e 3max -d rootdisk.img -d c:/dev/cd0c -j vmunix
              +        gxemul -X -e 3max -d rootdisk.img -d c:/dev/cd0c -j vmunix
               
               
              @@ -1102,21 +1476,22 @@

              When the installation is completed, the following command should start Ultrix from the harddisk image:

              -        gxemul -X -A -M64 -e 3max -j vmunix -d rootdisk.img
              +        gxemul -X -e 3max -j vmunix -d rootdisk.img
               
              -

              Ultrix mostly seems to work with dynamic binary translation (which can -be disabled by the -B command line option). If you have a -very fast host machine, and use bintrans, you might experience a weird +

              If you have a very fast host machine, 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.) +instructions per emulated second. -

              -You can experiment with adding -Z2 (for emulating a +

              If the workaround above doesn't work, you can also start up other +processes on the host, apart from the emulator, so that the emulator runs +more slowly. This is an ugly workaround, but seems to work. Once you have +logged in into Ultrix, you can kill the extra processes. + +

              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. @@ -1124,34 +1499,29 @@ 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 \
              +        gxemul -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 +

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

              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 +

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

              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 @@ -1231,120 +1601,135 @@

              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. 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.) +It is possible to run Debian GNU/Linux for DECstation in the emulator, +on an emulated 5000/200 ("3max"). However, just choosing any +Linux/DECstation kernel at random for the installation will not work. + +

                +
              • Linux 2.4/DECstation DZ serial console output doesn't work too well in + GXemul. Linux oopses randomly, which may be due to bugs in GXemul, + but may also be due to bugs in the serial controller code in Linux. + (The speed at which serial interrupts are generated can be + lowered with the -U command line option, but it only + reduces the risk, it doesn't take away the oopses completely.) +
              • The Linux 2.6/DECstation DZ serial console driver doesn't work at + all in the emulator, and I'm not really sure it would work on a + real 5000/200 either. Hopefully this will be fixed in Linux in + the future. +
              • To get around the serial console problem, the obvious solution is to + use a graphical framebuffer instead. Old Debian install kernels + supported the graphical framebuffer on the 3max, but not the + keyboard. (This has been fixed now, it seems.) +
              • For quite some time, the MIPS linux cvs tree has had support for the + framebuffer and keyboard, but it did not include Debian's + patches for networking, which made it unusable for network + installs. (Possibly fixed now.) +
              • The kernel has to be for 5000/200. This rules out using + the default kernel on netinst ISO images provided by Debian. + These ISO images boot directly into a kernel which is meant + for a different DECstation model. +
              • The kernel has to have an initrd which more or less matches the + version of Debian that will be installed. +
              -

              Everything runs extremely slow. Even if you have -a very fast host machine, an install attempt can still take several hours! - +

              Luckily, a precompiled install kernel has been made available by David +Muse, for Debian for R3000 DECstations, which has support for framebuffer, +keyboard, and networking, which works pretty well. Thanks David. :-) -

              -         - -    - -    - -    - - -

              -The following steps should let you install Debian GNU/Linux for DECstation -onto a harddisk image: +

              The following steps should let you install Debian GNU/Linux for +DECstation onto a harddisk image in the emulator:

              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=3000000
                +	dd if=/dev/zero of=debian_pmax.img bs=1024 count=1 seek=6000000
                 
                 
                -
              2. Download an install kernel:
                -	http://ftp.egr.msu.edu/debian/dists/stable/main/
                -	    installer-mipsel/current/images/r3k-kn02/boot.img
                +  
              3. Download David Muse' install kernel, and a Debian Netinstall CD-ROM:
                +	http://www.firstworks.com/mips-linux-2.4.31/vmlinux-2.4.31
                +	http://cdimage.debian.org/debian-cd/3.1_r0a/mipsel/iso-cd/debian-31r0a-mipsel-netinst.iso
                 
                 

                -

              4. For a text-mode installation, start the emulator like this:
                -	gxemul -e 3max -U -M64 -o 'console=ttyS3' -d debian.img -O boot.img
                -
                +  
              5. Start the installation like this:
                +	gxemul -X -e3max -d debian_pmax.img -d debian-31r0a-mipsel-netinst.iso vmlinux-2.4.31
                 
                - (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.) + +

                If everything goes well, you will see Linux' boot messages, and then + arrive at the language chooser. + +

                +         +         +         +         + +

                There will be a warning about the keyboard + layout. Don't mind this. Continue, and then select Detect + and mount CD-ROM in the next menu. + +

                +         +         +         +         +

                - You need to enter some values during the installation procedure, for - example network settings. The following should work:

                -	DHCP:                       No, choose "Configure network manually"
                +	There will also be a warning about lack of loadable modules. Don't
                +	mind this either, continue anyway by choosing Yes.
                +	

                + When you reach the network configuration part of the install, choose + Configure network manually and enter the following values:

                 	IP address:                 10.0.0.1
                 	Netmask:                    255.0.0.0
                 	Gateway:                    10.0.0.254
                 	Name server addresses:      10.0.0.254
                +
                 
                -
              6. 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 3max -U -M64 -o 'console=ttyS3' -d debian.img
                +	

                Choose Erase entire disk in the partitioner. -

                Note: All these steps take a lot of time, so you will have plenty - of time to drink lots of cups of coffee. -

                -

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

                Wait for the base system to be installed. This takes almost forever, + so you can go fetch several Jolts + or cups of coffee in the meanwhile. -

                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
                +

                +         +         +         +         + +

                Congratulations! The first phase of the installation is now completed. + Reboot using the following command line:

                +	gxemul -X -e3max -o 'root=/dev/sda1' -d debian_pmax.img vmlinux-2.4.31
                 
                 
                - You'll enter single-user mode. You need to add a line to - /etc/inittab, to enable logins via serial console.
                -	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
                -
                -
              +

              The post-install step takes quite some time as well. A perfect opportunity + for more coffee. -

              -The system should now be ready for everyday use. +

              When asked about whether the hardware clock is set to GMT or + not, answer Yes. + +

              When asked about "Apt configuration", choose http as the method + to use for accessing the Debian archive.

              -Use this command to boot from the completely installed disk image:

              -	gxemul -e 3max -U -M64 -o 'console=ttyS3' -d debian.img
              +        
              +        
              +        
              +
              +	

              Downloading the packages takes almost forever. Be patient. + +

              Congratulations (again)! You are now fully done with the installation. + + + +


              Debian GNU/Linux for DECstation is now installed and ready to be used. +Use this command to boot from the installed disk image:

              +	gxemul -X -e3max -o 'root=/dev/sda1' -d debian_pmax.img vmlinux-2.4.31
               
               
              -

              -[ UPDATE 2005-01-19:  -Kaj-Michael Lang noticed that the current CVS-version of -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/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. ] @@ -1355,10 +1740,6 @@

              Redhat Linux for DECstation:

              -NOTE: This is experimental, and extremely -unstable. Read the note about -U in the section on how to -install Debian. -

                       @@ -1369,22 +1750,30 @@

                -
              1. Download a kernel. This is a Debian kernel, but it works fine:
                -	http://ftp.egr.msu.edu/debian/dists/stable/main/
                -	    installer-mipsel/current/images/cdrom/vmlinux-2.4.27-r3k-kn02
                +  
              2. Download a kernel. David Muse' Debian-install kernel works fine:
                +	http://www.firstworks.com/mips-linux-2.4.31/vmlinux-2.4.31
                 
                 
              3. Download a root filesystem tree:
                -	ftp://ftp.uni-wuppertal.de/pub/linux/mips/
                -	 mipsel-linux/root/mipsel-root-20011216.tgz
                +	ftp://ftp.linux-mips.org/pub/linux/mips/mipsel-linux/root/mipsel-root-20011216.tgz
                 	19486676 bytes, md5 = 5bcb725c90209479cd7ead8ad0c4a414
                 
                 
                -
              4. This is the tricky part: Create an ext2 filesystem image called redhat.img using - the filesystem tree you just downloaded. The disk image should have a MS-DOS - partition table (!), and then one or more ext2 partitions. - (Use loopback mount, or similar. This is probably easiest to do on a Linux host.) - However, in order to actually boot the system you need to modify /etc/fstab. +
              5. Create a disk image which will contain the Redhat filesystem:
                +	dd if=/dev/zero of=redhat_mips.img bs=1024 count=1 seek=2000000
                +
                +
                +
              6. This is the tricky part: on redhat_mips.img, you need to create an MS-DOS + (!) partition table, and then an ext2 partition. This is what Linux + will then see as /dev/sda1. +

                I recommend you run fdisk and mke2fs and untar the archive from within + Debian/DECstation or Debian/CATS running + inside the emulator. (Alternatively, if you are on a Linux host, + you could use a loopback mount, or similar. This might require + root access. See e.g. + http://www.mega-tokyo.com/osfaq2/index.php/Disk%20Images%20Under%20Linux.) +

                + In order to actually boot the system you need to modify /etc/fstab. Change

                 	/dev/root               /               nfs     defaults        1 1
                 	#/dev/sdc1              /               ext2    defaults        1 1
                @@ -1398,38 +1787,15 @@
                 	none                    /dev/pts        devpts  mode=0622       0 0
                 
                 
                (Note sda1 instead of sdc1.) -

                -

              7. To boot Linux, start the emulator like this:
                -	gxemul -e 3max -U -M128 -o \
                -	    "console=ttyS3 root=/dev/sda1 ro" -d redhat.img vmlinux-2.4.27-r3k-kn02
                -
                -
              -

              -If you need to boot into single user mode, try the following:

              -	gxemul -e 3max -U -o "console=ttyS3 root=/dev/sda1 rw init=/bin/sh" \
              -	    -d redhat.img vmlinux-2.4.27-r3k-kn02
              +

              To boot Redhat linux from the disk image, use the following command line:

              +	gxemul -X -e3max -o "root=/dev/sda1 ro" -d redhat_mips.img vmlinux-2.4.31
               
               
              +If you need to boot into single user mode, change options to +-o "root=/dev/sda1 rw init=/bin/sh". -

              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 -line, if you want to use a graphical framebuffer. Unfortunately, Linux -doesn't have support for keyboards on DECstation 5000/200 yet, so you cannot -actually interact with the sytem. :-( - -

              -[ UPDATE 2005-01-22:  -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/kernels/vmlinux-2.4.29-rc2-r3k-mipsel-decstation -It should work with framebuffer/keyboard. ] @@ -1470,10 +1836,6 @@

                -
              1. Compile gxemul with cache emulation: (NOTE: --enable-caches)
                -	./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
                @@ -1502,13 +1864,24 @@
                 	cd /; sync; umount /mnt)
                 	

              3. Start the emulator with the following command:
                -	gxemul -e 3max -X -d disk.img \
                +	gxemul -c 'put w 0x800990e0, 0' -c 'put w 0x80099144, 0' \
                +	    -c 'put w 0x8004aae8, 0' -e 3max -X -d disk.img \
                 	    pmax_mach/special/mach.boot.MK83.STD+ANY
                 
                 
              +

              Earlier versions of GXemul had a configure option to enable better +R3000 cache emulation, but since Mach was more or less the only thing that +used it, I removed it. Today's version of GXemul can thus not boot +mach.boot.MK83.STD+ANY straight off, it has to be patched to skip the +cache detection. +

              The -c commands above patch the kernel to get past the cache detection. +Thanks to Artur Bujdoso for these values. + +

              TODO: Better instructions on how to create the old-style UFS disk +image. @@ -1533,9 +1906,9 @@ 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
              +	ftp://ftp.se.openbsd.org/pub/OpenBSD/3.9/sgi/bsd.rd
               
              -
              and run gxemul -e o2 bsd.rd. +
              and run gxemul -xeo2 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 @@ -1546,12 +1919,12 @@

              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. + Install NetBSD/pmax 3.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
                +	gxemul -e 3max -d nbsd_pmax.img
                 
                and enter the following commands as root inside the emulator:
                       
                @@ -1575,8 +1948,8 @@
                 
                       
                 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*
                +cd pub/OpenBSD/3.9/sgi
                +mget b*tgz c*tgz e* g* m*
                 quit
                 sh
                 for a in *.tgz; do echo $a; tar zxfp $a; done
                @@ -1586,23 +1959,18 @@
                 halt
                 
              3. 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
                +	ftp://ftp.se.openbsd.org/pub/OpenBSD/3.9/sgi/bsd
                +	ftp://ftp.se.openbsd.org/pub/OpenBSD/3.9/sgi/bsd.rd
                 
                 
              4. Create a configuration file called config_client:
                       
                -!!gxemul
                -!
                -!  Configuration file for running OpenBSD/sgi diskless with
                +!  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(
                +    net(
                 	add_remote("localhost:12444")   ! the server
                 	local_port(12445)               ! the client
                     )
                @@ -1617,14 +1985,12 @@
                         ! load("bsd")
                         load("bsd.rd")
                     )
                -)
                +
                 
                ... and another configuration file for the server, config_server:
                       
                -!!gxemul
                -emul(
                -    net(
                +    net(
                 	local_port(12444)               ! the server
                 	add_remote("localhost:12445")   ! the client
                     )
                @@ -1638,7 +2004,7 @@
                 
                         disk("nbsd_pmax.img")
                     )
                -)
                +
                 
              5. Boot the "nfs server" and the OpenBSD/sgi "client machine" as two separate emulator instances:
                @@ -1695,69 +2061,509 @@
                 
                 
                 
                +
                 


                - -

                NetBSD/netwinder:

                + +

                OpenBSD/arc:

                -NetBSD/netwinder -could possibly run in GXemul. IT DOES NOT WORK YET! +It is (almost) possible to install and run OpenBSD/arc on an emulated Acer +PICA-61 in the emulator. -

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

                Earlier, I had this guest OS listed as +officially working in the emulator, but for several reasons, it has +been moved down here to the "informative-but-not-really-working" +section. + +

                +

                  +
                • The last OpenBSD/arc release was 2.3. This means that it is very + old, it would not give a fair picture of what OpenBSD is (if you + are just looking to find out what it is like), and it is not + worth experimenting with it. See + http://www.openbsd.org/arc.html + for more information. +
                • OpenBSD/arc was (if I understood things correctly) never really + stable, even on real hardare. Problems with too small an interrupt + stack. Bugs are triggered in the emulator that have to do with + issues such as this. +
                + +

                +         + + +

                +Currently, I don't test for every release whether +or not OpenBSD/arc can be installed. Releases prior to 0.3.7 +(but probably not 0.3.7) should work. Anyway, here are the +old installation instructions: + +

                To install OpenBSD/arc onto an emulated harddisk image, follow these +instructions: + +

                +

                  +
                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
                  +
                  +
                  +
                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/
                  +
                  +
                  + +
                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 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 -e pica -X -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 + on a real Acer PICA-61. (Answer 'no' when asked if you want to + configure networking, and then install from CD-ROM.) +

                -The following instructions will let you install the NetBSD/netwinder -distribution onto a disk image, from an emulated DECstation 3MAX machine: +Once the install has finished, the following command should let you +boot from the harddisk image: +

                +

                +	gxemul -X -e pica -d obsd_arc.img ftp.se.openbsd.org/pub/OpenBSD/2.3/arc/bsd
                +
                +
                + +The system is very sensitive to (I think) kernel stack overflow, so it +crashes easily. If I remember correctly from mailing lists, this also +happened on real hardware. + + + + + + + + + + + +


                + +

                Debian GNU/Linux for CATS:

                + +Debian GNU/Linux for CATS (ARM) could theoretically run in GXemul, +however: + +
                  +
                • The DEC 21143 NIC is not emulated well enough for Linux to accept it. +
                • Development of Debian for CATS seems to have died? The latest + install kernel is quite old. +
                + +

                IT DOES NOT WORK YET! + +

                The following installation instructions would theoretically work: + +

                +

                  +
                1. Create an empty harddisk image, which will be the root disk + that Debian installs itself onto:
                  +	dd if=/dev/zero of=debian_cats.img bs=1024 count=1 seek=3300000
                  +
                  +
                  +
                2. Download the tftpboot install kernel:
                  +	http://ftp.debian.org/debian/dists/oldstable/main/disks-arm/current/cats/tftpboot.img
                  +
                  +
                  +
                3. Start the installation using the following command line:
                  +	gxemul -XEcats -d debian_cats.img tftpboot.img
                  +
                  +
                  +
                + +

                It doesn't work, though, because the NIC isn't working well enough. + +

                The only use of Debian/CATS in the emulator right now is as a way to +manipulate Linux disk images, if you are on a non-Linux host. By choosing +"Execute a shell" in the installer's menu, you can have access to tools such as +fdisk and mke2fs, which are useful for creating Linux paritions on disk images. + + + + + + + + + + + + + + +


                + +

                Linux/QEMU_MIPS:

                + +I've added a semi-bogus machine mode which tries to +mimic the MIPS machine mode used in Fabrice Bellard's +QEMU. + +

                Download mips-test-0.1.tar.gz +from http://fabrice.bellard.free.fr/qemu/download.html, +and extract its contents (tar zxvf mips-test-0.1.tar.gz). + +

                Test it in GXemul using the following command line:

                +	gxemul -E qemu_mips -o 'console=ttyS0 root=/dev/ram
                +		rd_start=0x80800000 rd_size=10000000 init=/bin/sh'
                +		0x80800000:mips-test/initrd mips-test/vmlinux-r1
                +
                +
                + + + + + + + + + +


                + +

                Windows NT/MIPS:

                + +Old versions of Windows NT could run on MIPS hardware, e.g. +the PICA 61. It is theoretically possible that the emulation provided by +GXemul some day could be stable/complete enough to emulate +such hardware well enough to fool Windows NT into thinking +that it is running on a real machine. +IT DOES NOT WORK YET! + +

                Installation steps similar to these would be required to install +Windows NT onto a disk image: + +

                  +
                1. Put a "Windows NT 4.0 for MIPS" CDROM (or similar) into + your CDROM drive. (On FreeBSD systems, it is + usually called /dev/cd0c or similar. Change + that to whatever the CDROM is called on your system, + or the name of a raw .iso image. I have tried this + with the Swedish version, but it might work with + other versions too.) +

                  +

                2. Create an empty harddisk image, which will be the disk image + that you will install Windows NT onto:
                  +	$ dd if=/dev/zero of=winnt_test.img bs=1024 count=1 seek=999000
                  +
                  +
                  +
                3. Run the ARC installer, to partition the disk image:
                  +	$ gxemul -X -e pica -d winnt_test.img -d bc6:/dev/cd0c -j MIPS\\ARCINST
                  +
                  + Note that ARCINST almost works, but not quite. +

                  +

                4. Run the SETUP program:
                  +	$ gxemul -X -e pica -d winnt_test.img -d bc6:/dev/cd0c -j MIPS\\SETUPLDR
                  +
                  +
                + +

                SETUPLDR manages to load some drivers from the cdrom, +but then it crashes because of incomplete emulation of some hardware devices. + + + + + + + + +


                + +

                NetBSD/bebox:

                + +There is an old snapshot of +NetBSD/bebox +from 1998-11-19 available at NetBSD's ftp server. NetBSD/bebox +could theoretically run in GXemul. +IT DOES NOT WORK RIGHT NOW! + +

                The following instructions will let you install NetBSD/bebox onto a +disk image, using a NetBSD/prep kernel temporarily during the install:

                  -
                1. Install NetBSD/pmax 2.0.2 according to instructions - further up on this page. +
                2. Download a NetBSD/prep 2.1 install ramdisk kernel:
                  +	ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/prep/binary/kernel/netbsd-INSTALL.gz
                  +

                3. 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
                  +	dd if=/dev/zero of=nbsd_bebox.img bs=1024 count=1 seek=999000
                  +
                  +

                  +

                4. Download the NetBSD/bebox snapshot, and create a suitable .iso + image of the files: +

                         
                  +wget -np -l 0 -r ftp://ftp.netbsd.org/pub/NetBSD/arch/bebox/snapshot/19981119/
                  +mv ftp.netbsd.org/pub/NetBSD/arch/bebox/snapshot/19981119/kern.tgz .
                  +tar zxvf kern.tgz
                  +rm -f kern.tgz
                  +mkisofs -o netbsd-bebox-19981119.iso ftp.netbsd.org/pub/NetBSD/arch/bebox/snapshot/19981119
                  +
                  +

                  +

                5. Now let's extract the files onto the Bebox disk image. Start NetBSD/prep + with the following command line:
                  +	gxemul -x -e ibm6050 -d d:netbsd-bebox-19981119.iso -d nbsd_bebox.img netbsd-INSTALL.gz
                   
                  +
                  Choose (S) for Shell, and execute the following commands: +

                         
                  +disklabel -I -i wd1
                  +a
                  +4.2BSD
                  +1c
                  +750M
                  +b
                  +swap
                  +a
                  +200M
                  +W
                  +y
                  +Q
                  +newfs /dev/wd1a
                  +mount_cd9660 /dev/wd0c /mnt
                  +mount /dev/wd1a /mnt2
                  +cd mnt2
                  +for a in /mnt/*.tgz; do echo $a; tar zxfp $a; done
                  +cd dev; sh ./MAKEDEV all; cd ../etc
                  +echo rc_configured=YES >> rc.conf
                  +echo "/dev/wd0a / ffs rw 1 1" > fstab
                  +echo "/dev/wd0b none swap sw 0 0" >> fstab
                  +cd /; umount /mnt; umount /mnt2
                  +sync; halt
                  +
                  +

                + +

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

                +	gxemul -X -E bebox -d nbsd_bebox.img netbsd
                 
                -
              6. 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
                 
                +

                When asked for the root device, enter wd0a. + +

                IT DOES NOT WORK YET, there are +errors while uncompressing the tgz files, and the machine crashes when +trying to run /sbin/init. + + + + + + + + + + +


                + +

                NetBSD/landisk:

                + +NetBSD/landisk can +run in GXemul. + +

                NOTE: This is still highly +experimental. Installation is very unsmooth. + +

                         + + +

                At the time of writing this, there are not yet any formal releases +of NetBSD/landisk, only daily snapshot builds. + +

                The NetBSD/landisk distribution does not include any INSTALL kernel, +so it must be installed using another (emulated) machine. + +

                The following instructions will let you install NetBSD/landisk onto a disk +image, using an emulated CATS machine: + +

                +

                  +
                1. Download a NetBSD/cats install kernel:
                  +	ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/cats/binary/kernel/netbsd.aout-INSTALL.gz
                   

                  -

                2. Start NetBSD/pmax like this:
                  -	gxemul -e 3max -A -d nbsd_pmax.img -d nbsd_netwinder.img -d netwinder.iso
                  +  
                3. Create an empty harddisk image, which will be the disk image + that you will install NetBSD/landisk onto:
                  +	dd if=/dev/zero of=nbsd_landisk.img bs=1024 count=1 seek=900000
                   
                  -
                  and execute the following commands as root: +
                4. + +TODO +download the .iso image + +

                  +

                5. TODO: Start the emulated CATS machine like this:
                  +	gxemul -XEcats -d nbsd_landisk.img -d landisk.iso netbsd.aout-INSTALL.gz
                  +
                  +
                  +
                6. Exit the installer, then execute the following commands:

                         
                  -newfs /dev/sd1c
                  +
                  +disklabel -I -i wd0
                  +... TODO
                  +newfs /dev/wd0a
                   mount /dev/cd0c /mnt
                  -mkdir /mnt2; mount /dev/sd1c /mnt2
                  +mkdir /mnt2; mount /dev/wd0a /mnt2
                   cd /mnt2; sh
                  -for a in /mnt/netwinder/binary/sets/*.tgz; do echo $a; tar zxfp $a; done
                  +for a in /mnt/*/binary/sets/[bcekmt]*.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
                  +echo "/dev/wd0a / ffs rw 1 1" > fstab
                  +echo "/dev/wd0b none swap sw 0 0" >> 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
                +

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

                +	gxemul -x -E landisk -d nbsd_landisk.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)
                +
                +
                +
                +
                +
                +
                +
                +
                +


                + +

                OpenBSD/landisk:

                + +It is possible to install and run +OpenBSD/landisk +in GXemul. There is at the time of writing this no stable release +yet of OpenBSD/landisk, but there are snapshots available on the +OpenBSD ftp site. + +

                To install OpenBSD/landisk onto an emulated harddisk image, +follow these instructions: + +

                +

                  +
                1. Create an empty harddisk image, which will be the root disk + that OpenBSD installs itself onto:
                  +	dd if=/dev/zero of=obsd_landisk.img bs=1024 count=1 seek=900000
                  +
                   
                  +
                2. Download the entire landisk directory from the ftp server:
                  +	wget -np -l 0 -r ftp://ftp.se.openbsd.org/pub/OpenBSD/snapshots/landisk/
                  +	cp ftp.se.openbsd.org/pub/OpenBSD/snapshots/landisk/bsd .
                  +	cp ftp.se.openbsd.org/pub/OpenBSD/snapshots/landisk/bsd.rd .
                   
                  +
                  + (Replace ftp.se.openbsd.org with a server closer to you, for + increased download speed.) +

                  +

                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 it in order to do this.)
                  +	mkisofs -allow-lowercase -o openbsd_landisk_snapshot.iso ftp.se.openbsd.org/pub/OpenBSD/
                  +	rm -rf ftp.se.openbsd.org      (this directory is not needed anymore)
                  +
                  +
                  +
                4. Start the emulator using this command line:
                  +	gxemul -x -Elandisk -d obsd_landisk.img -d d:openbsd_landisk_snapshot.iso bsd.rd
                  +
                  +
                  + and proceed like you would do if you were installing OpenBSD + on a real landisk. The following hints are useful to get you + through the installation: +
                    +
                  • Terminal type = xterm +
                  • root disk = wd0 (the disk to install onto) +
                  • Use the entire disk for OpenBSD = yes +
                  • Create one big root partition (a) and a small swap partition (b). c is the entire disk. +
                  • Do not configure the network. +
                  • Location of sets = disk +
                  • Is the disk partition already mounted = no +
                  • Disk containing the install media = wd1 +
                  • Pathname to the sets = snapshot/landisk +
                  +
                + +

                Once the install has finished, the following command should let you +boot from the disk image: + +

                +	gxemul -x -E landisk -d obsd_landisk.img bsd
                +
                +