--- trunk/doc/guestoses.html 2007/10/08 16:18:19 8 +++ trunk/doc/guestoses.html 2007/10/08 16:20:40 30 @@ -1,20 +1,18 @@ - -
|
@@ -49,23 +48,23 @@
-Although it is possible to let a guest OS access real hardware, such as -harddisks, it is much more flexible and attractive to simulate harddisks -using files residing in the host's filesystem. On Unix-like systems, files -may contain holes, which makes this really simple. To the guest operating +
Although it is possible to let a guest OS access real hardware, such as +harddisks, it is much more flexible and attractive to simulate harddisks +using files residing in the host's filesystem. On Unix-like systems, files +may contain holes, which makes this really simple. To the guest operating system, the harddisk image looks and acts like a real disk. +
The version numbers of the various operating systems were the latest +versions that worked satisfactory with GXemul at the time this page was +updated; if new versions have been released since then, they might work as +well. + +
In addition to the "working" guest operating systems listed above, +you might find the following information interesting: (Some of these might +not be relevant for this specific release of GXemul.) + +
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. @@ -95,22 +118,35 @@
- +
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 nowadays X does not +work straight away. (It seems that this has to do with NetBSD switching +console system to "WSCONS" somewhere between 1.6.2 and 2.0. I haven't had +time to figure out how to make it work; at worst it might require a kernel +recompilation.) What this means is that if you want to use emulated X11, +then you need to run NetBSD 1.6.2. If you feel that you only need +serial-console emulation, then choose the latest NetBSD version available. + +
-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: -
-
- $ 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=1900000
- 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/pmaxcd.iso + ftp://ftp.netbsd.org/pub/NetBSD/iso/3.0.1/pmaxcd-3.0.1.iso
- $ gxemul -X -b -E dec -e 3max -d nbsd_pmax.img -d bc:pmaxcd.iso + gxemul -e 3max -d nbsd_pmax.img -d bc:pmaxcd-3.0.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 + type, and not rcons.
For an ftp install, substitute steps 2 and 3 above with these:
- 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/pmax/binary/kernel/netbsd-INSTALL.gz - - $ gunzip netbsd-INSTALL.gz + ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.0.1/pmax/binary/kernel/netbsd-INSTALL.gz
- $ gxemul -X -b -E dec -e 3max -d nbsd_pmax.img -O netbsd-INSTALL + gxemul -e 3max -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 @@ -171,29 +201,27 @@ 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. - -
-If you want to run without the X framebuffer, use this instead:
- $ gxemul -E dec -e 3max -b -d nbsd_pmax.img +If you installed NetBSD/pmax 1.6.2, 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. + @@ -203,72 +231,69 @@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 an old version of NetBSD/arc +on an emulated Acer PICA-61 in the emulator.-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:
-
- 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-- Download a NetBSD/arc 1.6.2 CDROM image from ftp:
- ftp://ftp.netbsd.org/pub/NetBSD/iso/1.6.2/arccd.iso +- Download a NetBSD/arc 1.6.2 CDROM image, and a generic NetBSD/arc + kernel:
+ 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- 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(Try removing -x if you have problems with the xterm.)
- 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 - --- 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 - -+ 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', + '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. @@ -278,15 +303,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. --
Model: | @@ -330,8 +355,8 @@
-(
These instructions show an example of how to install -NetBSD/hpcmips on an emulated MobilePro 800: +NetBSD/hpcmips on an emulated MobilePro 770:
- $ 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=999000-
- ftp://ftp.se.netbsd.org/pub/NetBSD/iso/2.0/hpcmipscd.iso +
+ ftp://ftp.netbsd.org/pub/NetBSD/iso/3.0.1/hpcmipscd-3.0.1.iso + ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.0.1/hpcmips/binary/kernel/netbsd-GENERIC.gz -(You may want to choose a mirror closer to you, if .se is slow.) +
- $ gxemul -E hpc -e mobilepro800 -b -X -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.0.1.iso -j hpcmips/installation/netbsd.gzand 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. @@ -401,17 +422,17 @@
Installing NetBSD/cobalt in GXemul:
+NetBSD/cobalt:
NetBSD/cobalt is tricky to install, because the Cobalt machines were designed for Linux, and not -very flexible. There is no INSTALL kernel for NetBSD/cobalt. One way to -install the NetBSD/cobalt distribution onto a disk image is to do it from -another (emulated) machine. +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 @@ -419,43 +440,43 @@
+
- Download a NetBSD/pmax (DECstation) install RAMDISK kernel:
+ ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.0.1/pmax/binary/kernel/netbsd-INSTALL.gz ++
- 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-- Download the generic kernel for Cobalt (and gunzip it) and - the 2.0 ISO image:
- ftp://ftp.se.netbsd.org/pub/NetBSD/NetBSD-2.0/cobalt/binary/kernel/netbsd-GENERIC.gz - ftp://ftp.se.netbsd.org/pub/NetBSD/iso/2.0/cobaltcd.iso +- Download the generic kernel for Cobalt and the 3.0.1 ISO image:
+ ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.0.1/cobalt/binary/kernel/netbsd-GENERIC.gz + ftp://ftp.netbsd.org/pub/NetBSD/iso/3.0.1/cobaltcd-3.0.1.iso -(You may want to choose a mirror closer to you, if .se is slow.) --
- Install NetBSD/pmax 2.0 according to instructions further up - on this page. -
-
- Start NetBSD/pmax like this:
- $ gxemul -b -Edec -e3max -d nbsd_pmax.img -d cobaltcd.iso -d nbsd_cobalt.img ++- Start the emulated DECstation machine like this:
+ gxemul -e 3max -d nbsd_cobalt.img -d cobaltcd-3.0.1.iso netbsd-INSTALL.gz- 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) +
+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/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 -E cobalt -d nbsd_cobalt.img netbsd-GENERIC.gzNote that the installation instructions above create a filesystem @@ -474,37 +495,576 @@ - + + + + + + + + +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: + +
+
+
+ +- Download a NetBSD/pmax (DECstation) install RAMDISK kernel:
+ ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.0.1/pmax/binary/kernel/netbsd-INSTALL.gz +++
- 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 + ++- Download the generic kernel and the 3.0.1 ISO image:
+ ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.0.1/netwinder/binary/kernel/netbsd-GENERIC.gz + ftp://ftp.netbsd.org/pub/NetBSD/iso/3.0.1/netwindercd-3.0.1.iso + +++
- Start the emulated DECstation machine like this:
+ gxemul -e 3max -d nbsd_netwinder.img -d netwindercd-3.0.1.iso netbsd-INSTALL.gz + ++- 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: + +
To install NetBSD/prep onto a disk image, follow these instructions: + +
+
+ dd if=/dev/zero of=nbsd_prep.img bs=1024 count=1 seek=1000000 + ++
+ 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 + ++
+
+ gxemul -x -e ibm6050 -d nbsd_prep.img -d rdb:prepcd.iso -j prep/binary/kernel/netbsd-INSTALL.gz + ++
+
+ 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. + + + + + + + + + + + + + + + +
@@ -542,32 +1206,33 @@
- $ 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
- $ wget -r ftp://ftp.se.openbsd.org/pub/OpenBSD/2.8/pmax/ + wget -r ftp://ftp.se.openbsd.org/pub/OpenBSD/2.8/pmax/-
- $ mv ftp.se.openbsd.org/pub/OpenBSD/2.8/pmax/simpleroot28.fs.gz . - $ gunzip simpleroot28.fs.gz - $ chmod +w simpleroot28.fs <--- make sure - -+
+mv ftp.se.openbsd.org/pub/OpenBSD/2.8/pmax/simpleroot28.fs.gz . +gunzip simpleroot28.fs.gz +chmod +w simpleroot28.fs <--- make sure + |
- $ 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 + rm -rf ftp.se.openbsd.org (this directory is not needed anymore)
- $ 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 -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.)
@@ -581,10 +1246,10 @@
- $ 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 + ./installand proceed with the install. Good luck. :-) @@ -595,34 +1260,32 @@ the directory containing the install sets.
-
- $ gxemul -E dec -e 3max -b -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 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 + |
@@ -635,7 +1298,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 -o '-aN' -d obsd_pmax.img -j bsd
@@ -653,173 +1316,74 @@ -
-(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: +It is possible to install and run +OpenBSD/cats +in GXemul. + +
To install OpenBSD/cats onto an emulated harddisk image, +follow these instructions:
- $ dd if=/dev/zero of=obsd_arc.img bs=1024 count=1 seek=700000 + dd if=/dev/zero of=obsd_cats.img bs=1024 count=1 seek=1900000-
- $ wget -np -l 0 -r ftp://ftp.se.openbsd.org/pub/OpenBSD/2.3/arc/ +
+ wget -np -l 0 -r ftp://ftp.openbsd.org/pub/OpenBSD/3.9/cats/ + cp ftp.openbsd.org/pub/OpenBSD/3.9/cats/bsd . + cp ftp.openbsd.org/pub/OpenBSD/3.9/cats/bsd.rd .- + (Replace ftp.openbsd.org with a server closer to you, for + increased download speed.) +
- $ mkisofs -o openbsd_arc_2.3.iso ftp.se.openbsd.org/pub/OpenBSD/ + to install it in order to do this.)+ mkisofs -allow-lowercase -o openbsd_cats_3.9.iso ftp.openbsd.org/pub/OpenBSD/ + rm -rf ftp.openbsd.org (this directory is not needed anymore)
- $ 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 -XEcats -d obsd_cats.img -d openbsd_cats_3.9.iso bsd.rdand 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.) + on a real CATS. (Install onto wd0, don't configure the + network, install from CD.)
-Once the install has finished, the following command should let you -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 - -- - - - - - @@ -827,15 +1391,17 @@
The following instructions should let you install Ultrix onto a disk image: @@ -843,14 +1409,14 @@
- $ 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
- $ gxemul -X -b -M64 -E dec -e 3max -d rootdisk.img -d bc:/dev/cd0c -j vmunix + gxemul -X -e 3max -d rootdisk.img -d bc:/dev/cd0c -j vmunix
- $ gxemul -X -b -M64 -E dec -e 3max -d rootdisk.img -d c:/dev/cd0c -j vmunix + gxemul -X -e 3max -d rootdisk.img -d c:/dev/cd0c -j vmunix
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 -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.) +
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.)
You can experiment with adding -Z2 (for emulating a @@ -889,7 +1452,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 -N -e 3max -jgenvmunix -d rootdisk.img \ -XZ3 -z remote1:0.0 -z localhost:0.0 -z remote2:0.0@@ -930,7 +1493,7 @@
- http://www.es.embnet.org/Services/ftp/misc/TUHS/other_os/Sprite/ds5000.bt - or ftp://ftp.es.embnet.org/pub/misc/TUHS/other_os/Sprite/ds5000.bt +
+ ftp://ftp.es.embnet.org/pub/misc/TUHS/other_os/Sprite/ds5000.bt 83973120 bytes, MD5 = ec84eeeb20fe77b758370d5e312e4a5e
- $ 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 ''
- Your machine's Ethernet address: 10:20:30:40:50:60 + Your machine's Ethernet address: 10:20:30:00:00:10 Your machine's IP: 10.0.0.1 Subnet mask: 0xff000000 Gateway's Ethernet address: 60:50:40:30:20:10 @@ -977,18 +1539,17 @@
-Unfortunately, at the end of -http://www.es.embnet.org/Services/ftp/misc/TUHS/other_os/Sprite/boot.txt, the -following sad statement can be found: +Unfortunately, at the end of ftp://ftp.es.embnet.org/pub/misc/TUHS/other_os/Sprite/boot.txt, +the following sad statement can be found:
The bootable Sprite image is meant to be a demonstration of Sprite, not a robust Sprite system. There are several missing things, such as floating point and network support.-
-Once you are logged in as root, running xinit will start the X11 -environment. +
Once you are logged in as root, running xinit will +start the X11 environment. + @@ -996,27 +1557,28 @@
David Muse has made available a precompiled install kernel 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 @@ -1026,110 +1588,90 @@
- $ dd if=/dev/zero of=debian.img bs=1024 count=1 seek=2000000 + dd if=/dev/zero of=debian_pmax.img bs=1024 count=1 seek=3300000-
- 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://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- depending on whether you want to install Debian "Testing" or - "Unstable".
-
- $ gxemul -E dec -e 3max -b -U -M64 -o 'console=ttyS3' -d debian.img -O boot.img - +
+ gxemul -X -e3max -d debian_pmax.img -d debian-31r0a-mipsel-netinst.iso vmlinux-2.4.31-
-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 everything goes well, you will see Linux' boot messages, and then + arrive at the language chooser.
-(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 -+
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.
-
- $ gxemul -E dec -e 3max -U -b -M64 -o 'console=ttyS3' -d debian.img + + + + + ++ 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-
Choose Erase entire disk in the partitioner. -
-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: +
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.
-
- http://http.us.debian.org/debian/dists/testing/main/ - installer-mipsel/current/images/cdrom/vmlinux-2.4.27-r3k-kn02 + + + + --
- $ gxemul -E dec -e 3max -U -b -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 / --
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 "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 dec -e 3max -U -b -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. ] @@ -1138,12 +1680,8 @@
Running Redhat Linux for DECstation in GXemul:
+Redhat Linux for DECstation:
-NOTE: This is experimental, and extremely -unstable. Read the note about -U in the section on how to -install Debian. -@@ -1154,9 +1692,8 @@
-
-- 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 +- Download a kernel. David Muse' Debian-install kernel works fine:
+ http://www.firstworks.com/mips-linux-2.4.31/vmlinux-2.4.31- Download a root filesystem tree:
@@ -1165,11 +1702,21 @@ 19486676 bytes, md5 = 5bcb725c90209479cd7ead8ad0c4a414-- 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. +
- Create a disk image which will contain the Redhat filesystem:
+ dd if=/dev/zero of=redhat_mips.img bs=1024 count=1 seek=2000000 + ++- 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 @@ -1183,39 +1730,24 @@ none /dev/pts devpts mode=0622 0 0(Note sda1 instead of sdc1.) --
- To boot Linux, start the emulator like this:
- $ gxemul -E dec -e 3max -U -b -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 dec -e 3max -U -b -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 (enabled by 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/patches/vmlinux-2.4.29-rc2-r3k-mipsel-decstation -It should work with framebuffer/keyboard. ] + + + +
+
+ @@ -1224,7 +1756,7 @@Running Mach/PMAX in GXemul:
+Mach/PMAX:
Read the following link if you want to know more about Mach in general: @@ -1248,20 +1780,21 @@
- Compile gxemul with cache emulation: (NOTE: --enable-caches)
- $ ./configure --enable-caches; make + ./configure --enable-caches; make- 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- 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- 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- Load the contents of pmax.tar.Z onto the disk image. This is @@ -1278,7 +1811,7 @@ cd /; sync; umount /mnt)
- 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@@ -1286,6 +1819,562 @@ + + + + +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.9/sgi/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 +as a diskless +client. Performing this setup is quite time consuming, but necessary: + +
+
+
+ + +- First of all, the "nfs server" machine must be set up. + This needs to have a 800 MB /tftpboot partition. + Install NetBSD/pmax 3.0.1 from CDROM. + (Don't forget to add the extra partition!) +
+
- Configure the nfs server machine to act as an nfs server. + Start up the emulated DECstation:
+ gxemul -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 +echo 10.0.0.254 > /etc/mygate +echo /tftpboot -maproot=root 10.0.0.1 > /etc/exports +echo rpcbind=YES >> /etc/rc.conf +echo nfs_server=YES >> /etc/rc.conf +echo mountd=YES >> /etc/rc.conf +echo bootparamd=YES >> /etc/rc.conf +printf "client root=10.0.0.2:/tftpboot \\\n swap=10.0.0.2:/tftpboot/swap\n" > /etc/bootparams +echo "10:20:30:00:00:10 client" > /etc/ethers +echo 10.0.0.1 client > /etc/hosts +reboot +- Start the DECstation emulation again, and 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.9/sgi +mget b*tgz c*tgz 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 +- Download the OpenBSD/sgi GENERIC and RAMDISK kernels:
+ ftp://ftp.se.openbsd.org/pub/OpenBSD/3.9/sgi/bsd + ftp://ftp.se.openbsd.org/pub/OpenBSD/3.9/sgi/bsd.rd + ++- Create a configuration file called config_client: +
+ ... and another configuration file for the server, + config_server: +
+! Configuration file for running OpenBSD/sgi diskless with +! a NetBSD/pmax machine as the nfs server. +! +! This config file is for the client. + + 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") + ) + ++
+ 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") + ) + +- Boot the "nfs server" and the OpenBSD/sgi + "client machine" as two separate emulator instances:
+ in one xterm: + gxemul @config_server + + and then, in another xterm: + gxemul @config_client + ++- In the OpenBSD/sgi window, choose "s" (for Shell), and type: +
+ 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. +
+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 +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. + + + + + + + + + +
OpenBSD/arc:
+ +It is (almost) possible to install and run OpenBSD/arc on an emulated Acer +PICA-61 in the emulator. + +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: + +
+
+
+ +- 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 + ++- 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/ + ++ +- 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/ + ++- 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.) ++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: + +
+
+
+ +- 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 + ++- Download the tftpboot install kernel:
+ http://ftp.debian.org/debian/dists/oldstable/main/disks-arm/current/cats/tftpboot.img + ++- 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. + +Follow these steps to download and run the Linux/QEMU_MIPS test +ramdisk kernel: + +
+
+ +- 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 + ++"QEMU is a FAST! processor emulator" according to http://fabrice.bellard.free.fr/qemu/qemu-doc.html. +Sometimes QEMU is faster than GXemul, sometimes it is the other way +around. A quick (and quite unfair) test on my laptop (1.8 GHz Turion ML32, +I think, in AMD64 mode) comparing QEMU 0.8.1 installed as a binary package +from FreeBSD ports with GXemul gave the following result: + +
+ while true; do ls -l > /dev/null; echo -n .; done + (80 x 36 dots) + QEMU 0.8.1: 13 min 48 sec + GXemul 0.4.2: 4 min 31 sec + + while true; do /usr/bin/md5sum /usr/bin/* > /dev/null; echo -n .; done + (80 dots) + QEMU 0.8.1: 2 min 9 sec + GXemul 0.4.2: 5 min 18 sec + + while true; do grep hej lib/libtextwrap.so.1 > /dev/null; echo -n .; done + (80 dots) + QEMU 0.8.1: 10 min 5 sec + GXemul 0.4.2: 1 min 36 sec ++ +The commands were run inside the emulators, using the ramdisk kernel +mentioned above. + + + + + + + + +
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! + +Something like this would be done to install +Windows NT onto a disk image: + +
+
+ +- 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.) +
+
- 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 + ++- 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. ++
- 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/macppc:
+ +It is ALMOST 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: + +
+
+
+ +- 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=2000000 + ++- Download the NetBSD/macppc 3.0 ISO image and a generic kernel:
+ ftp://ftp.netbsd.org/pub/NetBSD/iso/3.0/macppccd-3.0.iso + ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.0/macppc/binary/kernel/netbsd-GENERIC.MP.gz + +++
- Start the installation like this:
+ gxemul -x -e g4 -d nbsd_macppc.img -d b:macppccd-3.0.iso -j macppc/binary/kernel/netbsd-INSTALL.gz + ++If everything worked, NetBSD/macppc should now be installed on the disk image. + +
2006-02-26: That's it. The installation +succeeds, but it is not possible to start from the newly installed disk. +/sbin/init dies, so the following command doesn't really work yet: + +
Use the following command line to boot the emulated machine:
+ gxemul -x -e g4 -d nbsd_macppc.img netbsd-GENERIC.MP.gz + ++ + + + + + + + + + + + +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: + +
+
+
+ +- Download a NetBSD/prep 2.1 install ramdisk kernel:
+ ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/prep/binary/kernel/netbsd-INSTALL.gz +++
- Create an empty harddisk image, which will be the disk image + that you will install NetBSD onto:
+ dd if=/dev/zero of=nbsd_bebox.img bs=1024 count=1 seek=999000 +++
- 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 ++
- 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 ++ +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. + + + + + +