/[gxemul]/trunk/doc/guestoses.html
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/doc/guestoses.html

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 6 by dpavlin, Mon Oct 8 16:18:11 2007 UTC revision 44 by dpavlin, Mon Oct 8 16:22:56 2007 UTC
# Line 1  Line 1 
1  <html>  <html><head><title>Gavare's eXperimental Emulator:&nbsp;&nbsp;&nbsp;Installing and running "guest OSes"</title>
2  <head><title>GXemul documentation: Installing and running "guest OSes"</title>  <meta name="robots" content="noarchive,nofollow,noindex"></head>
 </head>  
3  <body bgcolor="#f8f8f8" text="#000000" link="#4040f0" vlink="#404040" alink="#ff0000">  <body bgcolor="#f8f8f8" text="#000000" link="#4040f0" vlink="#404040" alink="#ff0000">
4  <table border=0 width=100% bgcolor="#d0d0d0"><tr>  <table border=0 width=100% bgcolor="#d0d0d0"><tr>
5  <td width=100% align=center valign=center><table border=0 width=100%><tr>  <td width=100% align=center valign=center><table border=0 width=100%><tr>
6  <td align="left" valign=center bgcolor="#d0efff"><font color="#6060e0" size="6">  <td align="left" valign=center bgcolor="#d0efff"><font color="#6060e0" size="6">
7  <b>GXemul documentation:</b></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <b>GXemul:</b></font>&nbsp;&nbsp;
8  <font color="#000000" size="6"><b>Installing and running "guest OSes"</b>  <font color="#000000" size="6"><b>Installing and running "guest OSes"</b>
9  </font></td></tr></table></td></tr></table><p>  </font></td></tr></table></td></tr></table><p>
 <!-- The first 10 lines are cut away by the homepage updating script.  -->  
   
10    
11  <!--  <!--
12    
13  $Id: guestoses.html,v 1.48 2005/06/04 01:11:01 debug Exp $  $Id: guestoses.html,v 1.230 2007/09/11 21:46:35 debug Exp $
14    
15  Copyright (C) 2003-2005  Anders Gavare.  All rights reserved.  Copyright (C) 2003-2007  Anders Gavare.  All rights reserved.
16    
17  Redistribution and use in source and binary forms, with or without  Redistribution and use in source and binary forms, with or without
18  modification, are permitted provided that the following conditions are met:  modification, are permitted provided that the following conditions are met:
# Line 42  SUCH DAMAGE. Line 39  SUCH DAMAGE.
39    
40  -->  -->
41    
42    
43  <a href="./">Back to the index</a>  <a href="./">Back to the index</a>
44    
45  <p><br>  <p><br>
# Line 50  SUCH DAMAGE. Line 48  SUCH DAMAGE.
48  <p>  <p>
49  <ul>  <ul>
50    <li><a href="#generalnotes">General notes on running "guest OSes"</a>    <li><a href="#generalnotes">General notes on running "guest OSes"</a>
51    <li><a href="#netbsdinstall">Installing NetBSD/pmax in GXemul</a>    <li><a href="#netbsdpmaxinstall">NetBSD/pmax 4.0</a>
52    <li><a href="#netbsdarcinstall">Installing NetBSD/arc in GXemul</a>    <li><a href="#netbsdarcinstall">NetBSD/arc 4.0</a>
53    <li><a href="#netbsdhpcmipsinstall">Installing NetBSD/hpcmips in GXemul</a>    <li><a href="#netbsdhpcmipsinstall">NetBSD/hpcmips 3.1</a>
54    <li><a href="#netbsdcobaltinstall">Installing NetBSD/cobalt in GXemul</a>    <li><a href="#netbsdcobaltinstall">NetBSD/cobalt 3.1</a>
55  <!--    <li><a href="#netbsdevbmipsinstall">NetBSD/evbmips 3.1</a>
56    <li><a href="#netbsdsgimips">Running NetBSD/sgimips in GXemul</a>    <li><a href="#netbsdalgorinstall">NetBSD/algor 3.1</a>
57  -->    <li><a href="#netbsdsgimips">NetBSD/sgimips 3.1</a>
58    <li><a href="#openbsdinstall">Installing OpenBSD/pmax in GXemul</a>    <li><a href="#netbsdcatsinstall">NetBSD/cats 3.1</a>
59    <li><a href="#openbsdarcinstall">Installing OpenBSD/arc in GXemul</a>    <li><a href="#netbsdevbarminstall">NetBSD/evbarm 2.1</a>
60  <!--    <li><a href="#netbsdnetwinderinstall">NetBSD/netwinder 3.1</a>
61    <li><a href="#openbsdsgiinstall">Running OpenBSD/sgi in GXemul</a>    <li><a href="#netbsdprepinstall">NetBSD/prep 2.1</a>
62  -->    <li><a href="#netbsdmacppcinstall">NetBSD/macppc 4.0</a>
63    <li><a href="#ultrixinstall">Installing Ultrix/RISC in GXemul</a>    <li><a href="#netbsdpmppc">NetBSD/pmppc 3.1</a>
64    <li><a href="#sprite">Running Sprite for DECstation in GXemul</a>    <li><a href="dreamcast.html#netbsd_generic_md">NetBSD/dreamcast 3.1</a>
65    <li><a href="#declinux">Installing Debian GNU/Linux for DECstation in GXemul</a>    <li><a href="dreamcast.html#linux_live_cd">Linux/dreamcast</a>
66    <li><a href="#declinuxredhat">Running Redhat Linux for DECstation in GXemul</a>    <li><a href="#openbsdpmaxinstall">OpenBSD/pmax 2.8-BETA</a>
67    <li><a href="#mach">Running Mach/PMAX in GXemul</a>    <li><a href="#openbsdcatsinstall">OpenBSD/cats 4.0</a>
68      <li><a href="#openbsdlandiskinstall">OpenBSD/landisk 4.1</a>
69      <li><a href="#ultrixinstall">Ultrix/RISC 4.5</a>
70      <li><a href="#sprite">Sprite for DECstation</a>
71      <li><a href="#declinux">Debian GNU/Linux for DECstation</a>
72  </ul>  </ul>
73    
74    
# Line 79  SUCH DAMAGE. Line 81  SUCH DAMAGE.
81  <h3>General notes on running "guest OSes":</h3>  <h3>General notes on running "guest OSes":</h3>
82    
83  The emulator works well enough to run complete operating systems. These  The emulator works well enough to run complete operating systems. These
84  are often refered to as "guest" operating systems.  are often refered to as <i>guest</i> operating systems, in contrast to the
85    <i>host</i> operating system which the emulator is running under.
86    
87  <p>  <p>Although it is possible to let a guest OS access real hardware, such as
88  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
89  harddisks, it is much more flexible and attractive to simulate harddisks  using files residing in the host's filesystem. On Unix-like systems, files
90  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
 may contain holes, which makes this really simple. To the guest operating  
91  system, the harddisk image looks and acts like a real disk.  system, the harddisk image looks and acts like a real disk.
92    
93    <p>The version numbers of the various operating systems were the latest
94    versions that worked satisfactory with GXemul at the time this page was
95    updated; if new versions have been released since then, they might work as
96    well.
97    
98    <p>In addition to the "working" guest operating systems listed above,
99    you might find the following information interesting:
100    
101    <ul>
102      <li><a href="#mach">Mach/PMAX</a>
103      <li><a href="#declinuxredhat">Redhat Linux for DECstation</a>
104      <li><a href="#openbsdsgiinstall">OpenBSD/sgi</a>
105      <li><a href="#openbsdarcinstall">OpenBSD/arc 2.3</a>
106      <li><a href="#debiancats">Debian GNU/Linux for CATS</a>
107      <!-- <li><a href="#linux_malta">Linux/Malta</a> -->
108      <li><a href="#linux_qemu_mips">Linux/QEMU_MIPS</a>
109      <li><a href="#windows_nt_mips">Windows NT/MIPS</a>
110      <li><a href="#netbsdbeboxinstall">NetBSD/bebox 19981119</a>
111      <li><a href="#netbsdlandiskinstall">NetBSD/landisk</a>
112    </ul>
113    
114    <p><b><font color="#ff0000">NOTE:</b>
115    Some of these sections may not be relevant to this
116    specific release of GXemul,</font> for example some of these
117    modes may be legacy modes that worked before but not any longer,
118    or are not yet working but could be in the future.
119    
120    <p>Some operating systems are listed with a version number <i>less</i>
121    than what was available at the time of this GXemul release (e.g.
122    NetBSD/prep). The reasons for this is because of incompleteness in
123    GXemul's machine, device, and/or processor implementations.
124    
125    
126    
# Line 96  system, the harddisk image looks and act Line 129  system, the harddisk image looks and act
129    
130    
131  <p><br>  <p><br>
132  <a name="netbsdinstall"></a>  <a name="netbsdpmaxinstall"></a>
133  <h3>Installing NetBSD/pmax in GXemul:</h3>  <h3>NetBSD/pmax:</h3>
134    
135  <p>  <p><a href="http://www.netbsd.org/ports/pmax/">NetBSD/pmax</a> was the
136  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  first guest OS that could be
137    <a href="http://mail-index.netbsd.org/port-pmax/2004/04/18/0000.html">installed</a>
138    onto a disk image in GXemul. The device emulation of the DECstation
139    5000/200 is reasonably complete; it should be enough to emulate a
140    networked X-windows-capable workstation.
141    
142    <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
143  <a href="20050317-example.png"><img src="20050317-example_small.png"></a>  <a href="20050317-example.png"><img src="20050317-example_small.png"></a>
144    
145  <p>  <p>To install NetBSD/pmax onto a harddisk image in the emulator,
146  To install NetBSD/pmax onto a harddisk image in the emulator, follow these  follow these instructions:
 instructions:  
147    
148  <p>  <p><ol>
 <ol start="1">  
149    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
150          that NetBSD installs itself onto:<pre>          that NetBSD installs itself onto:<pre>
151          $ <b>dd if=/dev/zero of=nbsd_pmax.img bs=1 count=512 seek=1900000000</b>          <b>dd if=/dev/zero of=nbsd_pmax.img bs=1024 count=1 seek=3000000</b>
152    
153  </pre>  </pre>
 </ol>  
   
 <p>  
 From this point, there are two separate ways to continue the installation.  
 You can either download a CD-ROM iso image (and let the installation  
 program copy files from the CD-ROM image to the harddisk image), or you  
 can install via ftp. For an installation from a CD-ROM image, follow these  
 steps:  
 <p>  
 <ol start="2">  
   
154    <li>Download a NetBSD CD-ROM iso image:<pre>    <li>Download a NetBSD CD-ROM iso image:<pre>
155          <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/1.6.2/pmaxcd.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/1.6.2/pmaxcd.iso</a>          <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/4.0/pmaxcd-4.0.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/4.0/pmaxcd-4.0.iso</a>
         or  
         <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/2.0/pmaxcd.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/2.0/pmaxcd.iso</a>  
   
 </pre>  
   <li>Start the emulator like this:<pre>  
         $ <b>gxemul -X -b -E dec -e 3max -d nbsd_pmax.img -d bc:pmaxcd.iso</b>  
 </pre>  
 </ol>  
 <p>  
 For an ftp install, substitute steps 2 and 3 above with these:  
 <p>  
 <ol start="2">  
   
   <li>Download a NetBSD pmax INSTALL kernel, and gunzip it:<pre>  
         <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-1.6.2/pmax/binary/kernel/netbsd-INSTALL.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-1.6.2/pmax/binary/kernel/netbsd-INSTALL.gz</a>  
         or  
         <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0/pmax/binary/kernel/netbsd-INSTALL.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0/pmax/binary/kernel/netbsd-INSTALL.gz</a>  
   
         $ <b>gunzip netbsd-INSTALL.gz</b>  
156    
157  </pre>  </pre>
158    <li>Start the emulator like this:<pre>    <li>Start the emulator like this:<pre>
159          $ <b>gxemul -X -b -E dec -e 3max -d nbsd_pmax.img -O netbsd-INSTALL</b>          <b>gxemul -X -e 3max -d nbsd_pmax.img -d b:pmaxcd-4.0.iso</b>
160  </pre>  </pre>
161  </ol>  </ol>
162    
163  <p>  <p>If you do not want to use the graphical framebuffer during the
164  (If you don't want to use a graphical framebuffer during the install,  install, you can skip the <b><tt>-X</tt></b> command line option.
165  you can remove <b>-X</b> from the command line, but then make sure you  Remember to enter <tt>xterm</tt> instead of <tt>vt100</tt> when asked
166  choose 'vt100' when prompted with which terminal type to use, and not  about your terminal type, if you do this.
 'rcons'.)  
   
 <p>  
 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:<pre>  
         Which device shall I use? [le0]: <b>le0</b>  
         ..  
         Your DNS domain: <b>mydomain.com</b>  
         Your host name: <b>foo</b>  
         Your IPv4 number: <b>10.0.0.1</b>  
         IPv4 Netmask [0xff000000]: <b>0xff000000</b>  
         IPv4 gateway: <b>10.0.0.254</b>  
         IPv4 name server: <b>10.0.0.254</b>  
 </pre>  
167    
168  <p>  <p>You can also add <b><tt>-Y 2</tt></b> to the command line options, if
169  (If using 10.0.0.254 as the nameserver fails, then try entering the  you feel that the default framebuffer window is too large.
 IP number of a real-world nameserver instead.)  
170    
171  <p>  <p>When the installation has finished, the following command should start
 When the installation is completed, the following command should start  
172  NetBSD from the harddisk image:<pre>  NetBSD from the harddisk image:<pre>
173          $ <b>gxemul -X -b -M64 -E dec -e 3max -d nbsd_pmax.img</b>          <b>gxemul -X -e 3max -d nbsd_pmax.img</b>
174  </pre>  </pre>
175    
176  <p>  and log in as <tt>root</tt>. Type <tt>startx</tt> to start X windows.
 Use <b>startx</b> to start X windows.  
177    
178  <p>  <p>(Remove <b><tt>-X</tt></b> if you only want a serial console.)
 <font color="#ff0000">NOTE:</font> 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.  
179    
 <p>  
 If you want to run without the X framebuffer, use this instead:<pre>  
         $ <b>gxemul -E dec -e 3max -b -d nbsd_pmax.img</b>  
 </pre>  
180    
181    
182    
# Line 204  If you want to run without the X framebu Line 186  If you want to run without the X framebu
186    
187  <p><br>  <p><br>
188  <a name="netbsdarcinstall"></a>  <a name="netbsdarcinstall"></a>
189  <h3>Installing NetBSD/arc in GXemul:</h3>  <h3>NetBSD/arc:</h3>
190    
191  It is possible to run NetBSD/arc on an emulated Acer PICA-61 in the emulator.  It is possible to install and run <a
192    href="http://www.netbsd.org/ports/arc/">NetBSD/arc</a>
193    on an emulated Acer PICA-61 in the emulator.
194    
195  <p>  <p>
196  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
197  <a href="20041024-netbsd-arc-installed.gif"><img src="20041024-netbsd-arc-installed_small.gif"></a>  <a href="20041024-netbsd-arc-installed.gif"><img src="20041024-netbsd-arc-installed_small.gif"></a>
198    
199  <p>  <p>
200  To install NetBSD/arc from a CDROM image onto an emulated harddisk image,  To install NetBSD/arc from a CDROM image onto an emulated
201  follow these instructions:  harddisk image, follow these instructions:
202    
203  <p>  <p>
204  <ol start="1">  <ol start="1">
205    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
206          that NetBSD installs itself onto:<pre>          that NetBSD installs itself onto:<pre>
207          $ <b>dd if=/dev/zero of=nbsd_arc.img bs=1024 count=1 seek=900000</b>          <b>dd if=/dev/zero of=nbsd_arc.img bs=1024 count=1 seek=1000000</b>
208    
209  </pre>  </pre>
210    <li>Download a NetBSD/arc 1.6.2 CDROM image from ftp:<pre>    <li>Download a NetBSD/arc 4.0 CDROM image, and a generic NetBSD/arc
211          <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/1.6.2/arccd.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/1.6.2/arccd.iso</a>          kernel:<pre>
212            <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/4.0/arccd-4.0.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/4.0/arccd-4.0.iso</a>
213            TODO:
214            <a href="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-archive/NetBSD-1.6.2/arc/binary/kernel/netbsd-GENERIC.gz</a>
215            <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-archive/NetBSD-1.6.2/arc/binary/kernel/netbsd-RAMDISK.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-archive/NetBSD-1.6.2/arc/binary/kernel/netbsd-RAMDISK.gz</a>
216    
217  </pre>  </pre>
218    <li>Start the emulator using this command line:<pre>    <li>Start the emulator using this command line:<pre>
219          $ <b>gxemul -E arc -e pica -x -b -d nbsd_arc.img -d bc:arccd.iso \          <b>gxemul -e pica -x -d nbsd_arc.img -d b:arccd.iso netbsd-RAMDISK.gz</b>
           -j arc/binary/kernel/netbsd.RAMDISK.gz</b>  
220    
221  </pre>  </pre>
222          (Try removing <tt>-x</tt> if you have problems with the xterm.)          (Try removing <tt>-x</tt> if you have problems with the xterm.)
223      <p>      <p>
224    <li>From now on, you have to use your imagination, as there is no    <li>From now on, you have to use your imagination, as there is no
225          automatic installation program for NetBSD/arc. Here are some tips          automatic installation program for NetBSD/arc 4.0. Here are
226          and hints on how you can proceed with the install:<pre>          some tips and hints on how you can proceed with the install:
227          $ <b>mount /dev/cd0a /mnt2</b>  <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
228          $ <b>disklabel -i -I sd0</b>    (for example 'a', '4.2BSD', '1c',  <b>mount /dev/cd0a /mnt2
229              '700M', 'b', 'swap', '701M', '$', 'P', 'W', 'y', and 'Q')  disklabel -i -I sd0</b>    (for example 'a', '4.2BSD', '1c',
230          $ <b>newfs /dev/sd0a</b>      '700M', 'b', 'swap', '701M', '$', 'P', 'W', 'y', and 'Q')
231          $ <b>mount /dev/sd0a /mnt</b>  <b>newfs /dev/sd0a
232          $ <b>cd /mnt</b>  mount /dev/sd0a /mnt
233          $ <b>for a in /mnt2/arc/binary/sets/*.tgz; do echo $a; tar xzpf $a; done</b>  cd /mnt
234          $ <b>cd dev; sh MAKEDEV all</b>  for a in /mnt2/arc/binary/sets/*.tgz; do echo $a; tar xzpf $a; done
235          $ <b>cd ../etc; echo "rc_configured=YES" &gt;&gt; rc.conf</b>  cd dev; sh MAKEDEV all
236          $ <b>cat > /mnt/etc/fstab</b>  cd ../etc; echo "rc_configured=YES" &gt;&gt; rc.conf
237              /dev/sd0a / ffs rw 1 1  cat > /mnt/etc/fstab
238              /dev/sd0b none swap sw 0 0  /dev/sd0a / ffs rw 1 1
239              (ctrl-d)  /dev/sd0b none swap sw 0 0
240          $ <b>cd /; umount /mnt; umount /mnt2</b>  </b>(press ctrl-d)
241          $ <b>halt</b>  <b>cd /; umount /mnt; umount /mnt2
242    halt</b>
243  </pre>  </pre></td></tr></table>
   <li>Download a generic NetBSD/arc kernel,  
         and gunzip it:<pre>  
         <a href="ftp://ftp.netbsd.org/pub/NetBSD/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</a>  
   
 </pre>  
244  </ol>  </ol>
245    
246  <p>  <p>You can now use the generic NetBSD/arc kernel to boot from the harddisk
247  You can now use the generic NetBSD/arc kernel to boot from the harddisk  image, using the following command:<pre>
248  image, using the following command:          <b>gxemul -e pica -x -d nbsd_arc.img netbsd-GENERIC.gz</b>
 <p>  
 <pre>  
         $ <b>gxemul -E arc -e pica -xb -d nbsd_arc.img netbsd-GENERIC</b>  
249    
250  </pre>  </pre>
251    
252    <p>When asked for "<tt>root device: </tt>", enter <b><tt>sd0</tt></b>.
253    
254    
255    
# Line 279  image, using the following command: Line 259  image, using the following command:
259    
260  <p><br>  <p><br>
261  <a name="netbsdhpcmipsinstall"></a>  <a name="netbsdhpcmipsinstall"></a>
262  <h3>Installing NetBSD/hpcmips in GXemul:</h3>  <h3>NetBSD/hpcmips:</h3>
263    
264  It is possible to install NetBSD/hpcmips onto a disk image, on an an  It is possible to install <a
265  emulated MobilePro 770, 780, 800, or 880. The emulator treats the  href="http://www.netbsd.org/ports/hpcmips/">NetBSD/hpcmips</a> onto a disk
266  different machine models as being almost identical; the most important  image, on an an emulated MobilePro 770 or 800. (MobilePro 780 and 880 might
267  difference is regarding the framebuffer.  work too, but I don't test those for every release of the emulator. They
268    have unaligned framebuffers, and run a bit slower.)
 <p>  
 <table border="0">  
         <tr>  
                 <td width="80">&nbsp;</td>  
                 <td><u>Model:</u></td>  
                 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>  
                 <td><u>Framebuffer size/depth:</u></td>  
                 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>  
                 <td><u>Framebuffer address:</u></td>  
         </tr>  
         <tr>  
                 <td></td>  
                 <td>MobilePro 770 (<super>*2</super>)</td>  
                 <td></td>  
                 <td>640 x 240, 16 bits</td>  
                 <td></td>  
                 <td>0xa000000</td>  
         </tr>  
         <tr>  
                 <td></td>  
                 <td>MobilePro 780</td>  
                 <td></td>  
                 <td>640 x 240, 16 bits</td>  
                 <td></td>  
                 <td>0xa180100 (<super>*</super>)</td>  
         </tr>  
         <tr>  
                 <td></td>  
                 <td>MobilePro 800</td>  
                 <td></td>  
                 <td>800 x 600, 16 bits</td>  
                 <td></td>  
                 <td>0xa000000</td>  
         </tr>  
         <tr>  
                 <td></td>  
                 <td>MobilePro 880</td>  
                 <td></td>  
                 <td>800 x 600, 16 bits</td>  
                 <td></td>  
                 <td>0xa0ea600 (<super>*</super>)</td>  
         </tr>  
 </table>  
   
 <p>  
 (<super>*</super>) = 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.  
   
 <p>  
 (<super>*2</super>) = The MobilePro 770's cursor keys work differently  
 than the other models, for some reason. (This is a known bug.)  
269    
270  <p>  <p>
271  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# Line 348  than the other models, for some reason. Line 275  than the other models, for some reason.
275    
276  <p>  <p>
277  These instructions show an example of how to install  These instructions show an example of how to install
278  NetBSD/hpcmips on an emulated MobilePro 800:  NetBSD/hpcmips on an emulated MobilePro 770:
279    
280  <p>  <p>
281  <ol start="1">  <ol start="1">
282    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
283          that you will install NetBSD/hpcmips onto:<pre>          that you will install NetBSD/hpcmips onto:<pre>
284          $ <b>dd if=/dev/zero of=nbsd_hpcmips.img bs=1024 count=1 seek=1990000</b>          <b>dd if=/dev/zero of=nbsd_hpcmips.img bs=1024 count=1 seek=3000000</b>
285    
286  </pre>  </pre>
287    <li>Download the NetBSD 2.0 for hpcmips ISO image:<pre>    <li>Download the NetBSD/hpcmips 3.1 ISO image, and a generic kernel:<pre>
288          <a href="ftp://ftp.se.netbsd.org/pub/NetBSD/iso/2.0/">ftp://ftp.se.netbsd.org/pub/NetBSD/iso/2.0</a>/<a href="ftp://ftp.se.netbsd.org/pub/NetBSD/iso/2.0/hpcmipscd.iso">hpcmipscd.iso</a>          <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/3.1/">ftp://ftp.netbsd.org/pub/NetBSD/iso/3.1</a>/<a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/3.1/hpcmipscd-3.1.iso">hpcmipscd-3.1.iso</a>
289            <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/hpcmips/binary/kernel/">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/hpcmips/binary/kernel</a>/<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/hpcmips/binary/kernel/netbsd-GENERIC.gz">netbsd-GENERIC.gz</a>
290    
291  </pre>(You may want to choose a mirror closer to you, if .se is slow.)  </pre>
292    <p>    <p>
293    <li>Start the installation like this:<pre>    <li>Start the installation like this:<pre>
294          $ <b>gxemul -E hpc -e mobilepro800 -b -X -d nbsd_hpcmips.img  \          <b>gxemul -e mobilepro770 -X -d nbsd_hpcmips.img -d b:hpcmipscd-3.1.iso -j hpcmips/installation/netbsd.gz</b>
           -d b:hpcmipscd.iso -j hpcmips/installation/netbsd.gz</b>  
295    
296  </pre>  </pre>
297          and proceed like you would do if you were installing NetBSD on a real          and proceed like you would do if you were installing NetBSD on a real
298          MobilePro 800. (Install onto wd0, choose "Use entire disk" when          MobilePro 770. (Install onto wd0, choose "Use entire disk" when
299          doing the MBR partitioning, and choose wd1d (not cd0c) as the          doing the MBR partitioning, and choose to install from CD-ROM.)
         CDROM device to install from.)  
300  </ol>  </ol>
301    
302  <p>  <p>
303  If everything worked, NetBSD should now be installed on the disk image.  If everything worked, NetBSD should now be installed on the disk image.
304  GXemul does not (yet) support reading the kernel directly from the  Use the following command line to boot the emulated hpcmips machine:<pre>
305  disk image, so you need to download a generic kernel separately:<pre>          <b>gxemul -e mobilepro770 -X -d nbsd_hpcmips.img netbsd-GENERIC.gz</b>
         <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0/hpcmips/binary/kernel/">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0/hpcmips/binary/kernel</a>/<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0/hpcmips/binary/kernel/netbsd-GENERIC.gz">netbsd-GENERIC.gz</a>  
306    
307  </pre>  </pre>
308    
309  <p>  <p>When you have logged in as <tt>root</tt>, you can use <tt>startx</tt> to
310  Once you have gunziped the generic kernel, you can now use it to boot from  start X Windows, but there is no mouse support yet so only keyboard input
311  the harddisk image, using the following command:<pre>  is available. This makes it a bit akward to use X.
         $ <b>gxemul -E hpc -e mobilepro800 -b -X -d nbsd_hpcmips.img netbsd-GENERIC</b>  
   
 </pre>  
   
 <p>  
 When you have logged in as root, you can use <b>startx</b> to start X  
 Windows. (Note: There is no mouse support yet; you can only use  
 keyboard input.)  
312    
313    
314    
# Line 402  keyboard input.) Line 319  keyboard input.)
319    
320  <p><br>  <p><br>
321  <a name="netbsdcobaltinstall"></a>  <a name="netbsdcobaltinstall"></a>
322  <h3>Installing NetBSD/cobalt in GXemul:</h3>  <h3>NetBSD/cobalt:</h3>
323    
324  <a href="http://www.netbsd.org/Ports/cobalt/">NetBSD/cobalt</a> is tricky  <a href="http://www.netbsd.org/ports/cobalt/">NetBSD/cobalt</a> is tricky
325  to install, because the Cobalt machines were designed for Linux, and not  to install, because the Cobalt machines were designed for Linux, and not
326  very flexible. There is no INSTALL kernel for NetBSD/cobalt. One way to  very flexible. There is no traditional INSTALL kernel for NetBSD/cobalt.
327  install the NetBSD/cobalt distribution onto a disk image is to do it from  One way to install the NetBSD/cobalt distribution onto a disk image is to
328  another (emulated) machine.  do it from another (emulated) machine.
329    
330  <p>  <p>
331  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
332  <a href="20050413-netbsd-cobalt.png"><img src="20050413-netbsd-cobalt_small.png"></a>  <a href="20060812-netbsd-cobalt-3.0.1.png"><img src="20060812-netbsd-cobalt-3.0.1_small.png"></a>
333    
334  <p>  <p>
335  The following instructions will let you install NetBSD/cobalt onto a disk  The following instructions will let you install NetBSD/cobalt onto a disk
# Line 420  image, from an emulated DECstation 3MAX Line 337  image, from an emulated DECstation 3MAX
337    
338  <p>  <p>
339  <ol>  <ol>
340      <li>Download a NetBSD/pmax (DECstation) install RAMDISK kernel:<pre>
341            <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/pmax/binary/kernel/netbsd-INSTALL.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/pmax/binary/kernel/netbsd-INSTALL.gz</a>
342    </pre>
343      <p>
344    <li>Create an empty harddisk image, which will be the disk image    <li>Create an empty harddisk image, which will be the disk image
345          that you will install NetBSD/cobalt onto:<pre>          that you will install NetBSD/cobalt onto:<pre>
346          $ <b>dd if=/dev/zero of=nbsd_cobalt.img bs=1024 count=1 seek=1999000</b>          <b>dd if=/dev/zero of=nbsd_cobalt.img bs=1024 count=1 seek=700000</b>
347    
348    </pre>
349      <li>Download the generic kernel for Cobalt and the 3.1 ISO image:<pre>
350            <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/cobalt/binary/kernel/netbsd-GENERIC.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/cobalt/binary/kernel/netbsd-GENERIC.gz</a>
351            <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/3.1/cobaltcd-3.1.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/3.1/cobaltcd-3.1.iso</a>
352    
353  </pre>  </pre>
354    <li>Download the generic kernel for Cobalt (and gunzip it) and    <li>Start the emulated DECstation machine like this:<pre>
355          the 2.0 ISO image:<pre>          <b>gxemul -e 3max -d nbsd_cobalt.img -d cobaltcd-3.1.iso netbsd-INSTALL.gz</b>
356          <a href="ftp://ftp.se.netbsd.org/pub/NetBSD/NetBSD-2.0/cobalt/binary/kernel/netbsd-GENERIC.gz">ftp://ftp.se.netbsd.org/pub/NetBSD/NetBSD-2.0/cobalt/binary/kernel/netbsd-GENERIC.gz</a>  
         <a href="ftp://ftp.se.netbsd.org/pub/NetBSD/iso/2.0/cobaltcd.iso">ftp://ftp.se.netbsd.org/pub/NetBSD/iso/2.0/cobaltcd.iso</a>  
   
 </pre>(You may want to choose a mirror closer to you, if .se is slow.)  
   <p>  
   <li>Install NetBSD/pmax 2.0 according to instructions further up  
         on this page.  
   <p>  
   <li>Start NetBSD/pmax like this:<pre>  
         $ <b>gxemul -b -Edec -e3max -d nbsd_pmax.img -d cobaltcd.iso -d nbsd_cobalt.img</b>  
   
 </pre>  
   <li>Log in as root (on the emulated 3MAX machine), and execute the  
         following commands: (adjust according to taste)<pre>  
         # <b>newfs /dev/sd1c</b>  
         # <b>mount /dev/cd0c /mnt</b>  
         # <b>mkdir /mnt2; mount /dev/sd1c /mnt2</b>  
         # <b>cd /mnt2; sh</b>  
         # <b>for a in /mnt/cobalt/binary/sets/*.tgz; do echo $a; tar zxfp $a; done</b>  
         # <b>exit</b>  
         # <b>cd dev; sh ./MAKEDEV all; cd ../etc</b>  
         # <b>echo rc_configured=YES >> rc.conf</b>  
         # <b>echo "/dev/wd0d / ffs rw 1 1" > fstab</b>  
         # <b>cd /; umount /mnt; umount /mnt2; halt</b>  
357  </pre>  </pre>
358      <li>At the <tt>Terminal type? [rcons]</tt> prompt, type <b>CTRL-B</b>
359    to simulate a CTRL-C sent to NetBSD/pmax. Then execute the following commands:
360    <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
361    <b>newfs /dev/sd0c
362    mount /dev/cd0c /mnt
363    mkdir /mnt2; mount /dev/sd0c /mnt2
364    cd /mnt2; sh
365    for a in /mnt/*/binary/sets/[bcekmt]*.tgz; do echo $a; tar zxfp $a; done
366    exit
367    cd dev; sh ./MAKEDEV all; cd ../etc
368    echo rc_configured=YES >> rc.conf
369    echo "/dev/wd0d / ffs rw 1 1" > fstab
370    cd /; umount /mnt; umount /mnt2; halt</b>
371    </pre></td></tr></table>
372  </ol>  </ol>
373    
374  <p>  <p>
375  You should now be able to boot NetBSD/cobalt like this:<pre>  You should now be able to boot NetBSD/cobalt like this:<pre>
376          $ <b>gxemul -b -M128 -E cobalt -d nbsd_cobalt.img netbsd-GENERIC</b>          <b>gxemul -E cobalt -d nbsd_cobalt.img netbsd-GENERIC.gz</b>
377  </pre>  </pre>
378    
379  Note that the installation instructions above create a filesystem  Note that the installation instructions above create a filesystem
# Line 475  generic kernel:<pre> Line 392  generic kernel:<pre>
392    
393    
394    
395  <!--  <p><br>
396    <a name="netbsdevbmipsinstall"></a>
397    <h3>NetBSD/evbmips:</h3>
398    
399    <a href="http://www.netbsd.org/ports/evbmips/">NetBSD/evbmips</a> can run
400    in GXemul on an emulated Malta evaluation board, with a 5Kc (MIPS64) or
401    4Kc (MIPS32) processor. 5Kc is the default.
402    
403    <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
404    <a href="20060812-netbsd-malta-3.0.1.png"><img src="20060812-netbsd-malta-3.0.1_small.png"></a>
405    
406    <p>One way to install the NetBSD/evbmips distribution onto a disk
407    image is to install the files using another (emulated) machine.
408    
409    <p>
410    The following instructions will let you install NetBSD/evbmips onto a disk
411    image, from an emulated DECstation 3MAX machine:
412    
413    <p>
414    <ol>
415      <li>Download a NetBSD/pmax (DECstation) install RAMDISK kernel:<pre>
416            <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/pmax/binary/kernel/netbsd-INSTALL.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/pmax/binary/kernel/netbsd-INSTALL.gz</a>
417    </pre>
418      <p>
419      <li>Create an empty harddisk image, which will be the disk image
420            that you will install NetBSD onto:<pre>
421            <b>dd if=/dev/zero of=nbsd_malta.img bs=1024 count=1 seek=700000</b>
422    
423    </pre>
424      <li>Download the Malta kernel and the 3.1 ISO image:<pre>
425            <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/evbmips-mipsel/binary/kernel/netbsd-MALTA.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/evbmips-mipsel/binary/kernel/netbsd-MALTA.gz</a>
426            <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/3.1/evbmips-mipselcd-3.1.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/3.1/evbmips-mipselcd-3.1.iso</a>
427    
428    </pre>
429      <p>
430      <li>Start the emulated DECstation machine like this:<pre>
431            <b>gxemul -e 3max -d nbsd_malta.img -d evbmips-mipselcd-3.1.iso netbsd-INSTALL.gz</b>
432    
433    </pre>
434      <li>At the <tt>Terminal type? [rcons]</tt> prompt, type <b>CTRL-B</b>
435    to simulate a CTRL-C sent to NetBSD/pmax. Then execute the following commands:
436    <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
437    <b>newfs /dev/sd0c
438    mount /dev/cd0c /mnt
439    mkdir /mnt2; mount /dev/sd0c /mnt2
440    cd /mnt2; sh
441    for a in /mnt/*/binary/sets/[bcemt]*.tgz; do echo $a; tar zxfp $a; done
442    exit
443    cd dev; sh ./MAKEDEV all; cd ../etc
444    echo rc_configured=YES >> rc.conf
445    echo "/dev/wd0c / ffs rw 1 1" > fstab
446    cd /; umount /mnt; umount /mnt2; halt</b>
447    </pre></td></tr></table>
448    </ol>
449    
450    <p>You should now be able to boot NetBSD/evbmips using this command:<pre>
451            <b>gxemul -x -e malta -d nbsd_malta.img netbsd-MALTA.gz</b>
452    </pre>
453    
454    <p>NOTE: To select a 4Kc (MIPS32) CPU instead of the default 5Kc
455    (MIPS64) CPU, add <tt><b>-C 4Kc</b></tt> to the command line. With NetBSD
456    3.1, however, there will be little or no difference in functionality, as
457    NetBSD still runs in 32-bit mode on 64-bit MIPS CPUs. There are two things
458    that differ:<ol>
459      <li>The dynamic translation core runs faster when emulating 32-bit
460            processors, so <tt><b>-C 4Kc</b></tt> might make things go faster.
461      <li>4Kc only has 16 TLB entries, whereas 5Kc has 48. This makes 4Kc
462            emulation slower in general, because there are more TLB misses.
463    </ol>
464    
465    <p>The installation instructions above create a filesystem
466    <i>without</i> a disklabel, so there is only one ffs partition and no
467    swap. You will need to enter the following things when booting with the
468    generic kernel:<pre>
469            root device (default wd0a): <b>wd0c</b>
470            dump device (default wd0b):             <i>(just press enter)</i>
471            file system (default generic):          <i>(just press enter)</i>
472            init path (default /sbin/init):         <i>(just press enter)</i>
473    </pre>
474    
475    
476    
477    
478    
479    
480    
481    
482    
483    
484    
485    
486    
487    
488    <p><br>
489    <a name="netbsdalgorinstall"></a>
490    <h3>NetBSD/algor:</h3>
491    
492    <a href="http://www.netbsd.org/ports/algor/">NetBSD/algor</a> can
493    run in GXemul on an emulated Algorithmics P5064 evaluation board.
494    
495    <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
496    <a href="20060814-netbsd-algor-3.0.1.png"><img src="20060814-netbsd-algor-3.0.1_small.png"></a>
497    
498    <p>One way to install the NetBSD/algor distribution onto a disk
499    image is to install the files using another (emulated) machine.
500    
501    <p>The following instructions will let you install NetBSD/algor onto a disk
502    image, from an emulated DECstation 3MAX machine:
503    
504    <p>
505    <ol>
506      <li>Download a NetBSD/pmax (DECstation) install RAMDISK kernel:<pre>
507            <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/pmax/binary/kernel/netbsd-INSTALL.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/pmax/binary/kernel/netbsd-INSTALL.gz</a>
508    </pre>
509      <p>
510      <li>Create an empty harddisk image, which will be the disk image
511            that you will install NetBSD/algor onto:<pre>
512            <b>dd if=/dev/zero of=nbsd_algor.img bs=1024 count=1 seek=700000</b>
513    
514    </pre>
515      <li>Download the P5064 Algor kernel and the 3.1 ISO image:<pre>
516            <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/algor/binary/kernel/netbsd-P5064.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/algor/binary/kernel/netbsd-P5064.gz</a>
517            <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/3.1/algorcd-3.1.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/3.1/algorcd-3.1.iso</a>
518    
519    </pre>
520      <p>
521      <li>Start the emulated DECstation machine like this:<pre>
522            <b>gxemul -e 3max -d nbsd_algor.img -d algorcd-3.1.iso netbsd-INSTALL.gz</b>
523    
524    </pre>
525      <li>At the <tt>Terminal type? [rcons]</tt> prompt, type <b>CTRL-B</b>
526    to simulate a CTRL-C sent to NetBSD/pmax. Then execute the following commands:
527    <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
528    <b>newfs /dev/sd0c
529    mount /dev/cd0c /mnt
530    mkdir /mnt2; mount /dev/sd0c /mnt2
531    cd /mnt2; sh
532    for a in /mnt/*/binary/sets/[bcekmt]*.tgz; do echo $a; tar zxfp $a; done
533    exit
534    cd dev; sh ./MAKEDEV all; cd ../etc
535    echo rc_configured=YES >> rc.conf
536    echo "/dev/wd0c / ffs rw 1 1" > fstab
537    cd /; umount /mnt; umount /mnt2; halt</b>
538    </pre></td></tr></table>
539    </ol>
540    
541    <p>You should now be able to boot NetBSD/algor using this command:<pre>
542            <b>gxemul -x -e p5064 -d nbsd_algor.img netbsd-P5064.gz</b>
543    </pre>
544    
545    <p>The installation instructions above create a filesystem
546    <i>without</i> a disklabel, so there is only one ffs partition and no
547    swap. You will need to enter the following things when booting with the
548    generic kernel:<pre>
549            root device (default wd0a): <b>wd0c</b>
550            dump device (default wd0b):             <i>(just press enter)</i>
551            file system (default generic):          <i>(just press enter)</i>
552            init path (default /sbin/init):         <i>(just press enter)</i>
553    </pre>
554    
555    
556    
557    
558    
559    
560    
561    
562    
563    
564    
565    
566  <p><br>  <p><br>
567  <a name="netbsdsgimips"></a>  <a name="netbsdsgimips"></a>
568  <h3>Running NetBSD/sgimips in GXemul:</h3>  <h3>NetBSD/sgimips:</h3>
569    
570  <a href="http://www.netbsd.org/Ports/sgimips/">NetBSD/sgimips</a>  <p>
571  can theoretically run in GXemul on an emulated O2 (SGI-IP32) with root on nfs.  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
572    <a href="20060623-netbsd-sgimips-3.0.png"><img src="20060623-netbsd-sgimips-3.0_small.png"></a>
573    
574    <p><a href="http://www.netbsd.org/ports/sgimips/">NetBSD/sgimips</a> can run
575    in GXemul on an emulated O2 (SGI-IP32). However, GXemul does not yet
576    emulate the AHC PCI SCSI controller in the O2. (I have mailed Adaptec
577    several times, asking for documentation, but never received any reply.)
578    NetBSD can still run in the emulator, as long as it doesn't use SCSI.
579    
580    <p>For a simple test with the ramdisk/install kernel, try
581    dowloading<pre>
582            <a href="ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-3.1/sgimips/binary/kernel/netbsd-INSTALL32_IP3x.gz">ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-3.1/sgimips/binary/kernel/netbsd-INSTALL32_IP3x.gz</a>
583    
584    </pre>and run&nbsp;&nbsp;<b><tt>gxemul -x -e o2 netbsd-INSTALL32_IP3x.gz</tt></b>.
585    
586    <p>It is possible to set up an environment for netbooting the emulated SGI
587    machine off of another emulated machine. Performing this setup is quite
588    time consuming, but necessary:
589    
590  <p>  <p>
591  <font color="#ff0000">NOTE: I haven't succeeded with this yet.</font>  <ol>
592      <li>First of all, the "<tt>nfs server</tt>" machine must be set up.
593            This needs to have a 750 MB <tt>/tftpboot</tt> partition.
594            <a href="#netbsdpmaxinstall">Install NetBSD/pmax 3.1 from CDROM</a>.
595            (Don't forget to add the extra partition!)
596      <p>
597      <li>Configure the nfs server machine to act as an nfs server.
598            Start up the emulated DECstation:<pre>
599            <b>gxemul -e 3max -d nbsd_pmax.img</b>
600    </pre>and enter the following commands as <tt>root</tt>
601            inside the emulator:
602    <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
603    <b>echo hostname=server &gt;&gt; /etc/rc.conf
604    echo ifconfig_le0=\"inet 10.0.0.2\" &gt;&gt; /etc/rc.conf
605    echo nameserver 10.0.0.254 &gt;&gt; /etc/resolv.conf
606    echo 10.0.0.254 &gt; /etc/mygate
607    echo /tftpboot -maproot=root 10.0.0.1 &gt; /etc/exports
608    echo rpcbind=YES &gt;&gt; /etc/rc.conf
609    echo nfs_server=YES &gt;&gt; /etc/rc.conf
610    echo mountd=YES &gt;&gt; /etc/rc.conf
611    echo bootparamd=YES &gt;&gt; /etc/rc.conf
612    printf "client root=10.0.0.2:/tftpboot \\\n swap=10.0.0.2:/tftpboot/swap\n" &gt; /etc/bootparams
613    echo "bootps dgram udp wait root /usr/sbin/bootpd bootpd -d 4 -h 10.0.0.2" &gt;&gt; /etc/inetd.conf
614    cat &gt;&gt; /etc/bootptab
615    client:\
616            :ht=ether:\
617            :ha=102030000010:\
618            :sm=255.0.0.0:\
619            :lg=10.0.0.254:\
620            :ip=10.0.0.1:\
621            :rp=/tftpboot:
622    </b>(press CTRL-D)
623    <b>echo "10:20:30:00:00:10 client" &gt; /etc/ethers
624    echo 10.0.0.1 client &gt; /etc/hosts
625    reboot</b>
626    </pre></td></tr></table>
627      <p>
628      <li>Download the NetBSD/sgimips CD-ROM iso image, and the
629            GENERIC and INSTALL kernels:<pre>
630            <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/3.1/sgimipscd-3.1.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/3.1/sgimipscd-3.1.iso</a>
631            <a href="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-GENERIC32_IP3x.gz</a>
632            <a href="ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-3.1/sgimips/binary/kernel/netbsd-INSTALL32_IP3x.gz">ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-3.1/sgimips/binary/kernel/netbsd-INSTALL32_IP3x.gz</a>
633    
634    </pre>
635      <li>Start the DECstation emulation again:<pre>
636            <b>gxemul -e 3max -d nbsd_pmax.img -d sgimipscd-3.1.iso</b>
637    
638    </pre>and extract the files from the sgimips CD-ROM image to the
639            DECstation disk image:
640    <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
641    <b>cd /tftpboot; mount /dev/cd0a /mnt
642    for a in /mnt/*/binary/sets/[bcegmt]*; do echo $a; tar zxfp $a; done
643    echo 10.0.0.2:/tftpboot / nfs rw 0 0 &gt; /tftpboot/etc/fstab
644    echo rc_configured=YES &gt;&gt; /tftpboot/etc/rc.conf
645    echo 10.0.0.254 &gt;&gt; /tftpboot/etc/mygate
646    echo nameserver 10.0.0.254 &gt;&gt; /tftpboot/etc/resolv.conf
647    echo rc_configured=YES &gt;&gt; /tftpboot/etc/rc.conf
648    dd if=/dev/zero of=swap bs=1024 count=65536
649    cd /; umount /mnt; halt</b>
650    </pre></td></tr></table>
651      <p>
652      <li>Create a configuration file called <tt>config_client</tt>:
653    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
654    <font color="#2020cf">!  Configuration file for running NetBSD/sgimips diskless with
655    !  a NetBSD/pmax machine as the nfs server.</font>
656    
657    <b>net(
658            add_remote("localhost:12444")   </b>! the server<b>
659            local_port(12445)               </b>! the client<b>
660    )
661    
662    machine(
663            name("client machine")
664            serial_nr(1)
665    
666            type("sgi")
667            subtype("o2")
668    
669            load("netbsd-INSTALL32_IP3x.gz")</b>
670            ! load("netbsd-GENERIC32_IP3x.gz")<b>
671    )
672    </b>
673    </pre></td></tr></table>
674            ... and another configuration file for the server,
675            <tt>config_server</tt>:
676    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
677    <b>net(
678            local_port(12444)               </b>! the server<b>
679            add_remote("localhost:12445")   </b>! the client<b>
680    )
681    
682    machine(
683            name("nfs server")
684            serial_nr(2)
685    
686            type("dec")
687            subtype("5000/200")
688    
689            disk("nbsd_pmax.img")
690    )
691    </b>
692    </pre></td></tr></table>
693      <li>Boot the "<tt>nfs server</tt>" and the NetBSD/sgimips
694            "<tt>client machine</tt>" as two separate emulator instances:<pre>
695            in one xterm:
696            <b>gxemul @config_server</b>
697    
698            and then, in another xterm:
699            <b>gxemul @config_client</b>
700    
701    </pre>
702      <li>In the NetBSD/sgimips window, choose "<tt>x: Exit Install System</tt>"
703            in the installer's main menu, and then type:<pre>
704            <b>ifconfig mec0 10.0.0.1; route add default 10.0.0.254</b>
705            <b>mount -v 10.0.0.2:/tftpboot /mnt</b>
706            <b>cd /mnt/dev; ./MAKEDEV all; cd /; umount /mnt</b>
707            <b>halt</b>
708    </pre>Then, once the client machine has halted, log in as <tt>root</tt>
709            on the server machine and type <tt><b>reboot</b></tt>.
710      <p>
711      <li>Once everything has been set up correctly, change
712            <tt>netbsd-INSTALL32_IP3x.gz</tt> in <tt>config_client</tt> to
713            <tt>netbsd-GENERIC32_IP3x.gz</tt> (the GENERIC kernel).
714    </ol>
715    
716    <p>You might want to log in as <tt>root</tt> on the server machine, and
717    run <tt>tcpdump -lnvv</tt> or similar, to see that what the client machine
718    actually does on the network.
719    
720    <p>It should now be possible to boot NetBSD/sgimips using the NetBSD/pmax
721    nfs server, using the following commands: (NOTE! Execute these two
722    commands in separate xterms!)<pre>
723            <b>gxemul @config_server</b>
724            <b>gxemul @config_client</b>
725    </pre>
726    
727    <p>When asked for "<tt>root device:</tt>" etc. on the client machine, enter
728    the following values:<pre>
729            root device: <b>mec0</b>
730            dump device:                            <b>(leave blank)</b>
731            file system (default generic):          <b>(leave blank)</b>
732            ..
733            init path (default /sbin/init):         <b>(leave blank)</b>
734            Enter pathname of shell or RETURN for /bin/sh:  <b>(leave blank)</b>
735            Terminal type? [unknown] <b>xterm</b>
736            ..
737            # <b>exit</b>                   (to leave the single-user shell)
738    </pre>
739    
740    <p>Note: Netbooting like this is very slow, so you need a lot of patience.
741    For example, when NetBSD says "<tt>nfs_boot: trying DHCP/BOOTP</tt>",
742    there will be a long pause, even on a very fast host machine. The reason
743    for this is mostly because the emulator doesn't deal with timing issues
744    very well, but also because NetBSD tries IPv6 first, before falling back
745    to IPv4.
746    
747    
748    
749    
750    
751    
752    <p><br>
753    <a name="netbsdcatsinstall"></a>
754    <h3>NetBSD/cats:</h3>
755    
756    It is possible to install and run
757    <a href="http://www.netbsd.org/ports/cats/">NetBSD/cats</a> in GXemul.
758    
759    <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
760    <a href="20051007-netbsd-cats-installed.png"><img src="20051007-netbsd-cats-installed_small.png"></a>
761    
762  <p>  <p>
763  See the section on <a href="#openbsdsgiinstall">how to run OpenBSD/sgi</a>  To install NetBSD/cats onto a disk image, follow these instructions:
 for more information.  
764    
765  <p>  <p>
766  TODO...  <ol start="1">
767      <li>Create an empty harddisk image, which will be the root disk
768            that you will install NetBSD/cats onto:<pre>
769            <b>dd if=/dev/zero of=nbsd_cats.img bs=1024 count=1 seek=3000000</b>
770    
771  <pre>  </pre>
772  cd /tftpboot; ftp -i ftp.se.netbsd.org    <li>Download the NetBSD/cats 3.1 ISO image and the generic and install kernels:<pre>
773  ..          <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/3.1/catscd-3.1.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/3.1/catscd-3.1.iso</a>
774  cd pub/NetBSD/NetBSD-2.0/sgimips/binary/sets          <a href="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-GENERIC.gz</a>
775  mget *.tgz          <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/cats/binary/kernel/netbsd.aout-INSTALL.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/cats/binary/kernel/netbsd.aout-INSTALL.gz</a>
776    
777    </pre>
778      <p>
779      <li>Start the installation like this:<pre>
780            <b>gxemul -XEcats -d nbsd_cats.img -d catscd-3.1.iso netbsd.aout-INSTALL.gz</b>
781    
782    </pre>
783            and proceed like you would do if you were installing NetBSD on a real
784            CATS from CDROM.
785    </ol>
786    
787    <p>Alternatively, to install from FTP, you can skip downloading the ISO,
788    and start the install without <tt>-d catscd-3.1.iso</tt>. Suitable network
789    settings are IP 10.0.0.1, gateway/default route 10.0.0.254, netmask
790    255.0.0.0, nameserver 10.0.0.254.
791    
792    <p>If everything worked, NetBSD should now be installed on the disk image.
793    Use the following command line to boot the emulated CATS machine:<pre>
794            <b>gxemul -XEcats -d nbsd_cats.img netbsd.aout-GENERIC.gz</b>
795    
796    </pre>
797    
798    
799    
800    
801    
802    
803    
804    <p><br>
805    <a name="netbsdevbarminstall"></a>
806    <h3>NetBSD/evbarm:</h3>
807    
808    <a href="http://www.netbsd.org/ports/evbarm/">NetBSD/evbarm</a> can
809    run in GXemul on an emulated IQ80321 evaluation board.
810    
811    <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
812    <a href="20060218-netbsd-evbarm.png"><img src="20060218-netbsd-evbarm_small.png"></a>
813    
814    <p>It is tricky to install, because there is (as far as I know) no INSTALL
815    kernel. One way to install the NetBSD/evbarm distribution onto a disk
816    image is to install the files using another (emulated) machine.
817    
818    <p>The following instructions will let you install NetBSD/evbarm onto a disk
819    image, from an emulated CATS machine:
820    
821    <p>
822    <ol>
823      <li>Download a NetBSD/cats 3.1 ramdisk kernel:<pre>
824            <b>wget <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/cats/binary/kernel/netbsd.aout-INSTALL.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/cats/binary/kernel/netbsd.aout-INSTALL.gz</a></b>
825    
826    </pre>
827      <li>Create an empty harddisk image, which will be the disk image
828            that you will install NetBSD/evbarm onto:<pre>
829            <b>dd if=/dev/zero of=nbsd_iq80321.img bs=1024 count=1 seek=999000</b>
830    
831    </pre>
832      <li>Download an IQ80321 kernel with wdc support, and the 2.1 ISO image:<pre>
833            <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/evbarm/binary/kernel/">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/evbarm/binary/kernel</a>/<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/evbarm/binary/kernel/netbsd-wd0-IQ80321.gz">netbsd-wd0-IQ80321.gz</a>
834            <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/evbarmcd.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/evbarmcd.iso</a>
835    
836    </pre>
837      <p>
838      <li>Now let's extract the files from the CD-ROM image onto the IQ80321's disk image. Start the
839            CATS machine using the following command line:<pre>
840            <b>gxemul -XEcats -d nbsd_iq80321.img -d evbarmcd.iso netbsd.aout-INSTALL.gz</b>
841    
842    </pre>Exit from the installer, and execute the following commands as <tt>root</tt>:
843    <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
844    
845    <b>disklabel -I -i wd0</b>
846        (enter suitable commands, e.g. <i>a, 4.2BSD, 1c, 750M, b,
847         swap, a, 200M, P, W, y, Q</i>)
848    <b>newfs /dev/wd0a; mount /dev/wd0a /mnt2; cd /mnt2
849    mount /dev/cd0a /mnt; sh
850    for a in /mnt/*/binary/sets/[bcegmt]*.tgz; do echo $a; tar zxfp $a; done
851  exit  exit
852  sh  cd dev; sh ./MAKEDEV all; cd ../etc
853  for a in etc.tgz base.tgz comp.tgz; do tar zxvfp $a; done  echo rc_configured=YES &gt;&gt; rc.conf
854    echo "/dev/wd0a / ffs rw 1 1" &gt; fstab
855    echo "/dev/wd0b none swap sw 0 0" &gt;&gt; fstab
856    cd /; umount /mnt; umount /mnt2; sync; halt</b>
857    </pre></td></tr></table>
858    </ol>
859    
860    <p>You should now be able to boot NetBSD/evbarm using this command:<pre>
861            <b>gxemul -x -E iq80321 -d nbsd_iq80321.img netbsd-wd0-IQ80321.gz</b>
862  </pre>  </pre>
863    
864  -->  
865    
866    
867    
868    
869    
870    
871    
872    <p><br>
873    <a name="netbsdnetwinderinstall"></a>
874    <h3>NetBSD/netwinder:</h3>
875    
876    It is possible to run <a
877    href="http://www.netbsd.org/ports/netwinder/">NetBSD/netwinder</a>
878    in GXemul.
879    
880    <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
881    <a href="20060724-netbsd-netwinder-1.png"><img src="20060724-netbsd-netwinder-1_small.png"></a>
882    &nbsp;&nbsp;&nbsp;<a href="20060724-netbsd-netwinder-2.png"><img src="20060724-netbsd-netwinder-2_small.png"></a>
883    
884    <p>There is no INSTALL ramdisk kernel, so one way to install the
885    NetBSD/netwinder distribution onto a disk image is to install the files
886    using another (emulated) machine. The following instructions will let you
887    install the NetBSD/netwinder distribution onto a disk image, from an
888    emulated DECstation 3MAX machine:
889    
890    <p>
891    <ol>
892      <li>Download a NetBSD/pmax (DECstation) install RAMDISK kernel:<pre>
893            <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/pmax/binary/kernel/netbsd-INSTALL.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/pmax/binary/kernel/netbsd-INSTALL.gz</a>
894    </pre>
895      <p>
896      <li>Create an empty harddisk image, which will be the disk image
897            that you will install NetBSD onto:<pre>
898            <b>dd if=/dev/zero of=nbsd_netwinder.img bs=1024 count=1 seek=999000</b>
899    
900    </pre>
901      <li>Download the generic kernel and the 3.1 ISO image:<pre>
902            <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/netwinder/binary/kernel/netbsd-GENERIC.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/netwinder/binary/kernel/netbsd-GENERIC.gz</a>
903            <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/3.1/netwindercd-3.1.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/3.1/netwindercd-3.1.iso</a>
904    
905    </pre>
906      <p>
907      <li>Start the emulated DECstation machine like this:<pre>
908            <b>gxemul -e 3max -d nbsd_netwinder.img -d netwindercd-3.1.iso netbsd-INSTALL.gz</b>
909    
910    </pre>
911      <li>At the <tt>Terminal type? [rcons]</tt> prompt, type <b>CTRL-B</b>
912    to simulate a CTRL-C sent to NetBSD/pmax. Then execute the following commands:
913    <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
914    <b>newfs /dev/sd0c
915    mount /dev/cd0c /mnt
916    mkdir /mnt2; mount /dev/sd0c /mnt2
917    cd /mnt2; sh
918    for a in /mnt/*/binary/sets/*.tgz; do echo $a; tar zxfp $a; done
919    exit
920    cd dev; sh ./MAKEDEV all; cd ../etc
921    echo rc_configured=YES >> rc.conf
922    echo "/dev/wd0c / ffs rw 1 1" > fstab
923    cd /; umount /mnt; umount /mnt2; halt</b>
924    </pre></td></tr></table>
925    </ol>
926    
927    <p>NetBSD/netwinder is now installed on the disk image. The following command
928    line can be used to start NetBSD/netwinder:<pre>
929            <b>gxemul -X -E netwinder -d nbsd_netwinder.img netbsd-GENERIC.gz</b>
930    </pre>
931    
932    <p>This will result in a 1024x768 framebuffer. Add <tt>-Y2</tt> to the
933    command line if you want to scale it down to 512x384.
934    
935    <p>Note: The installation instructions above create a filesystem
936    <i>without</i> a disklabel, so there is only one ffs partition and no
937    swap. You will need to enter the following things when booting with the
938    generic kernel:<pre>
939            root device (default wd0a): <b>wd0c</b>
940            dump device (default wd0b): <i>(just press enter)</i>
941            file system (default generic):    <i>(just press enter)</i>
942            init path (default /sbin/init):   <i>(just press enter)</i>
943    </pre>
944    
945    <p>Known bugs/problems:
946    
947    <ul>
948            <li>There is a long delay when starting up NetBSD/netwinder
949                    (several seconds even on a very fast host machine),
950                    so you need to be patient.
951            <li>There is a minor bug in the keyboard device, so you need to
952                    press a key (any key) before typing wd0c.
953            <li>When halting/rebooting NetBSD/netwinder, the emulator
954                    prints a message saying something about an internal
955                    error. This doesn't matter; ignore the message.
956    </ul>
957    
958    
959    
960    
961    
962    
963    
964    
# Line 514  for a in etc.tgz base.tgz comp.tgz; do t Line 967  for a in etc.tgz base.tgz comp.tgz; do t
967    
968    
969  <p><br>  <p><br>
970  <a name="openbsdinstall"></a>  <a name="netbsdprepinstall"></a>
971  <h3>Installing OpenBSD/pmax in GXemul:</h3>  <h3>NetBSD/prep:</h3>
972    
973    It is possible to install and run <a
974    href="http://www.netbsd.org/ports/prep/">NetBSD/prep</a> 2.1 in GXemul on
975    an emulated IBM 6050 (PowerPC) machine. (Newer versions of NetBSD/prep use
976    the wdc controller in a way which isn't implemented in GXemul yet, or
977    there are bugs in GXemul's PowerPC CPU emulation.)
978    
979    <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
980    <a href="20051123-netbsd-prep.png"><img src="20051123-netbsd-prep_small.png"></a>
981    
982    <p>To install NetBSD/prep onto a disk image, follow these instructions:
983    
984    <p>
985    <ol start="1">
986      <li>Create an empty harddisk image, which will be the root disk
987            that you will install NetBSD/prep onto:<pre>
988        <b>dd if=/dev/zero of=nbsd_prep.img bs=1024 count=1 seek=1000000</b>
989    
990    </pre>
991      <li>Download the NetBSD/prep 2.1 ISO image and the generic kernel:<pre>
992        <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/prepcd.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/prepcd.iso</a>
993        <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/prep/binary/kernel/netbsd-GENERIC.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/prep/binary/kernel/netbsd-GENERIC.gz</a>
994    
995    </pre>
996      <p>
997      <li>Start the installation like this:<pre>
998        <b>gxemul -X -e ibm6050 -d nbsd_prep.img -d rdb:prepcd.iso -j prep/binary/kernel/netbsd-INSTALL.gz</b>
999    
1000    </pre>
1001      <p>
1002      <li>Installation is a bit unsmooth, possibly due to bugs in GXemul,
1003            possibly due to bugs in NetBSD itself; others have been having
1004            problems on real hardware: <a href="http://mail-index.NetBSD.org/port-prep/2005/11/25/0004.html">http://mail-index.NetBSD.org/port-prep/2005/11/25/0004.html</a>.
1005            Creating an MBR slice and a disklabel with sysinst bugs out, so
1006            some things have to be done manually:<p>
1007            At "<tt>(I)nstall, (S)hell, or (H)alt</tt>", choose
1008                    <tt><b><u>s</u></b></tt>.
1009            <br><tt># <b><u>fdisk -u wd0</u></b></tt>
1010            <br><tt>Do you want to change our idea of what BIOS thinks? [n]</tt>
1011                    (just press <b>ENTER</b>)
1012            <br><tt>Which partition do you want to change?: [none] <b><u>0</u></b></tt>
1013            <br><tt>sysid: ... </tt> (just press <B>ENTER</b>)
1014            <br><tt>start: ... <b><u>1cyl</u></b></tt>
1015            <br><tt>size: ... </tt> (just press <B>ENTER</b>)
1016            <br><tt>Which partition do you want to change?: [none]</tt> (press <b>ENTER</b>)
1017            <br><tt>Should we write new partition table? [n] <b><u>y</u></b></tt>
1018            <br><tt># <b><u>disklabel -I -i wd0</u></b></tt>
1019            <br><tt>partition&gt; <b><u>a</u></b></tt>
1020            <br><tt>Filesystem type [?] [unused]: <b><u>4.2BSD</u></b></tt>
1021            <br><tt>Start offset ('x' to start after partition 'x') [0c, 0s, 0M]: <b><u>1c</u></b></tt>
1022            <br><tt>Partition size ('$' for all remaining) [0c, 0s, 0M]: <b><u>900M</u></b></tt>
1023            <br><tt>partition&gt; <b><u>b</u></b></tt>
1024            <br><tt>Filesystem type [?] [unused]: <b><u>swap</u></b></tt>
1025            <br><tt>Start offset ('x' to start after partition 'x') [0c, 0s, 0M]: <b><u>a</u></b></tt>
1026            <br><tt>Partition size ('$' for all remaining) [0c, 0s, 0M]: <b><u>$</u></b></tt>
1027            <br><tt>partition&gt; <b><u>W</u></b></tt>
1028            <br><tt>Label disk [n]? <b><u>y</u></b></tt>
1029            <br><tt>partition&gt; <b><u>Q</u></b></tt>
1030            <br><tt># <b><u>newfs wd0a</u></b></tt>
1031            <br><tt># <b><u>sysinst</u></b></tt>
1032            <br>Choose to install onto <b>wd0</b>. Choose
1033                    "<tt>a: Edit the MBR partition table</tt>"
1034                    when presented with that option.
1035            <br>Choose the 'a' partition/slice,
1036                    set the 'e' ("active") and 'f' ("install") fields to <b>Yes</b>,
1037                    and then choose "<tt>x: Partition table OK</tt>".
1038            <br>Choose "<tt>b: Use existing partition sizes</tt>" in the next
1039                    menu.
1040            <br>Select partition 'a' and press ENTER. Set field 'k' (mount point)
1041                    to '<tt><b>/</b></tt>'.
1042            <br>Get out of the partitioner by selecting
1043                    "<tt>x: Partition sizes ok</tt>" twice.
1044            <br>At "<tt>Write outside MBR partition? [n]:</tt>", just press
1045                    <b>ENTER</b>.
1046            <br>Install from CD-ROM, device <b>wd1c</b>.
1047    </ol>
1048    
1049    <p>If everything worked, NetBSD should now be installed on the disk image.
1050    Use the following command line to boot the emulated machine:<pre>
1051            <b>gxemul -X -e ibm6050 -d nbsd_prep.img netbsd-GENERIC.gz</b>
1052    
1053    </pre>
1054    
1055    <p>When asked which the root device is, type <tt><b>wd0</b></tt> and
1056    just press ENTER to select the default values for dump device, file
1057    system type, and init path.
1058    
1059    
1060    
1061    
1062    
1063    
1064    
1065    
1066    
1067    
1068    
1069    
1070  Installing OpenBSD/pmax is a bit harder than installing NetBSD/pmax.  <p><br>
1071  You should first read the section above on how to install NetBSD/pmax,  <a name="netbsdmacppcinstall"></a>
1072    <h3>NetBSD/macppc:</h3>
1073    
1074    It is possible to install and run <a
1075    href="http://www.netbsd.org/ports/macppc/">NetBSD/macppc</a> in GXemul on
1076    an emulated generic PowerPC machine. No specific Machintosh model is
1077    emulated, but it is enough to for NetBSD to recognize it.
1078    
1079    <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1080    <a href="20070318-netbsd-macppc.png"><img src="20070318-netbsd-macppc_small.png"></a>
1081    
1082    <p>To install NetBSD/macppc onto a disk image, follow these instructions:
1083    
1084    <p>
1085    <ol start="1">
1086      <li>Create an empty harddisk image, which will be the root disk
1087            that you will install NetBSD/macppc onto:<pre>
1088        <b>dd if=/dev/zero of=nbsd_macppc.img bs=1024 count=1 seek=3000000</b>
1089    
1090    </pre>
1091      <li>Download the NetBSD/macppc 4.0 ISO image and a generic kernel:<pre>
1092        <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/4.0/macppccd-4.0.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/4.0/macppccd-4.0.iso</a>
1093        <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-4.0/macppc/binary/kernel/">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-4.0/macppc/binary/kernel</a>/<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-4.0/macppc/binary/kernel/netbsd-GENERIC.MP.gz">netbsd-GENERIC.MP.gz</a>
1094    
1095    </pre>
1096      <p>
1097      <li>Start the installation like this:<pre>
1098        <b>gxemul -x -e g4 -d nbsd_macppc.img -d b:macppccd-4.0.iso -j macppc/binary/kernel/netbsd-INSTALL</b>
1099    
1100    </pre>
1101            and continue as you would do when installing NetBSD on a real
1102            machine.
1103    </ol>
1104    
1105    <p>If everything worked, NetBSD/macppc should now be installed on
1106    the disk image.
1107    
1108    <p>Use the following command line to boot the emulated machine:<pre>
1109            <b>gxemul -x -e g4 -d nbsd_macppc.img netbsd-GENERIC.MP.gz</b>
1110    
1111    </pre>
1112    
1113    <p>If asked about <tt>root device</tt>, enter <tt><b>wd0</b></tt>.
1114    
1115    
1116    
1117    
1118    
1119    
1120    
1121    
1122    
1123    
1124    
1125    <p><br>
1126    <a name="netbsdpmppc"></a>
1127    <h3>NetBSD/pmppc:</h3>
1128    
1129    <p><a href="http://www.netbsd.org/ports/pmppc/">NetBSD/pmppc</a> can
1130    run in GXemul on an emulated Artesyn PM/PPC board. Currently, no SCSI or other
1131    disk controller is emulated for this machine type, but it is possible to run
1132    NetBSD with root-on-nfs.
1133    
1134    <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1135    <a href="20070616-netbsd-pmppc-diskless.png"><img src="20070616-netbsd-pmppc-diskless_small.png"></a>
1136    
1137    <p>These setup steps will let you run NetBSD/pmppc with root-on-nfs:
1138    
1139    <p>
1140    <ol>
1141      <li>First of all, the "<tt>nfs server</tt>" machine must be set up.
1142            This needs to have a 750 MB <tt>/tftpboot</tt> partition.
1143            <a href="#netbsdpmaxinstall">Install NetBSD/pmax 3.1 from CDROM</a>.
1144            (Don't forget to add the extra partition!)
1145      <p>
1146      <li>Configure the nfs server machine to act as an nfs server.
1147            Start up the emulated DECstation:<pre>
1148            <b>gxemul -e 3max -d nbsd_pmax.img</b>
1149    </pre>and enter the following commands as <tt>root</tt>
1150            inside the emulator:
1151    <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1152    <b>echo hostname=server &gt;&gt; /etc/rc.conf
1153    echo ifconfig_le0=\"inet 10.0.0.2\" &gt;&gt; /etc/rc.conf
1154    echo nameserver 10.0.0.254 &gt;&gt; /etc/resolv.conf
1155    echo 10.0.0.254 &gt; /etc/mygate
1156    echo /tftpboot -maproot=root 10.0.0.1 &gt; /etc/exports
1157    echo rpcbind=YES &gt;&gt; /etc/rc.conf
1158    echo nfs_server=YES &gt;&gt; /etc/rc.conf
1159    echo mountd=YES &gt;&gt; /etc/rc.conf
1160    echo bootparamd=YES &gt;&gt; /etc/rc.conf
1161    printf "client root=10.0.0.2:/tftpboot \\\n swap=10.0.0.2:/tftpboot/swap\n" &gt; /etc/bootparams
1162    echo "bootps dgram udp wait root /usr/sbin/bootpd bootpd -d 4 -h 10.0.0.2" &gt;&gt; /etc/inetd.conf
1163    cat &gt;&gt; /etc/bootptab
1164    client:\
1165            :ht=ether:\
1166            :ha=102030000010:\
1167            :sm=255.0.0.0:\
1168            :lg=10.0.0.254:\
1169            :ip=10.0.0.1:\
1170            :rp=/tftpboot:
1171    </b>(press CTRL-D)
1172    <b>echo "10:20:30:00:00:10 client" &gt; /etc/ethers
1173    echo 10.0.0.1 client &gt; /etc/hosts
1174    reboot</b>
1175    </pre></td></tr></table>
1176      <p>
1177      <li>Download the NetBSD/pmppc CD-ROM iso image, and the GENERIC kernel:<pre>
1178            <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/3.1/pmppccd-3.1.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/3.1/pmppccd-3.1.iso</a>
1179            <a href="ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-3.1/pmppc/binary/kernel/netbsd-PMPPC.gz">ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-3.1/pmppc/binary/kernel/netbsd-PMPPC.gz</a>
1180    
1181    </pre>
1182      <li>Start the DECstation emulation again:<pre>
1183            <b>gxemul -e 3max -d nbsd_pmax.img -d pmppccd-3.1.iso</b>
1184    
1185    </pre>and extract the files from the PM/PPC CD-ROM image to the
1186            DECstation disk image:
1187    <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1188    <b>cd /tftpboot; mount /dev/cd0a /mnt
1189    for a in /mnt/*/binary/sets/[bcemt]*; do echo $a; tar zxfp $a; done
1190    echo 10.0.0.2:/tftpboot / nfs rw 0 0 &gt; /tftpboot/etc/fstab
1191    echo rc_configured=YES &gt;&gt; /tftpboot/etc/rc.conf
1192    echo 10.0.0.254 &gt;&gt; /tftpboot/etc/mygate
1193    echo nameserver 10.0.0.254 &gt;&gt; /tftpboot/etc/resolv.conf
1194    echo rc_configured=YES &gt;&gt; /tftpboot/etc/rc.conf
1195    dd if=/dev/zero of=swap bs=1024 count=65536
1196    cd /tftpboot/dev; sh MAKEDEV all
1197    cd /; umount /mnt; halt</b>
1198    </pre></td></tr></table>
1199      <p>
1200      <li>Create a configuration file called <tt>config_client</tt>:
1201    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1202    <font color="#2020cf">!  Configuration file for running NetBSD/pmppc diskless with
1203    !  a NetBSD/pmax machine as the nfs server.</font>
1204    
1205    <b>net(
1206            add_remote("localhost:12444")   </b>! the server<b>
1207            local_port(12445)               </b>! the client<b>
1208    )
1209    
1210    machine(
1211            name("client machine")
1212            serial_nr(1)
1213    
1214            type("pmppc")
1215    
1216            load("netbsd-PMPPC.gz")</b>
1217    )
1218    </b>
1219    </pre></td></tr></table>
1220            ... and another configuration file for the server,
1221            <tt>config_server</tt>:
1222    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1223    <b>net(
1224            local_port(12444)               </b>! the server<b>
1225            add_remote("localhost:12445")   </b>! the client<b>
1226    )
1227    
1228    machine(
1229            name("nfs server")
1230            serial_nr(2)
1231    
1232            type("dec")
1233            subtype("5000/200")
1234    
1235            disk("nbsd_pmax.img")
1236    )
1237    </b>
1238    </pre></td></tr></table>
1239    </ol>
1240    
1241    <p>It should now be possible to boot NetBSD/pmppc using the NetBSD/pmax
1242    nfs server, using the following commands: (NOTE! Execute these two
1243    commands in separate xterms!)<pre>
1244            <b>gxemul @config_server</b>
1245            <b>gxemul @config_client</b>
1246    </pre>
1247    
1248    <p>You might want to log in as <tt>root</tt> on the server machine, and
1249    run <tt>tcpdump -lnvv</tt> or similar, to see that what the client machine
1250    actually does on the network.
1251    
1252    <p>When asked for "<tt>root device:</tt>" etc. on the client machine, enter
1253    the following values:<pre>
1254            root device: <b>tlp0</b>
1255            dump device:                            <b>(leave blank)</b>
1256            file system (default generic):          <b>(leave blank)</b>
1257            ..
1258            init path (default /sbin/init):         <b>(leave blank)</b>
1259    </pre>
1260    
1261    
1262    
1263    
1264    
1265    
1266    
1267    
1268    
1269    <p><br>
1270    <a name="netbsddreamcast"></a>
1271    <h3>NetBSD/dreamcast:</h3>
1272    
1273    Moved <a href="dreamcast.html#netbsd_generic_md">here</a>.
1274    
1275    
1276    
1277    
1278    
1279    
1280    
1281    
1282    
1283    <p><br>
1284    <a name="openbsdpmaxinstall"></a>
1285    <h3>OpenBSD/pmax:</h3>
1286    
1287    Installing <a href="http://www.openbsd.org/pmax.html">OpenBSD/pmax</a> is
1288    a bit harder than installing NetBSD/pmax. You should first read the <a
1289    href="#netbsdpmaxinstall">section above</a> on how to install NetBSD/pmax,
1290  before continuing here. If you have never installed OpenBSD on any  before continuing here. If you have never installed OpenBSD on any
1291  architecture, then you need a great deal of patience to do this.  architecture, then you need a great deal of patience to do this. If, on
1292  If, on the other hand you are used to installing OpenBSD, then  the other hand you are used to installing OpenBSD, then this should be no
1293  this should be no problem for you.  problem for you.
1294    
1295  <p>  <p>
1296  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# Line 543  common sense and imagination to modify t Line 1311  common sense and imagination to modify t
1311  <ol>  <ol>
1312    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
1313          that OpenBSD installs itself onto:<pre>          that OpenBSD installs itself onto:<pre>
1314          $ <b>dd if=/dev/zero of=obsd_pmax.img bs=1 count=512 seek=900000000</b>          <b>dd if=/dev/zero of=obsd_pmax.img bs=1 count=512 seek=900000000</b>
1315    
1316  </pre>  </pre>
1317    <li>Download the entire pmax directory from the ftp server: (approx. 99 MB)<pre>    <li>Download the entire pmax directory from the ftp server: (approx. 99 MB)<pre>
1318          $ <b>wget -r <a href="ftp://ftp.se.openbsd.org/pub/OpenBSD/2.8/pmax/">ftp://ftp.se.openbsd.org/pub/OpenBSD/2.8/pmax/</a></b>          <b>wget -r <a href="ftp://ftp.se.openbsd.org/pub/OpenBSD/2.8/pmax/">ftp://ftp.se.openbsd.org/pub/OpenBSD/2.8/pmax/</a></b>
1319    
1320  </pre>  </pre>
1321    
1322    <li>Execute the following commands:<pre>    <li>Execute the following commands:
1323          $ <b>mv ftp.se.openbsd.org/pub/OpenBSD/2.8/pmax/simpleroot28.fs.gz .</b>  <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1324          $ <b>gunzip simpleroot28.fs.gz</b>  <b>mv ftp.se.openbsd.org/pub/OpenBSD/2.8/pmax/simpleroot28.fs.gz .
1325          $ <b>chmod +w simpleroot28.fs</b>               &lt;--- make sure  gunzip simpleroot28.fs.gz
1326    chmod +w simpleroot28.fs</b>            &lt;--- make sure
1327  </pre>  </pre></td></tr></table>
1328    <li>You now need to make an ISO image of the entire directory you downloaded.    <li>You now need to make an ISO image of the entire directory you downloaded.
1329          I recommend using <tt>mkisofs</tt> for that purpose. If you don't          (I recommend using <tt>mkisofs</tt> for that purpose. If you don't
1330          already have <tt>mkisofs</tt> installed on your system, you need          already have <tt>mkisofs</tt> installed on your system, you need
1331          to install it in order to do this.<pre>          to install it in order to do this.)<pre>
1332          $ <b>mkisofs -o openbsd_pmax_2.8.iso ftp.se.openbsd.org/pub/OpenBSD/2.8/pmax</b>          <b>mkisofs -o openbsd_pmax_2.8.iso ftp.se.openbsd.org/pub/OpenBSD/2.8/pmax</b>
1333            <b>rm -rf ftp.se.openbsd.org</b>      <i>(this directory is not needed anymore)</i>
1334    
1335  </pre>  </pre>
1336    <li>Start the emulator with all three (!) disk images:<pre>    <li>Start the emulator with all three (!) disk images:<pre>
1337          $ <b>gxemul -E dec -e 3max -b -d obsd_pmax.img -d b:simpleroot28.fs -j bsd -d c:openbsd_pmax_2.8.iso</b>          <b>gxemul -e 3max -d obsd_pmax.img -d b:simpleroot28.fs -j bsd -d c:openbsd_pmax_2.8.iso</b>
1338    
1339  </pre>  </pre>
1340          (If you add <tt><b>-X</b></tt>, you will run with the graphical          (If you add <tt>-X</tt>, you will run with the graphical
1341          framebuffer. This is <i>REALLY</i> slow because the console has to          framebuffer. This is <i>REALLY</i> slow because the console has to
1342          scroll a lot during the install. I don't recommend it.)          scroll a lot during the install. I don't recommend it.)
1343    <p>    <p>
# Line 582  common sense and imagination to modify t Line 1351  common sense and imagination to modify t
1351            <li>When asked for the "<b>root device?</b>", enter <b>rz1</b>.            <li>When asked for the "<b>root device?</b>", enter <b>rz1</b>.
1352            <li>At "<b>Enter pathname of shell or RETURN for sh:</b>", press enter.            <li>At "<b>Enter pathname of shell or RETURN for sh:</b>", press enter.
1353            <li>At the # prompt, do the following:<pre>            <li>At the # prompt, do the following:<pre>
1354          $ <b>fsck /dev/rz1a</b>        (and mark the filesystem as clean)          <b>fsck /dev/rz1a</b>        (and mark the filesystem as clean)
1355          $ <b>mount /dev/rz1a /</b>          <b>mount /dev/rz1a /</b>
1356          $ <b>mount -t kernfs kern kern</b>          <b>mkdir /kern</b>
1357          $ <b>./install</b>          <b>mkdir /mnt2</b>
1358            <b>mount -t kernfs kern kern</b>
1359            <b>./install</b>
1360    
1361  </pre>  </pre>
1362                  and proceed with the install. Good luck. :-)                  and proceed with the install. Good luck. :-)
# Line 596  common sense and imagination to modify t Line 1367  common sense and imagination to modify t
1367                  the directory containing the install sets.                  the directory containing the install sets.
1368          </ul>          </ul>
1369    <p>    <p>
1370    <li>    <li>For some unknown reason, the install script does not set the root
1371  For some unknown reason, the install script does not set the root          password! The first time you boot up OpenBSD after the install, you
1372  password! The first time you boot up OpenBSD after the install, you          need to go into single user mode and run <b>passwd root</b> to set
1373  need to go into single user mode and run <b>passwd root</b> to set          the root password, or you will not be able to log in at all!<pre>
1374  the root password, or you will not be able to log in at all!          <b>gxemul -e 3max -d obsd_pmax.img -d 2c:openbsd_pmax_2.8.iso -j bsd -o '-s'</b>
 <pre>  
         $ <b>gxemul -E dec -e 3max -b -d obsd_pmax.img -d 2c:openbsd_pmax_2.8.iso -j bsd -o '-s'</b>  
1375  </pre>  </pre>
1376  While you are at it, you might want to extract the X11 install sets  While you are at it, you might want to extract the X11 install sets
1377  as well, as the installer seems to ignore them too. (Perhaps due to a bug  as well, as the installer seems to ignore them too. (Perhaps due to a bug
1378  in the installer, perhaps because of the way I used mkisofs.)  in the installer, perhaps because of the way I used mkisofs.)
1379  <p>  <p>
1380  Execute the following commands in the emulator:  Execute the following commands in the emulator:
1381  <pre>  <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1382          # <b>fsck /dev/rz0a</b>  <b>fsck /dev/rz0a
1383          # <b>mount /</b>  mount /
1384          # <b>passwd root</b>  passwd root
1385    
1386          # <b>cd /; mount -t cd9660 /dev/rz2c /mnt; sh</b>  cd /; mount -t cd9660 /dev/rz2c /mnt; sh
1387          # <b>for a in /mnt/[xX]*; do tar zxvf $a; done</b>  for a in /mnt/[xX]*; do tar zxvf $a; done
1388          # <b>ln -s /usr/X11R6/bin/Xcfbpmax /usr/X11R6/bin/X</b>  ln -s /usr/X11R6/bin/Xcfbpmax /usr/X11R6/bin/X
1389          # <b>ln -s /dev/fb0 /dev/mouse</b>  ln -s /dev/fb0 /dev/mouse
1390          # <b>echo /usr/X11R6/lib >> /etc/ld.so.conf</b>  echo /usr/X11R6/lib &gt;&gt; /etc/ld.so.conf
1391          # <b>ldconfig</b>  ldconfig
1392    
1393          # <b>sync</b>  sync
1394          # <b>halt</b>  halt</b>
1395  </pre>  </pre></td></tr></table>
1396  </ol>  </ol>
1397    
1398  <p>  <p>
# Line 636  root password, and so on. Line 1405  root password, and so on.
1405  Once you have completed the installation procedure, the following command  Once you have completed the installation procedure, the following command
1406  will let you boot from the new rootdisk image:  will let you boot from the new rootdisk image:
1407  <pre>  <pre>
1408          $ <b>gxemul -E dec -e 3max -b -X -M64 -o '-aN' -d obsd_pmax.img -j bsd</b>          <b>gxemul -e 3max -X -o '-aN' -d obsd_pmax.img -j bsd</b>
1409  </pre>  </pre>
1410    
1411  <p>  <p>
# Line 654  enter <b><tt>rcons</tt></b> if you are u Line 1423  enter <b><tt>rcons</tt></b> if you are u
1423    
1424    
1425    
 <p><br>  
 <a name="openbsdarcinstall"></a>  
 <h3>Installing OpenBSD/arc in GXemul:</h3>  
1426    
 It is possible to run OpenBSD/arc on an emulated Acer PICA-61 in the  
 emulator.  
1427    
 <p>  
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
 <a href="20041024-openbsd-arc-installed.gif"><img src="20041024-openbsd-arc-installed_small.gif"></a>  
1428    
1429  <p>  <p><br>
1430  (You should be aware of the fact that OpenBSD for the ARC platform died at  <a name="openbsdcatsinstall"></a>
1431  release 2.3, so this will not give you an up-to-date OpenBSD system.  <h3>OpenBSD/cats:</h3>
 See  
 <a href="http://www.openbsd.org/arc.html">http://www.openbsd.org/arc.html</a>  
 for more information.)  
1432    
1433  <p>  It is possible to install and run
1434  To install OpenBSD/arc onto an emulated harddisk image, follow these  <a href="http://www.openbsd.org/cats.html">OpenBSD/cats</a>
1435  instructions:  in GXemul. Unfortunately, "The OpenBSD/cats port has been discontinued
1436    after the 4.0 release." according to
1437    <a href="http://www.openbsd.org/cats.html">http://www.openbsd.org/cats.html</a>,
1438    but 4.0 should run fine.
1439    
1440    <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1441    <a href="20051007-openbsd-cats-installed.png"><img src="20051007-openbsd-cats-installed_small.png"></a>
1442    
1443    <p>To install OpenBSD/cats onto an emulated harddisk image,
1444    follow these instructions:
1445    
1446  <p>  <p>
1447  <ol>  <ol>
1448    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
1449          that OpenBSD installs itself onto:<pre>          that OpenBSD installs itself onto:<pre>
1450          $ <b>dd if=/dev/zero of=obsd_arc.img bs=1024 count=1 seek=700000</b>          <b>dd if=/dev/zero of=obsd_cats.img bs=1024 count=1 seek=1900000</b>
1451    
1452  </pre>  </pre>
1453    <li>Download the entire arc directory from the ftp server: (approx. 75 MB)<pre>    <li>Download the entire cats directory from the ftp server:<pre>
1454          $ <b>wget -np -l 0 -r <a href="ftp://ftp.se.openbsd.org/pub/OpenBSD/2.3/arc/">ftp://ftp.se.openbsd.org/pub/OpenBSD/2.3/arc/</a></b>          <b>wget -np -l 0 -r <a href="ftp://ftp.se.openbsd.org/pub/OpenBSD/4.0/cats/">ftp://ftp.se.openbsd.org/pub/OpenBSD/4.0/cats/</a></b>
1455            <b>cp ftp.se.openbsd.org/pub/OpenBSD/4.0/cats/bsd .</b>
1456            <b>cp ftp.se.openbsd.org/pub/OpenBSD/4.0/cats/bsd.rd .</b>
1457    
1458  </pre>  </pre>
1459            (Replace ftp.se.openbsd.org with a server closer to you, for
1460            increased download speed.)
1461      <p>
1462    <li>You now need to make an ISO image of the entire directory you downloaded.    <li>You now need to make an ISO image of the entire directory you downloaded.
1463          I recommend using <tt>mkisofs</tt> for that purpose. If you don't          (I recommend using <tt>mkisofs</tt> for that purpose. If you don't
1464          already have <tt>mkisofs</tt> installed on your system, you need          already have <tt>mkisofs</tt> installed on your system, you need
1465          to install it in order to do this.<pre>          to install it in order to do this.)<pre>
1466          $ <b>mkisofs -o openbsd_arc_2.3.iso ftp.se.openbsd.org/pub/OpenBSD/</b>          <b>mkisofs -allow-lowercase -o openbsd_cats_4.0.iso ftp.se.openbsd.org/pub/OpenBSD/</b>
1467            <b>rm -rf ftp.se.openbsd.org</b>      <i>(this directory is not needed anymore)</i>
1468    
1469  </pre>  </pre>
1470    <li>Start the emulator using this command line:<pre>    <li>Start the emulator using this command line:<pre>
1471          $ <b>gxemul -X -b -E arc -e pica -d obsd_arc.img -d b:openbsd_arc_2.3.iso -j 2.3/arc/bsd.rd</b>          <b>gxemul -XEcats -d obsd_cats.img -d openbsd_cats_4.0.iso bsd.rd</b>
1472    
1473  </pre>  </pre>
1474          and proceed like you would do if you were installing OpenBSD          and proceed like you would do if you were installing OpenBSD
1475          on a real Acer PICA-61. (Answer 'no' when asked if you want to          on a real CATS. (Install onto <tt>wd0</tt>, don't configure the
1476          configure networking, and then install from CD-ROM.)          network, install from CD.)
1477  </ol>  </ol>
1478    
1479  <p>  <p>(Although it <i>is</i> possible to configure the network, IPv4 address
1480  Once the install has finished, the following command should let you  10.0.0.1, netmask 255.0.0.0, gateway/default route 10.0.0.254, and
1481    nameserver 10.0.0.254, the userland NAT-like networking layer is not
1482    stable enough yet to support a full install via ftp.)
1483    
1484    <p><b>NOTE:</b> Make sure that you <tt>sync</tt> and <tt>reboot</tt>
1485    correctly once the installation is finished, or the <tt>/dev</tt> nodes
1486    may not have been written correctly to disk.
1487    
1488    <p>Once the install has finished, the following command should let you
1489  boot from the harddisk image:  boot from the harddisk image:
1490  <p>  
1491  <pre>  <p><pre>
1492          $ <b>gxemul -X -b -E arc -e pica -d obsd_arc.img ftp.se.openbsd.org/pub/OpenBSD/2.3/arc/bsd</b>          <b>gxemul -XEcats -d obsd_cats.img bsd</b>
1493    
1494  </pre>  </pre>
1495    
# Line 717  boot from the harddisk image: Line 1497  boot from the harddisk image:
1497    
1498    
1499    
1500  <!--  
1501    
1502  <p><br>  <p><br>
1503  <a name="openbsdsgiinstall"></a>  <a name="openbsdlandiskinstall"></a>
1504  <h3>Running OpenBSD/sgi in GXemul:</h3>  <h3>OpenBSD/landisk:</h3>
1505    
1506  <a href="http://www.openbsd.org/sgi.html">OpenBSD/sgi</a>  It is possible to install and run
1507  can theoretically run in GXemul on an emulated O2 (SGI-IP32) with root on nfs.  <a href="http://www.openbsd.org/landisk.html">OpenBSD/landisk</a>
1508    in GXemul.
1509    
1510  <p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1511  <font color="#ff0000">NOTE: I haven't succeeded with this yet.</font>  <a href="20070419-openbsd-landisk.png"><img src="20070419-openbsd-landisk_small.png"></a>
1512    
1513  <p>  <p>To install OpenBSD/landisk onto an emulated harddisk image,
1514  GXemul does not yet emulate the AHC PCI SCSI controller in the O2, so  follow these instructions:
 another emulated machine must be used as the nfs root server, and the  
 emulated O2 machine must boot as a  
 <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=diskless&manpath=OpenBSD+Current&format=html">diskless</a>  
 client. Performing this setup is very time consuming, but necessary.  
1515    
1516  <p>  <p>
1517  <ol>  <ol>
1518    <li><a href="#netbsdinstall">Install NetBSD/pmax 2.0 from CDROM</a>    <li>Create an empty harddisk image, which will be the root disk
1519          (or install some other similar OS) inside the emulator. This will          that OpenBSD installs itself onto:<pre>
1520          be the "nfs server" machine. Create a 600 MB <tt>/tftpboot</tt>          <b>dd if=/dev/zero of=obsd_landisk.img bs=1024 count=1 seek=2000000</b>
         partition during the installation.  
   <p>  
   <li>Configure the nfs server machine to act as an nfs server.<pre>  
         # <b>echo hostname=server &gt;&gt; /etc/rc.conf</b>  
         # <b>echo ifconfig_le0=\"inet 10.0.0.2\" &gt;&gt; /etc/rc.conf</b>  
         # <b>echo nameserver 10.0.0.254 &gt;&gt; /etc/rc.conf</b>  
         # <b>echo 10.0.0.254 &gt; /etc/mygate</b>  
         # <b>echo /tftpboot -maproot=root 10.0.0.1 &gt; /etc/exports</b>  
         # <b>echo rpcbind=YES &gt;&gt; /etc/rc.conf</b>  
         # <b>echo nfs_server=YES &gt;&gt; /etc/rc.conf</b>  
         # <b>echo mountd=YES &gt;&gt; /etc/rc.conf</b>  
         # <b>echo bootparamd=YES &gt;&gt; /etc/rc.conf</b>  
         # <b>printf "client root=10.0.0.2:/tftpboot \\\n swap=10.0.0.2:/tftpboot/swap\n" &gt; /etc/bootparams</b>  
         # <b>echo 10.0.0.1 client &gt; /etc/hosts</b>  
   
         Reboot. Then download the OpenBSD/sgi distribution:  (NOTE: This  
         takes quite some time, even if you have a fast network connection.)  
1521    
1522          # <b>cd /tftpboot; ftp -i ftp.se.openbsd.org</b>  </pre>
1523          ...    <li>Download the entire landisk directory from the ftp server:<pre>
1524          <b>cd pub/OpenBSD/3.7/sgi</b>          <b>wget -np -l 0 -r <a href="ftp://ftp.se.openbsd.org/pub/OpenBSD/4.1/landisk/">ftp://ftp.se.openbsd.org/pub/OpenBSD/4.1/landisk/</a></b>
1525          <b>mget *</b>          <b>cp ftp.se.openbsd.org/pub/OpenBSD/4.1/landisk/bsd .</b>
1526            <b>cp ftp.se.openbsd.org/pub/OpenBSD/4.1/landisk/bsd.rd .</b>
         # <b>sh</b>  
         # <b>for a in base* etc* misc*; do tar vzxfp $a; done</b>  
         # <b>dd if=/dev/zero of=swap bs=1024 count=16384</b>  
1527    
1528  </pre>  </pre>
1529            (Replace ftp.se.openbsd.org with a server closer to you, for
1530            increased download speed.)
1531    <p>    <p>
1532    <li>Create a configuration file along these lines:<pre>    <li>You now need to make an ISO image of the entire directory you downloaded.
1533          <font color="#2020cf">!!gxemul          (I recommend using <tt>mkisofs</tt> for that purpose. If you don't
1534          !          already have <tt>mkisofs</tt> installed on your system, you need
1535          !  Configuration file for running OpenBSD/sgi diskless with          to install it in order to do this.)<pre>
1536          !  a NetBSD/pmax machine as the nfs server.          <b>mkisofs -U -o openbsd_landisk_4.1.iso ftp.se.openbsd.org/pub/OpenBSD/</b>
1537          !          <b>rm -rf ftp.se.openbsd.org</b>      <i>(this directory is not needed anymore)</i>
1538          !  Change the filenames to suit your setup.</font>  
1539    </pre>
1540          <b>emul(    <li>Start the emulator using this command line:<pre>
1541              net()          <b>gxemul -x -E landisk -d obsd_landisk.img -d d:openbsd_landisk_4.1.iso bsd.rd</b>
1542    
1543              machine(  </pre>
1544                  name("client machine")          and proceed like you would do if you were installing OpenBSD
1545                  type("sgi")          on a real landisk. The following hints are useful to get you
1546                  subtype("ip32")          through the installation:
1547                  bintrans(yes)          <ul>
1548                  load("openbsd-sgi-20050202-bsd")            <li>Terminal type = <b>xterm</b>
1549                  start_paused(yes)            <li>root disk = <b>wd0</b> (the disk to install onto)
1550              )            <li>Use the entire disk for OpenBSD = <b>yes</b>
1551              <li>Create one big root partition (a) and a small swap partition (b). c is the entire disk.
1552              machine(            <li>Do <b>not</b> configure the network. (The Realtek NIC
1553                  name("nfs server")                  found in the Landisk machine is not implemented yet
1554                  type("dec")                  in the emulator.)
1555                  subtype("5000/200")            <li>Location of sets = <b>disk</b>
1556                  bintrans(yes)            <li>Is the disk partition already mounted = <b>no</b>
1557                  disk("nbsd_pmax.img")            <li>Disk containing the install media = <b>wd1</b>
1558              )            <li>Pathname to the sets = <b>4.1/landisk</b>
1559          )</b>          </ul>
   
 </pre>  
   <li>Boot the nfs server and the OpenBSD/sgi client machine like this:<pre>  
         $ <b>gxemul @myconf</b>  
   
 </pre>  
         You might want to log in as root on the server machine, and  
         run <b>tcpdump -lnvv</b> or similar, to see that what the client  
         machine actually does on the network.  
         <p>  
         The OpenBSD box ("client machine") will be paused, so when you  
         are ready to unpause it, press CTRL-C in the main GXemul  
         window and use the <b>focus</b> and <b>pause</b> commands to  
         unpause the main CPU in that machine, and then <b>continue</b>  
         to resume execution.  
         <p>  
         When asked for "root device :", enter <b>mec0</b>.  
1560  </ol>  </ol>
1561    
1562  <p>  <p>Once the install has finished, the following command should let you
1563  TODO...  boot from the disk image:
1564    
1565    <p><pre>
1566            <b>gxemul -x -E landisk -d obsd_landisk.img bsd</b>
1567    
1568    </pre>
1569    
1570    <p>As with most emulation modes in GXemul, the NIC in this machine is
1571    not emulated yet. If you want to transfer files to/from the emulated
1572    landisk machine, see
1573    <a href="misc.html#filexfer">this chapter</a> in the documentation.
1574    
1575    
 -->  
1576    
1577    
1578    
# Line 828  TODO... Line 1580  TODO...
1580    
1581  <p><br>  <p><br>
1582  <a name="ultrixinstall"></a>  <a name="ultrixinstall"></a>
1583  <h3>Installing Ultrix/RISC in GXemul:</h3>  <h3>Ultrix/RISC:</h3>
1584    
1585  Ultrix 4.x can run in GXemul on an emulated DECstation 5000/200.  Ultrix 4.x can run in GXemul on an emulated DECstation 5000/200.
1586    (Ultrix was the native OS for these machines, but
1587    <a href="#netbsdpmaxinstall">NetBSD/pmax</a> is also usable.)
1588    
1589  <p>  <p>
1590  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1591  <a href="20040504-ultrix45-boot1.png"><img src="20040504-ultrix45-boot1_small.gif"></a>  <a href="20040504-ultrix45-boot1.png"><img src="20040504-ultrix45-boot1_small.png"></a>
1592  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;
1593  <a href="ultrix4.5-20040706.png"><img src="ultrix4.5-20040706_small.gif"></a>  <a href="ultrix4.5-20040706.png"><img src="ultrix4.5-20040706_small.png"></a>
1594    
1595  <p>  <p>
1596  The following instructions should let you install Ultrix onto a disk image:  The following instructions should let you install Ultrix onto a disk image:
# Line 844  The following instructions should let yo Line 1598  The following instructions should let yo
1598  <ol>  <ol>
1599    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
1600          that Ultrix installs itself onto:<pre>          that Ultrix installs itself onto:<pre>
1601          $ <b>dd if=/dev/zero of=rootdisk.img bs=1024 count=1 seek=800000</b>          <b>dd if=/dev/zero of=rootdisk.img bs=1024 count=1 seek=800000</b>
1602    
1603  </pre>  </pre>
1604    <li>Place your Ultrix installation media in your CDROM drive.    <li>Place your Ultrix installation media in your CDROM drive.
1605          (On FreeBSD and similar systems, it is called <tt>/dev/cd0c</tt>.          (On FreeBSD and similar systems, it is called <tt>/dev/cd0c</tt>.
1606          Replace that with the name of your CDROM drive, or the name of a          Replace that with the name of your CDROM drive, or the name of a
1607          .iso image file.) Then, start the emulator like this:<pre>          .iso image file.) Then, start the emulator like this:<pre>
1608          $ <b>gxemul -X -b -M64 -E dec -e 3max -d rootdisk.img -d bc:/dev/cd0c -j vmunix</b>          <b>gxemul -X -e 3max -d rootdisk.img -d bc:/dev/cd0c -j vmunix</b>
1609    
1610  </pre>  </pre>
1611    <li>Once the first stage of the installation is done (restoring the root    <li>Once the first stage of the installation is done (restoring the root
# Line 859  The following instructions should let yo Line 1613  The following instructions should let yo
1613          new rootdisk, to continue the installation process.          new rootdisk, to continue the installation process.
1614          This is done by removing the bootflag ('<tt>b</tt>') from the second          This is done by removing the bootflag ('<tt>b</tt>') from the second
1615          diskimage argument:<pre>          diskimage argument:<pre>
1616          $ <b>gxemul -X -b -M64 -E dec -e 3max -d rootdisk.img -d c:/dev/cd0c -j vmunix</b>          <b>gxemul -X -e 3max -d rootdisk.img -d c:/dev/cd0c -j vmunix</b>
1617    
1618  </pre>  </pre>
1619  </ol>  </ol>
# Line 867  The following instructions should let yo Line 1621  The following instructions should let yo
1621  <p>  <p>
1622  When the installation is completed, the following command should start    When the installation is completed, the following command should start  
1623  Ultrix from the harddisk image:<pre>  Ultrix from the harddisk image:<pre>
1624          $ <b>gxemul -X -b -M64 -E dec -e 3max -j vmunix -d rootdisk.img</b>          <b>gxemul -X -e 3max -j vmunix -d rootdisk.img</b>
1625  </pre>  </pre>
1626    
1627  <p>  <p>If you have a very fast host machine, you might experience a weird
1628  Ultrix mostly seems to work with dynamic binary translation (enabled by  timer related bug, which makes it impossible to logon to the system. It is
1629  the <b><tt>-b</tt></b> command line option). If you have a very fast  triggered when the emulation goes faster than any real DECstation machine
1630  host machine, and use bintrans, you might experience a weird timer related  was capable of running. A temporary workaround is to add
1631  bug, which makes it impossible to logon to the system. It is triggered  <b><tt>-I33000000</tt></b> to fix the emulated clock speed to 33 million
1632  when the emulation goes faster than any real DECstation machine was  instructions per emulated second.
1633  capable of running. A temporary workaround is to add <b><tt>-I33000000</tt></b>  
1634  to fix the emulated clock speed to 33 million instructions per emulated  <p>If the workaround above doesn't work, you can also start up other
1635  second. (When using <tt><b>-CR4400</b></tt>, <b><tt>-I16000000</tt></b>  processes on the host, apart from the emulator, so that the emulator runs
1636  should be used instead.)  more slowly. This is an ugly workaround, but seems to work. Once you have
1637    logged in into Ultrix, you can kill the extra processes.
1638    
1639  <p>  <p>You can experiment with adding <b><tt>-Z2</tt></b> (for emulating a
 You can experiment with adding <b><tt>-Z2</tt></b> (for emulating a  
1640  dual-headed workstation) or even <b><tt>-Z3</tt></b> (tripple-headed), and  dual-headed workstation) or even <b><tt>-Z3</tt></b> (tripple-headed), and
1641  also the <b><tt>-Y2</tt></b> option for scaling down the framebuffer  also the <b><tt>-Y2</tt></b> option for scaling down the framebuffer
1642  windows by a factor 2x2.  windows by a factor 2x2.
# Line 890  There is also a <b><tt>-z</tt></b> optio Line 1644  There is also a <b><tt>-z</tt></b> optio
1644  displays to use. The following example starts Ultrix on an emulated  displays to use. The following example starts Ultrix on an emulated
1645  tripple-headed workstation, on three different displays (<tt>remote1:0.0</tt>,  tripple-headed workstation, on three different displays (<tt>remote1:0.0</tt>,
1646  <tt>localhost:0.0</tt>, and <tt>remote2:0.0</tt>), using no scaledown:<pre>  <tt>localhost:0.0</tt>, and <tt>remote2:0.0</tt>), using no scaledown:<pre>
1647          $ <b>gxemul -M64 -bN -E dec -e 3max -jgenvmunix -d rootdisk.img \          <b>gxemul -N -e 3max -jgenvmunix -d rootdisk.img \
1648              -XZ3 -z remote1:0.0 -z localhost:0.0 -z remote2:0.0</b>              -XZ3 -z remote1:0.0 -z localhost:0.0 -z remote2:0.0</b>
1649  </pre>  </pre>
1650    
1651  <p>  <p>The photo below shows a single Ultrix session running tripple-headed in
 The photo below shows a single Ultrix session running tripple-headed in  
1652  GXemul on an Alpha 21164PC, with displays on a Sun Ultra1 (to the left),  GXemul on an Alpha 21164PC, with displays on a Sun Ultra1 (to the left),
1653  on the Alpha itself (in the middle), and on an HP700/RX X-terminal (8-bit  on the Alpha itself (in the middle), and on an HP700/RX X-terminal (8-bit
1654  color depth, running off the Alpha) to the right.  color depth, running off the Alpha) to the right.
1655    
1656  <p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  
1657  <a href="20041209-ultrix-tripplehead.jpg"><img src="20041209-ultrix-tripplehead_small.jpg"></a>  <a href="20041209-ultrix-tripplehead.jpg"><img src="20041209-ultrix-tripplehead_small.jpg"></a>
1658    
1659  <p>  <p>The X11 displays may differ in bit depth and endianness. Unfortunately,
 The X11 displays may differ in bit depth and endianness. Unfortunately,  
1660  there is no way yet to set the scaledown factor on a per-window basis, so  there is no way yet to set the scaledown factor on a per-window basis, so
1661  the scaledown factor affects all windows.  the scaledown factor affects all windows.
1662    
1663  <p>  <p>(If you didn't use <tt><b>-Z<i>n</i></b></tt> during the installation, and
 (If you didn't use <tt><b>-Z<i>n</i></b></tt> during the installation, and  
1664  compiled your own <tt>/vmunix</tt>, then it will not contain support for  compiled your own <tt>/vmunix</tt>, then it will not contain support for
1665  multiple graphics cards. To overcome this problem, use the generic kernel,  multiple graphics cards. To overcome this problem, use the generic kernel,
1666  <tt><b>-j genvmunix</b></tt>, whenever you are running the emulator with a  <tt><b>-j genvmunix</b></tt>, whenever you are running the emulator with a
1667  different setup than the one you used when Ultrix was installed.)  different setup than the one you used when Ultrix was installed.)
1668    
1669  <p>  <p>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  
1670  to Ultrix, so that is possible to run as well.  If you are unsuccessful  to Ultrix, so that is possible to run as well.  If you are unsuccessful
1671  in installing Ultrix or OSF/1 directly in the emulator, you can always  in installing Ultrix or OSF/1 directly in the emulator, you can always
1672  install it on your real machine onto a real SCSI disk, and then copy the  install it on your real machine onto a real SCSI disk, and then copy the
# Line 931  that file as a disk image file in the em Line 1680  that file as a disk image file in the em
1680    
1681  <p><br>  <p><br>
1682  <a name="sprite"></a>  <a name="sprite"></a>
1683  <h3>Running Sprite for DECstation in GXemul:</h3>  <h3>Sprite for DECstation:</h3>
1684    
1685  Sprite was a research operating system at the University of Berkeley.  Sprite was a research operating system at the University of Berkeley.
1686  The Unix Heritage Society (TUHS, <a href="http://www.tuhs.org">www.tuhs.org</a>)  The Unix Heritage Society (TUHS, <a href="http://www.tuhs.org">www.tuhs.org</a>)
# Line 951  The following instructions should let yo Line 1700  The following instructions should let yo
1700    
1701  <p>  <p>
1702  <ol>  <ol>
1703    <li>Download the Sprite harddisk image using ftp or http:<pre>    <li>Download the Sprite harddisk image:<pre>
1704          <a href="http://www.es.embnet.org/Services/ftp/misc/TUHS/other_os/Sprite/">http://www.es.embnet.org/Services/ftp/misc/TUHS/other_os/Sprite</a>/<a href="http://www.es.embnet.org/Services/ftp/misc/TUHS/other_os/Sprite/ds5000.bt">ds5000.bt</a>          <a href="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</a>
         or <a href="ftp://ftp.es.embnet.org/misc/TUHS/other_os/Sprite/ds5000.bt">ftp://ftp.es.embnet.org/misc/TUHS/other_os/Sprite/ds5000.bt</a>  
1705          83973120 bytes, MD5 = ec84eeeb20fe77b758370d5e312e4a5e          83973120 bytes, MD5 = ec84eeeb20fe77b758370d5e312e4a5e
1706    
1707  </pre>  </pre>
1708    <li>Start the emulator with the following command line:<pre>    <li>Start the emulator with the following command line:<pre>
1709          $ <b>gxemul -X -b -E dec -e 3max -M128 -d ds5000.bt -j vmsprite -o ''</b>          <b>gxemul -X -e 3max -M128 -d ds5000.bt -j vmsprite -o ''</b>
1710    
1711  </pre>  </pre>
1712  </ol>  </ol>
# Line 970  values, then you should use the followin Line 1718  values, then you should use the followin
1718  <p>  <p>
1719    
1720  <pre>  <pre>
1721      Your machine's Ethernet address:    10:20:30:40:50:60      Your machine's Ethernet address:    10:20:30:00:00:10
1722      Your machine's IP:                  10.0.0.1      Your machine's IP:                  10.0.0.1
1723      Subnet mask:                        0xff000000      Subnet mask:                        0xff000000
1724      Gateway's Ethernet address:         60:50:40:30:20:10      Gateway's Ethernet address:         60:50:40:30:20:10
# Line 978  values, then you should use the followin Line 1726  values, then you should use the followin
1726  </pre>  </pre>
1727    
1728  <p>  <p>
1729  Unfortunately, at the end of <a href="http://www.es.embnet.org/Services/ftp/misc/TUHS/other_os/Sprite/boot.txt">  Unfortunately, at the end of <a href="ftp://ftp.es.embnet.org/pub/misc/TUHS/other_os/Sprite/boot.txt">ftp://ftp.es.embnet.org/pub/misc/TUHS/other_os/Sprite/boot.txt</a>,
1730  http://www.es.embnet.org/Services/ftp/misc/TUHS/other_os/Sprite/boot.txt</a>, the  the following sad statement can be found:
 following sad statement can be found:  
1731  <pre>  <pre>
1732      The bootable Sprite image is meant to be a demonstration of Sprite, not      The bootable Sprite image is meant to be a demonstration of Sprite, not
1733      a robust Sprite system.  There are several missing things, such as      a robust Sprite system.  There are several missing things, such as
1734      floating point and network support.      floating point and network support.
1735  </pre>  </pre>
1736    
1737  <p>  <p>Once you are logged in as root, running <b><tt>xinit</tt></b> will
1738  Once you are logged in as root, running <b>xinit</b> will start the X11  start the X11 environment.
1739  environment.  
1740    
1741    
1742    
# Line 997  environment. Line 1744  environment.
1744    
1745  <p><br>  <p><br>
1746  <a name="declinux"></a>  <a name="declinux"></a>
1747  <h3>Installing Debian GNU/Linux for DECstation in GXemul:</h3>  <h3>Debian GNU/Linux for DECstation:</h3>
1748    
1749  <font color="#ef0000">NOTE: This is experimental, and <i>extremely</i>  It is possible to run Debian GNU/Linux for DECstation in the emulator,
1750  unstable. During my tests, even pressing the wrong key during the install  on an emulated 5000/200 ("3max"). However, just choosing any
1751  (for example the wrong cursor key) can cause a kernel Oops.  Linux/DECstation kernel at random for the installation will not work.
1752  I <i>think</i> this has to do with interrupts from the serial controller.  
1753  Hopefully using the <tt><b>-U</b></tt> command line option will reduce the  <p><ul>
1754  risk for such crashes. (I haven't had time to come up with a clean    <li>Linux 2.4/DECstation DZ serial console output doesn't work too well in
1755  solution to this yet; it feels like a buffer overflow in Linux' serial          GXemul. Linux oopses randomly, which may be due to bugs in GXemul,
1756  driver for the 5000/200, but it is also likely that it is a bug in GXemul.)          but may also be due to bugs in the serial controller code in Linux.
1757  </font>          (The speed at which serial interrupts are generated can be
1758            lowered with the <tt>-U</tt> command line option, but it only
1759            reduces the risk, it doesn't take away the oopses completely.)
1760      <li>The Linux 2.6/DECstation DZ serial console driver doesn't work at
1761            all in the emulator, and I'm not really sure it would work on a
1762            real 5000/200 either. Hopefully this will be fixed in Linux in
1763            the future.
1764      <li>To get around the serial console problem, the obvious solution is to
1765            use a graphical framebuffer instead. Old Debian install kernels
1766            supported the graphical framebuffer on the 3max, but not the
1767            keyboard. (This has been fixed now, it seems.)
1768      <li>For quite some time, the MIPS linux cvs tree has had support for the
1769            framebuffer and keyboard, but it did not include Debian's
1770            patches for networking, which made it unusable for network
1771            installs. (Possibly fixed now.)
1772      <li>The kernel has to be for 5000/200. This rules out using
1773            the default kernel on netinst ISO images provided by Debian.
1774            These ISO images boot directly into a kernel which is meant
1775            for a different DECstation model.
1776      <li>The kernel has to have an initrd which more or less matches the
1777            version of Debian that will be installed.
1778    </ul>
1779    
1780  <p>  <p>Luckily, a precompiled install kernel has been made available by David
1781  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  Muse, for Debian for R3000 DECstations, which has support for framebuffer,
1782  <a href="20041212-debian_1.png"><img src="20041212-debian_1_small.gif"></a>  keyboard, and networking, which works pretty well. Thanks David. :-)
 &nbsp;&nbsp;&nbsp;  
 <a href="20041212-debian_2.png"><img src="20041212-debian_2_small.gif"></a>  
 &nbsp;&nbsp;&nbsp;  
 <a href="20041213-debian_3.png"><img src="20041213-debian_3_small.gif"></a>  
 &nbsp;&nbsp;&nbsp;  
 <a href="20041213-debian_4.png"><img src="20041213-debian_4_small.gif"></a>  
1783    
1784  <p>  <p>The following steps should let you install Debian GNU/Linux for
1785  The following steps should let you install Debian GNU/Linux for DECstation  DECstation onto a harddisk image in the emulator:
 onto a harddisk image:  
1786    
1787  <p>  <p>
1788  <ol>  <ol>
1789    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
1790          that Debian installs itself onto:<pre>          that Debian installs itself onto:<pre>
1791          $ <b>dd if=/dev/zero of=debian.img bs=1024 count=1 seek=2000000</b>          <b>dd if=/dev/zero of=debian_pmax.img bs=1024 count=1 seek=6000000</b>
1792    
1793  </pre>  </pre>
1794    <li>Download an install kernel:<pre>    <li>Download David Muse' install kernel, and a Debian Netinstall CD-ROM:<pre>
1795          <a href="http://http.us.debian.org/debian/dists/testing/main/installer-mipsel/current/images/r3k-kn02/boot.img">http://http.us.debian.org/debian/dists/testing/main/</a>          <a href="http://www.firstworks.com/mips-linux-2.4.31/vmlinux-2.4.31">http://www.firstworks.com/mips-linux-2.4.31/vmlinux-2.4.31</a>
1796              <a href="http://http.us.debian.org/debian/dists/testing/main/installer-mipsel/current/images/r3k-kn02/boot.img">installer-mipsel/current/images/r3k-kn02/boot.img</a>          <a href="http://cdimage.debian.org/cdimage/archive/3.1_r6a/mipsel/iso-cd/">http://cdimage.debian.org/cdimage/archive/3.1_r6a/mipsel/iso-cd</a>/<a href="http://cdimage.debian.org/cdimage/archive/3.1_r6a/mipsel/iso-cd/debian-31r6a-mipsel-netinst.iso">debian-31r6a-mipsel-netinst.iso</a>
         or  
         <a href="http://http.us.debian.org/debian/dists/unstable/main/installer-mipsel/current/images/r3k-kn02/boot.img">http://http.us.debian.org/debian/dists/unstable/main/</a>  
             <a href="http://http.us.debian.org/debian/dists/unstable/main/installer-mipsel/current/images/r3k-kn02/boot.img">installer-mipsel/current/images/r3k-kn02/boot.img</a>  
1797    
1798  </pre>  </pre>
         depending on whether you want to install Debian "Testing" or  
         "Unstable".  
1799    <p>    <p>
1800    <li>For a text-mode installation, start the emulator like this:<pre>    <li>Start the installation like this:<pre>
1801          $ <b>gxemul -E dec -e 3max -b -U -M64 -o 'console=ttyS3' -d debian.img -O boot.img</b>          <b>gxemul -X -e3max -d debian_pmax.img -d debian-31r6a-mipsel-netinst.iso vmlinux-2.4.31</b>
   
1802  </pre>  </pre>
 </ol>  
1803    
1804  <p>          <p>If everything goes well, you will see Linux' boot messages, and then
1805  Debian GNU/Linux on DECstation works reasonably fine with dynamic          arrive at the language chooser.
 binary translation, enabled by the <b><tt>-b</tt></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.)  
1806    
1807  <p>  <p>
1808  (If you want to, you can try <b>-X</b> instead of <b>-o 'console=ttyS3'</b> on  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-1.png"><img src="debian-1-small.png"></a>
1809  the command line. This will cause Linux to use the graphical framebuffer.  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-2.png"><img src="debian-2-small.png"></a>
1810  Unfortunately, Linux does not seem to have a driver for the DZ11 keyboard  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-3.png"><img src="debian-3-small.png"></a>
1811  controller yet, so you cannot interact with the system. You will see the  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-4.png"><img src="debian-4-small.png"></a>
1812  penguin in the upper lefthand corner while booting, and nicely rendered Unicode  
1813  characters, but that's about it.)          <p>There will be a warning about the keyboard
1814            layout. Don't mind this. Continue, and then select <b>Detect
1815            and mount CD-ROM</b> in the next menu.
1816    
1817  <p>  <p>
1818  You need to enter some values during the installation procedure, for example  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-5.png"><img src="debian-5-small.png"></a>
1819  network settings. The following should work:  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-6.png"><img src="debian-6-small.png"></a>
1820  <p>  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-7.png"><img src="debian-7-small.png"></a>
1821  <pre>  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-8.png"><img src="debian-8-small.png"></a>
1822      DHCP:                       No, choose "Configure network manually"  
1823      IP address:                 10.0.0.1          <p>
1824      Netmask:                    255.0.0.0          There will also be a warning about lack of loadable modules. Don't
1825      Gateway:                    10.0.0.254          mind this either, continue anyway by choosing <b>Yes</b>.
1826      Name server addresses:      10.0.0.254          <p>
1827            When you reach the network configuration part of the install, choose
1828            <b>Configure network manually</b> and enter the following values:<pre>
1829            IP address:                 <b>10.0.0.1</b>
1830            Netmask:                    <b>255.0.0.0</b>
1831            Gateway:                    <b>10.0.0.254</b>
1832            Name server addresses:      <b>10.0.0.254</b>
1833    
1834  </pre>  </pre>
1835            <p>Choose <b>Erase entire disk</b> in the partitioner.
1836    
1837            <p>Wait for the base system to be installed. This takes almost forever,
1838            so you can go fetch several <a href="http://en.wikipedia.org/wiki/Jolt_Cola">Jolts</a>
1839            or cups of coffee in the meanwhile.
1840    
1841  <p>  <p>
1842  <ol start="4">  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-9.png"><img src="debian-9-small.png"></a>
1843    <li>Once the first phase of the install has finished, the following command  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-10.png"><img src="debian-10-small.png"></a>
1844          should let you boot into Debian, and perform post-install  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-11.png"><img src="debian-11-small.png"></a>
1845          configuration:<pre>  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-12.png"><img src="debian-12-small.png"></a>
1846          $ <b>gxemul -E dec -e 3max -U -b -M64 -o 'console=ttyS3' -d debian.img</b>  
1847            <p>Congratulations! The first phase of the installation is now completed.
1848            Reboot using the following command line:<pre>
1849            <b>gxemul -X -e3max -o 'root=/dev/sda1' -d debian_pmax.img vmlinux-2.4.31</b>
1850    
1851  </pre>  </pre>
1852            <p>The post-install step takes quite some time as well. A perfect opportunity
1853            for more coffee.
1854    
1855            <p>When asked about whether the hardware clock is set to GMT or
1856            not, answer Yes.
1857    
1858            <p>When asked about "Apt configuration", choose <b>http</b> as the method
1859            to use for accessing the Debian archive.
1860    
1861    <p>
1862    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-13.png"><img src="debian-13-small.png"></a>
1863    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-14.png"><img src="debian-14-small.png"></a>
1864    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-15.png"><img src="debian-15-small.png"></a>
1865    
1866            <p>Downloading the packages takes almost forever. Be patient.
1867    
1868            <p>Congratulations (again)! You are now fully done with the installation.
1869    
1870  </ol>  </ol>
1871    
1872    <p><br>Debian GNU/Linux for DECstation is now installed and ready to be used.
1873    Use this command to boot from the installed disk image:<pre>
1874            <b>gxemul -X -e3max -o 'root=/dev/sda1' -d debian_pmax.img vmlinux-2.4.31</b>
1875    
1876    </pre>
1877    
1878    
1879    
1880    
1881    
1882    
1883    
1884    <p><br>
1885    <hr>
1886    
1887    
1888    
1889    
1890    
1891    
1892    
1893    <p><br>
1894    <a name="mach"></a>
1895    <h3>Mach/PMAX:</h3>
1896    
1897    Read the following link if you want to know more about Mach in general:
1898    <a href="http://www-2.cs.cmu.edu/afs/cs/project/mach/public/www/mach.html">
1899    http://www-2.cs.cmu.edu/afs/cs/project/mach/public/www/mach.html</a>
1900    
1901    <p>
1902    <font color="#ff0000">NOTE: Mach for DECstation requires some files
1903    (called 'startup' and 'emulator') which I haven't been able to find
1904    on the web. Without these, Mach will not get very far. These
1905    installation instructions are preliminary.
1906    </font>
1907    
1908    <p>
1909    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1910    <a href="20041018-mach_pmax.png"><img src="20041018-mach_pmax_small.png"></a>
1911    
1912  <p>  <p>
1913  It seems that there's a problem with getting a login prompt on serial  The following steps should let you experiment with running Mach
1914  console (at least when I've done test installs), so when the installation  for DECstation in the emulator:
 is finished and you're supposed to get a login prompt, you need to press  
 CTRL-C and type <b>quit</b>, and then:  
1915    
1916  <p>  <p>
1917  <ol start="5">  <ol>
1918    <li>Download a normal kernel (<i>not</i> a RAMDISK kernel):<pre>    <li>Download the pmax binary distribution for Mach 3.0:<pre>
1919          <a href="http://http.us.debian.org/debian/dists/testing/main/installer-mipsel/current/images/cdrom/vmlinux-2.4.27-r3k-kn02">http://http.us.debian.org/debian/dists/testing/main/</a>          <a href="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/</a>
1920           <a href="http://http.us.debian.org/debian/dists/testing/main/installer-mipsel/current/images/cdrom/vmlinux-2.4.27-r3k-kn02">installer-mipsel/current/images/cdrom/vmlinux-2.4.27-r3k-kn02</a>              <a href="http://lost-contact.mit.edu/afs/athena/user/d/a/daveg/Info/Links/Mach/src/release/pmax.tar.Z">daveg/Info/Links/Mach/src/release/pmax.tar.Z</a>
1921            7263343 bytes, md5 = f9d76c240a6e169921a1df99ad560cc0
1922    
1923    </pre>
1924      <li>Extract the Mach kernel:<pre>
1925            <b>tar xfvz pmax.tar.Z pmax_mach/special/mach.boot.MK83.STD+ANY</b>
1926    
1927  </pre>  </pre>
1928    <li>Boot Debian using the following command line:<pre>    <li>Create an empty disk image:<pre>
1929          $ <b>gxemul -E dec -e 3max -U -b -M64 -o \          <b>dd if=/dev/zero of=disk.img bs=1 count=512 seek=400000000</b>
             'console=ttyS3 root=/dev/sda1 rw init=/bin/sh' \  
             -d debian.img vmlinux-2.4.27-r3k-kn02</b>  
1930    
1931  </pre>  </pre>
1932          You'll enter single-user mode. You need to add a line to    <li>Load the contents of pmax.tar.Z onto the disk image. This is
1933          /etc/inittab, to enable logins via serial console.<pre>          complicated, and should be described in more detail some time.
1934          sh-2.05b# <b>echo 'T3:23:respawn:/sbin/getty -L ttyS3 9600 vt100' >> /etc/inittab</b>          For now, use your imagination. (For example using OpenBSD/pmax:
1935          sh-2.05b# <b>echo 'ttyS3' >> /etc/securetty</b>          <i>disklabel -E rz1; newfs -O /dev/rz1a;
1936          sh-2.05b# <b>sync; umount /</b>          mount /dev/rz1a /mnt; cd /mnt; download pmax.tar.Z using ftp;
1937            tar xzvf pmax.tar.Z; mv pmax_mach/* .; rmdir pmax_mach;
1938            mkdir mach_servers;
1939            cd mach_servers;
1940            cp ../etc/mach_init .;
1941            cp ../tests/test_service startup;
1942            dd if=/dev/zero of=paging_file bs=65536 count=400;
1943            cd /; sync; umount /mnt</i>)
1944            <p>
1945      <li>Start the emulator with the following command:<pre>
1946            <b>gxemul -c 'put w 0x800990e0, 0' -c 'put w 0x80099144, 0' \
1947                -c 'put w 0x8004aae8, 0' -e 3max -X -d disk.img \
1948                pmax_mach/special/mach.boot.MK83.STD+ANY</b>
1949    
1950  </pre>  </pre>
1951  </ol>  </ol>
1952    
1953  <p>  <p>Earlier versions of GXemul had a configure option to enable better
1954  The system should now be ready for everyday use.  R3000 cache emulation, but since Mach was more or less the only thing that
1955    used it, I removed it. Today's version of GXemul can thus not boot
1956    mach.boot.MK83.STD+ANY straight off, it has to be patched to skip the
1957    cache detection.
1958    
1959  <p>  <p>The -c commands above patch the kernel to get past the cache detection.
1960  Use this command to boot from the completely installed disk image:<pre>  Thanks to Artur Bujdoso for these values.
         $ <b>gxemul -E dec -e 3max -U -b -M64 -o 'console=ttyS3' -d debian.img</b>  
1961    
1962  </pre>  <p>TODO: Better instructions on how to create the old-style UFS disk
1963    image.
1964    
 <p>  
 [&nbsp;<font color="#ff0000">UPDATE 2005-01-19:</font>&nbsp;  
 Kaj-Michael Lang noticed that the current CVS-version of  
 <a href="http://www.linux-mips.org/">linux-mips</a> has  
 support for keyboards now, on DECstation 5000/200, so it is  
 possible to run Debian GNU/Linux with framebuffer/keyboard.  
 (Add <b><tt>-X</tt></b> (or <b><tt>-XY2</tt></b>) and remove the  
 <b><tt>console=ttyS3</tt></b> option.) He has made a kernel available here:  
 <a href="http://home.tal.org/~milang/o2/kernels/vmlinux-2.4.29-rc2-r3k-mipsel-decstation">  
 http://home.tal.org/~milang/o2/kernels/vmlinux-2.4.29-rc2-r3k-mipsel-decstation</a>  
 It has other problems (ethernet doesn't seem to work, for  
 example), but at least it doesn't Oops that often.&nbsp;]  
1965    
1966    
1967    
# Line 1139  example), but at least it doesn't Oops t Line 1970  example), but at least it doesn't Oops t
1970    
1971  <p><br>  <p><br>
1972  <a name="declinuxredhat"></a>  <a name="declinuxredhat"></a>
1973  <h3>Running Redhat Linux for DECstation in GXemul:</h3>  <h3>Redhat Linux for DECstation:</h3>
1974    
 <font color="#ff0000">NOTE: This is experimental, and <i>extremely</i>  
 unstable. Read the note about <b><tt>-U</tt></b> in the section on how to  
 install Debian.  
 </font>  
1975    
1976  <p>  <p>
1977  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# Line 1155  The following steps should let you run R Line 1982  The following steps should let you run R
1982    
1983  <p>  <p>
1984  <ol>  <ol>
1985    <li>Download a kernel. This is a Debian kernel, but it works fine:<pre>    <li>Download a kernel. David Muse' Debian-install kernel works fine:<pre>
1986          <a href="http://http.us.debian.org/debian/dists/testing/main/installer-mipsel/current/images/cdrom/vmlinux-2.4.27-r3k-kn02">http://http.us.debian.org/debian/dists/testing/main/</a>          <a href="http://www.firstworks.com/mips-linux-2.4.31/vmlinux-2.4.31">http://www.firstworks.com/mips-linux-2.4.31/vmlinux-2.4.31</a>
          <a href="http://http.us.debian.org/debian/dists/testing/main/installer-mipsel/current/images/cdrom/vmlinux-2.4.27-r3k-kn02">installer-mipsel/current/images/cdrom/vmlinux-2.4.27-r3k-kn02</a>  
1987    
1988  </pre>  </pre>
1989    <li>Download a root filesystem tree:<pre>    <li>Download a root filesystem tree:<pre>
1990          <a href="ftp://ftp.uni-wuppertal.de/pub/linux/mips/mipsel-linux/root/mipsel-root-20011216.tgz">ftp://ftp.uni-wuppertal.de/pub/linux/mips/</a>          <a href="ftp://ftp.linux-mips.org/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</a>
          <a href="ftp://ftp.uni-wuppertal.de/pub/linux/mips/mipsel-linux/root/mipsel-root-20011216.tgz">mipsel-linux/root/mipsel-root-20011216.tgz</a>  
1991          19486676 bytes, md5 = 5bcb725c90209479cd7ead8ad0c4a414          19486676 bytes, md5 = 5bcb725c90209479cd7ead8ad0c4a414
1992    
1993  </pre>  </pre>
1994    <li>This is the tricky part: Create an ext2 filesystem image called redhat.img using    <li>Create a disk image which will contain the Redhat filesystem:<pre>
1995          the filesystem tree you just downloaded. The disk image should have a MS-DOS          <b>dd if=/dev/zero of=redhat_mips.img bs=1024 count=1 seek=2000000</b>
1996          partition table (!), and then one or more ext2 partitions.  
1997          (Use loopback mount, or similar. This is probably easiest to do on a Linux host.)  </pre>
1998          However, in order to actually boot the system you need to modify /etc/fstab.  <!--
1999    dd if=/dev/zero of=/dev/stdout bs=1024 count=200 >> mipsel-root-20011216.tgz
2000    gxemul -XY2 -e3max -d redhat_mips.img -d mipsel-root-20011216.tgz vmlinux-2.4.31
2001    In the three dialogs, choose English, United States, and Continue.
2002    Then choose Execute a shell.
2003    tar xfvz /dev/scsi/host0/bus0/target1/lun0/disc sbin/mke2fs sbin/fdisk
2004    fdisk
2005    -->
2006      <li>This is the tricky part: on redhat_mips.img, you need to create an MS-DOS
2007            (!) partition table, and then an ext2 partition. This is what Linux
2008            will then see as /dev/sda1.
2009            <p>I recommend you run fdisk and mke2fs and untar the archive from within
2010            Debian/DECstation or <a href="#debiancats">Debian/CATS</a> running
2011            inside the emulator. (Alternatively, if you are on a Linux host,
2012            you could use a loopback mount, or similar. This might require
2013            root access. See e.g.
2014            <a href="http://www.mega-tokyo.com/osfaq2/index.php/Disk%20Images%20Under%20Linux">http://www.mega-tokyo.com/osfaq2/index.php/Disk%20Images%20Under%20Linux</a>.)
2015            <p>
2016            In order to actually boot the system you need to modify /etc/fstab.
2017          Change<pre>          Change<pre>
2018          /dev/root               /               nfs     defaults        1 1          /dev/root               /               nfs     defaults        1 1
2019          #/dev/sdc1              /               ext2    defaults        1 1          #/dev/sdc1              /               ext2    defaults        1 1
# Line 1184  The following steps should let you run R Line 2027  The following steps should let you run R
2027          none                    /dev/pts        devpts  mode=0622       0 0          none                    /dev/pts        devpts  mode=0622       0 0
2028    
2029  </pre>(Note sda1 instead of sdc1.)  </pre>(Note sda1 instead of sdc1.)
   <p>  
   <li>To boot Linux, start the emulator like this:<pre>  
         $ <b>gxemul -E dec -e 3max -U -b -M128 -o \  
             "console=ttyS3 root=/dev/sda1 ro" -d redhat.img vmlinux-2.4.27-r3k-kn02</b>  
   
 </pre>  
2030  </ol>  </ol>
2031    
2032  <p>  <p>To boot Redhat linux from the disk image, use the following command line:<pre>
2033  If you need to boot into single user mode, try the following:<pre>          <b>gxemul -X -e3max -o "root=/dev/sda1 ro" -d redhat_mips.img vmlinux-2.4.31</b>
         $ <b>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</b>  
2034    
2035  </pre>  </pre>
2036    If you need to boot into single user mode, change options to
2037    <tt><b>-o "root=/dev/sda1 rw init=/bin/sh"</b></tt>.
2038    
2039    
2040    
2041    
2042    
2043    
2044    
2045    
2046    
2047  <p>  
2048  Redhat Linux on DECstation in R3000 mode should work fine with dynamic binary  <p><br>
2049  translation (enabled by the <b>-b</b> command line option).  <a name="openbsdsgiinstall"></a>
2050    <h3>OpenBSD/sgi:</h3>
2051    
2052    <a href="http://www.openbsd.org/sgi.html">OpenBSD/sgi</a>
2053    can (almost) run in GXemul on an emulated O2 (SGI-IP32) with root on nfs.
2054    
2055  <p>  <p>
2056  NOTE: You can add <b>-X</b> and remove <b>console=ttyS3</b> from the command  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
2057  line, if you want to use a graphical framebuffer. Unfortunately, Linux  <a href="20050617-openbsd-sgi.png"><img src="20050617-openbsd-sgi_small.png"></a>
2058  doesn't have support for keyboards on DECstation 5000/200 yet, so you cannot  
2059  actually interact with the sytem. :-(  <p><font color="#ff0000">NOTE: I haven't succeeded all the way with
2060    this yet, and this shows/triggers many bugs in the emulator, but some of
2061    it works.</font>
2062    
2063    <p>GXemul does not yet emulate the AHC PCI SCSI controller in the O2. (I have
2064    mailed Adaptec several times, asking for documentation, but never received
2065    any reply.) OpenBSD/sgi can still run in the emulator, as long as it doesn't
2066    use SCSI. For a simple test with the ramdisk (install) kernel, try dowloading<pre>
2067            <a href="ftp://ftp.se.openbsd.org/pub/OpenBSD/4.0/sgi/">ftp://ftp.se.openbsd.org/pub/OpenBSD/4.0/sgi</a>/<a href="ftp://ftp.se.openbsd.org/pub/OpenBSD/4.0/sgi/bsd.rd">bsd.rd</a>
2068    
2069    </pre>and run <b><tt>gxemul -xeo2 bsd.rd</tt></b>.
2070    
2071    <p>It might also be possible to netboot. Another emulated machine must
2072    then be used as the nfs root server, and the emulated O2 machine must boot
2073    as a <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=diskless&amp;manpath=OpenBSD+Current&amp;format=html">diskless</a>
2074    client. Performing this setup is quite time consuming, but necessary:
2075    
2076  <p>  <p>
2077  [&nbsp;<font color="#ff0000">UPDATE 2005-01-22:</font>&nbsp;  <ol>
2078  Read the 2005-01-19 update in the Debian section above, and then, if    <li>First of all, the "<tt>nfs server</tt>" machine must be set up.
2079  you do not need ethernet support, try Kaj-Michael Lang's kernel compiled          This needs to have a 800 MB <tt>/tftpboot</tt> partition.
2080  from <a href="http://www.linux-mips.org/">linux-mips</a>' CVS.          <a href="#netbsdpmaxinstall">Install NetBSD/pmax 3.1 from CDROM</a>.
2081  <a href="http://home.tal.org/~milang/o2/patches/vmlinux-2.4.29-rc2-r3k-mipsel-decstation">          (Don't forget to add the extra partition!)
2082  http://home.tal.org/~milang/o2/patches/vmlinux-2.4.29-rc2-r3k-mipsel-decstation</a>    <p>
2083  It should work with framebuffer/keyboard.&nbsp;]    <li>Configure the nfs server machine to act as an nfs server.
2084            Start up the emulated DECstation:<pre>
2085            <b>gxemul -e 3max -d nbsd_pmax.img</b>
2086    </pre>and enter the following commands as <tt>root</tt>
2087            inside the emulator:
2088    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
2089    <b>echo hostname=server &gt;&gt; /etc/rc.conf
2090    echo ifconfig_le0=\"inet 10.0.0.2\" &gt;&gt; /etc/rc.conf
2091    echo nameserver 10.0.0.254 &gt;&gt; /etc/resolv.conf
2092    echo 10.0.0.254 &gt; /etc/mygate
2093    echo /tftpboot -maproot=root 10.0.0.1 &gt; /etc/exports
2094    echo rpcbind=YES &gt;&gt; /etc/rc.conf
2095    echo nfs_server=YES &gt;&gt; /etc/rc.conf
2096    echo mountd=YES &gt;&gt; /etc/rc.conf
2097    echo bootparamd=YES &gt;&gt; /etc/rc.conf
2098    printf "client root=10.0.0.2:/tftpboot \\\n swap=10.0.0.2:/tftpboot/swap\n" &gt; /etc/bootparams
2099    echo "10:20:30:00:00:10 client" &gt; /etc/ethers
2100    echo 10.0.0.1 client &gt; /etc/hosts
2101    reboot</b>
2102    </pre></td></tr></table>
2103      <li>Start the DECstation emulation again, and enter the following
2104            commands to download the OpenBSD/sgi distribution:<br>(NOTE: This
2105            takes quite some time, even if you have a fast network connection.)
2106    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
2107    <b>cd /tftpboot; ftp -i ftp.se.openbsd.org</b>
2108    (log in as anonymous...)
2109    <b>cd pub/OpenBSD/4.0/sgi
2110    mget b*tgz c*tgz e* g* m*
2111    quit
2112    sh
2113    for a in *.tgz; do echo $a; tar zxfp $a; done
2114    echo 10.0.0.2:/tftpboot / nfs rw 0 0 &gt; /tftpboot/etc/fstab
2115    rm *.tgz
2116    dd if=/dev/zero of=swap bs=1024 count=32768
2117    halt</b>
2118    </pre></td></tr></table>
2119      <li>Download the OpenBSD/sgi GENERIC and RAMDISK kernels:<pre>
2120            <a href="ftp://ftp.se.openbsd.org/pub/OpenBSD/4.0/sgi/bsd">ftp://ftp.se.openbsd.org/pub/OpenBSD/4.0/sgi/bsd</a>
2121            <a href="ftp://ftp.se.openbsd.org/pub/OpenBSD/4.0/sgi/bsd.rd">ftp://ftp.se.openbsd.org/pub/OpenBSD/4.0/sgi/bsd.rd</a>
2122    
2123    </pre>
2124      <li>Create a configuration file called <tt>config_client</tt>:
2125    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
2126    <font color="#2020cf">!  Configuration file for running OpenBSD/sgi diskless with
2127    !  a NetBSD/pmax machine as the nfs server.
2128    !
2129    !  This config file is for the client.</font>
2130    
2131    <b>net(
2132            add_remote("localhost:12444")   </b>! the server<b>
2133            local_port(12445)               </b>! the client<b>
2134    )
2135    
2136    machine(
2137            name("client machine")
2138            serial_nr(1)
2139    
2140            type("sgi")
2141            subtype("o2")
2142    
2143            </b>! load("bsd")<b>
2144            load("bsd.rd")
2145    )
2146    </b>
2147    </pre></td></tr></table>
2148            ... and another configuration file for the server,
2149            <tt>config_server</tt>:
2150    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
2151    <b>net(
2152            local_port(12444)               </b>! the server<b>
2153            add_remote("localhost:12445")   </b>! the client<b>
2154    )
2155    
2156    machine(
2157            name("nfs server")
2158            serial_nr(2)
2159    
2160            type("dec")
2161            subtype("5000/200")
2162    
2163            disk("nbsd_pmax.img")
2164    )
2165    </b>
2166    </pre></td></tr></table>
2167      <li>Boot the "<tt>nfs server</tt>" and the OpenBSD/sgi
2168            "<tt>client machine</tt>" as two separate emulator instances:<pre>
2169            in one xterm:
2170            <b>gxemul @config_server</b>
2171    
2172            and then, in another xterm:
2173            <b>gxemul @config_client</b>
2174    
2175    </pre>
2176      <li>In the OpenBSD/sgi window, choose "<tt>s</tt>" (for Shell), and type:
2177    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
2178    <b>ifconfig mec0 10.0.0.1; route add default 10.0.0.254
2179    mount -v 10.0.0.2:/tftpboot /mnt
2180    cd /mnt/dev; ./MAKEDEV all; cd /; umount /mnt
2181    halt</b>
2182    </pre></td></tr></table>
2183            You might want to log in as <tt>root</tt> on the server machine, and
2184            run <tt>tcpdump -lnvv</tt> or similar, to see that what the client
2185            machine actually does on the network. The <tt>MAKEDEV</tt> script
2186            takes almost forever, so be patient.
2187    </ol>
2188    
2189    
2190    <p><font color="#ff0000">NOTE: Everything up to this point should work.
2191    However, the next step (in gray) doesn't actually work:</font>
2192    
2193    <p><font color="#888888">Once everything has been set up correctly, change
2194    <tt>bsd.rd</tt> in <tt>config_client</tt> to just <tt>bsd</tt> (the GENERIC
2195    kernel). It should now be possible to boot OpenBSD/sgi using the NetBSD/pmax
2196    nfs server. (When asked for "<tt>root device :</tt>" on the OpenBSD machine,
2197    enter <tt><b>mec0</b></tt>.)</font>
2198    
2199    <p><font color="#ff0000">But it doesn't work. Probably because GXemul's
2200    implementation of the mec (ethernet card used in the O2) is too much of
2201    a quick hack. For now, use the <tt>bsd.rd</tt> kernel, and (at every
2202    boot) type:</font><pre>
2203            <b>s</b>  (for Shell)
2204            <b>ifconfig mec0 10.0.0.1; route add default 10.0.0.254</b>
2205            <b>mount -v 10.0.0.2:/tftpboot /mnt</b>
2206            <b>cd /mnt; usr/sbin/chroot .</b>
2207            <b>sh etc/rc</b>
2208    </pre>
2209    
2210    <p><font color="#ff0000">This will not cause OpenBSD to be booted
2211    normally, but at least a few basic things will work.
2212    By the way, the emulator performs so poorly, that you will have time to
2213    fetch several cups of coffee for each of the steps above.</font>
2214    
2215    
2216    
2217    
2218    
2219    
# Line 1224  It should work with framebuffer/keyboard Line 2221  It should work with framebuffer/keyboard
2221    
2222    
2223  <p><br>  <p><br>
2224  <a name="mach"></a>  <a name="openbsdarcinstall"></a>
2225  <h3>Running Mach/PMAX in GXemul:</h3>  <h3>OpenBSD/arc:</h3>
2226    
2227  Read the following link if you want to know more about Mach in general:  It is (almost) possible to install and run OpenBSD/arc on an emulated Acer
2228  <a href="http://www-2.cs.cmu.edu/afs/cs/project/mach/public/www/mach.html">  PICA-61 in the emulator.
2229  http://www-2.cs.cmu.edu/afs/cs/project/mach/public/www/mach.html</a>  
2230    <p><font color="#e00000">Earlier, I had this guest OS listed as
2231    officially working in the emulator, but for several reasons, it has
2232    been moved down here to the "informative-but-not-really-working"
2233    section.</font>
2234    
2235  <p>  <p>
2236  <font color="#ff0000">NOTE: Mach for DECstation requires some files  <ul>
2237  (called 'startup' and 'emulator') which I haven't been able to find    <li>The last OpenBSD/arc release was 2.3. This means that it is very
2238  on the web. Without these, Mach will not get very far. These          old, it would not give a fair picture of what OpenBSD is (if you
2239  installation instructions are preliminary.          are just looking to find out what it is like), and it is not
2240  </font>          worth experimenting with it. See
2241            <a href="http://www.openbsd.org/arc.html">http://www.openbsd.org/arc.html</a>
2242            for more information.
2243      <li>OpenBSD/arc was (if I understood things correctly) never really
2244            stable, even on real hardare. Problems with too small an interrupt
2245            stack. Bugs are triggered in the emulator that have to do with
2246            issues such as this.
2247    </ul>
2248    
2249  <p>  <p>
2250  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
2251  <a href="20041018-mach_pmax.png"><img src="20041018-mach_pmax_small.png"></a>  <a href="20041024-openbsd-arc-installed.gif"><img src="20041024-openbsd-arc-installed_small.gif"></a>
2252    
2253  <p>  <p>
2254  The following steps should let you experiment with running Mach  <font color="#e00000">Currently, I don't test for every release whether
2255  for DECstation in the emulator:  or not OpenBSD/arc can be installed. Releases prior to 0.3.7
2256    (but probably <i>not</i> 0.3.7) should work. Anyway, here are the
2257    old installation instructions:</font>
2258    
2259    <p>To install OpenBSD/arc onto an emulated harddisk image, follow these
2260    instructions:
2261    
2262  <p>  <p>
2263  <ol>  <ol>
2264    <li>Compile gxemul with cache emulation: (<b>NOTE: --enable-caches</b>)<pre>    <li>Create an empty harddisk image, which will be the root disk
2265          $ <b>./configure --enable-caches; make</b>          that OpenBSD installs itself onto:<pre>
2266            <b>dd if=/dev/zero of=obsd_arc.img bs=1024 count=1 seek=700000</b>
2267    
2268  </pre>  </pre>
2269    <li>Download the pmax binary distribution for Mach 3.0:<pre>    <li>Download the entire arc directory from the ftp server: (approx. 75 MB)<pre>
2270          <a href="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</a>          <b>wget -np -l 0 -r <a href="ftp://ftp.se.openbsd.org/pub/OpenBSD/2.3/arc/">ftp://ftp.se.openbsd.org/pub/OpenBSD/2.3/arc/</a></b>
         7263343 bytes, md5 = f9d76c240a6e169921a1df99ad560cc0  
2271    
2272  </pre>  </pre>
2273    <li>Extract the Mach kernel:<pre>  
2274          $ <b>tar xfvz pmax.tar.Z pmax_mach/special/mach.boot.MK83.STD+ANY</b>    <li>You now need to make an ISO image of the entire directory you downloaded.
2275            (I recommend using <tt>mkisofs</tt> for that purpose. If you don't
2276            already have <tt>mkisofs</tt> installed on your system, you need
2277            to install it in order to do this.)<pre>
2278            <b>mkisofs -o openbsd_arc_2.3.iso ftp.se.openbsd.org/pub/OpenBSD/</b>
2279    
2280  </pre>  </pre>
2281    <li>Create an empty disk image:<pre>    <li>Start the emulator using this command line:<pre>
2282          $ <b>dd if=/dev/zero of=disk.img bs=1 count=512 seek=400000000</b>          <b>gxemul -e pica -X -d obsd_arc.img -d b:openbsd_arc_2.3.iso -j 2.3/arc/bsd.rd</b>
2283    
2284  </pre>  </pre>
2285    <li>Load the contents of pmax.tar.Z onto the disk image. This is          and proceed like you would do if you were installing OpenBSD
2286          complicated, and should be described in more detail some time.          on a real Acer PICA-61. (Answer 'no' when asked if you want to
2287          For now, use your imagination. (For example using OpenBSD/pmax:          configure networking, and then install from CD-ROM.)
2288          <i>disklabel -E rz1; newfs -O /dev/rz1a;  </ol>
2289          mount /dev/rz1a /mnt; cd /mnt; download pmax.tar.Z using ftp;  
2290          tar xzvf pmax.tar.Z; mv pmax_mach/* .; rmdir pmax_mach;  <p>
2291          mkdir mach_servers;  Once the install has finished, the following command should let you
2292          cd mach_servers;  boot from the harddisk image:
2293          cp ../etc/mach_init .;  <p>
2294          cp ../tests/test_service startup;  <pre>
2295          dd if=/dev/zero of=paging_file bs=65536 count=400;          <b>gxemul -X -e pica -d obsd_arc.img ftp.se.openbsd.org/pub/OpenBSD/2.3/arc/bsd</b>
2296          cd /; sync; umount /mnt</i>)  
2297    </pre>
2298    
2299    The system is very sensitive to (I think) kernel stack overflow, so it
2300    crashes easily. If I remember correctly from mailing lists, this also
2301    happened on real hardware.
2302    
2303    
2304    
2305    
2306    
2307    
2308    
2309    
2310    
2311    
2312    
2313    <p><br>
2314    <a name="debiancats"></a>
2315    <h3>Debian GNU/Linux for CATS:</h3>
2316    
2317    Debian GNU/Linux for CATS (ARM) could <i>theoretically</i> run in GXemul,
2318    however:
2319    
2320    <ul>
2321      <li>The DEC 21143 NIC is not emulated well enough for Linux to accept it.
2322      <li>Development of Debian for CATS seems to have died? The latest
2323            install kernel is quite old.
2324    </ul>
2325    
2326    <p><font color="#ff0000">IT DOES <b>NOT</b> WORK YET!</font>
2327    
2328    <p>The following installation instructions would theoretically work:
2329    
2330    <p>
2331    <ol>
2332      <li>Create an empty harddisk image, which will be the root disk
2333            that Debian installs itself onto:<pre>
2334            <b>dd if=/dev/zero of=debian_cats.img bs=1024 count=1 seek=3300000</b>
2335    
2336    </pre>
2337      <li>Download the tftpboot install kernel:<pre>
2338            <a href="http://ftp.debian.org/debian/dists/oldstable/main/disks-arm/current/cats/tftpboot.img">http://ftp.debian.org/debian/dists/oldstable/main/disks-arm/current/cats/tftpboot.img</a>
2339    
2340    </pre>
2341      <li>Start the installation using the following command line:<pre>
2342            <b>gxemul -XEcats -d debian_cats.img tftpboot.img</b>
2343    
2344    </pre>
2345    </ol>
2346    
2347    <p>It doesn't work, though, because the NIC isn't working well enough.
2348    
2349    <p>The only use of Debian/CATS in the emulator right now is as a way to
2350    manipulate Linux disk images, if you are on a non-Linux host. By choosing
2351    "Execute a shell" in the installer's menu, you can have access to tools such as
2352    fdisk and mke2fs, which are useful for creating Linux paritions on disk images.
2353    
2354    
2355    
2356    
2357    
2358    
2359    
2360    <!--
2361    <p><br>
2362    <a name="linux_malta"></a>
2363    <h3>Linux/Malta:</h3>
2364    
2365    <p>The Malta emulation mode is best suited for running <a
2366    href="#netbsdevbmipsinstall">NetBSD/evbmips</a>, however, it is possible
2367    to experiment with Linux/Malta as well.
2368    
2369    <p>The general idea behind Linux/Malta seems to be that the end user
2370    always compiles his/her own kernel, applies patches, downloads
2371    userland separately, etc. For that reason, Linux/Malta support in the
2372    emulator is not tested for every release (sometimes it works, sometimes it
2373    doesn't work), and these instructions are kind of "fuzzy".
2374    
2375    <p><ol start="1">
2376      <li>Create an empty harddisk image, which will be the root disk
2377            that Linux/Malta will be installed onto:<pre>
2378            <b>dd if=/dev/zero of=linux.img bs=1024 count=1 seek=5000000</b>
2379    
2380    </pre>
2381      <li>Download a MIPS root filesystem tree:<pre>
2382            <a href="ftp://ftp.linux-mips.org/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</a>
2383            19486676 bytes, md5 = 5bcb725c90209479cd7ead8ad0c4a414
2384    
2385    </pre>
2386            This is an old Redhat tree from 2001, but it seems to almost work.
2387      <p>
2388      <li>Download one precompiled Malta kernel, with ramdisk,
2389            and one without ramdisk (which will be used later on
2390            when booting from disk):<pre>
2391            TODO
2392    
2393    </pre>
2394      <li>Start the emulator with the ramdisk kernel, create a MS-DOS style
2395            MBR on the disk, create the filesystem, and extract the
2396            userland files:<pre>
2397            <b>gunzip vmlinux_2.*
2398            gunzip mipsel-root-20011216.tar
2399            gxemul -xemalta -d linux.img -d mipsel-root-20011216.tar vmlinux_2.4.33.2-ide-pci-ramdisk.elf</b>
2400            Inside GXemul: Log in as root and execute the following commands:
2401            <b>fdisk /dev/hda</b>
2402            (enter suitable commands, e.g. <b>n, p, 1, 1, 9921, w</b>)
2403            <b>mkfs /dev/hda1
2404            mount /dev/hda1 /mnt
2405            cd /mnt; tar -xf /dev/hdb; cd ..
2406            umount /mnt; sync; reboot</b>
2407    
2408    </pre>
2409    </ol>
2410    
2411    <p>It should now be possible to boot from the disk image, using the
2412    following command:
2413    
2414    <p><pre>
2415    <b>     gxemul -xemalta -d linux.img -o "root=/dev/hda1 rw" vmlinux_2.6.18-rc4-ide-pci-novty.elf</b>
2416    </pre>
2417    
2418    <p>There's a slight problem with this specific Redhat tree, so when you
2419    see the message "Configuring kernel parameters:  [  OK  ]", press CTRL-C
2420    once.
2421    -->
2422    
2423    
2424    
2425    
2426    
2427    
2428    <p><br>
2429    <a name="linux_qemu_mips"></a>
2430    <h3>Linux/QEMU_MIPS:</h3>
2431    
2432    I've added a machine mode which emulates the MIPS machine mode used
2433    in Fabrice Bellard's <a href="http://www.qemu.com/">QEMU</a>.
2434    Starting with QEMU 0.9.0, there are other MIPS modes in QEMU (i.e. Malta);
2435    the QEMU_MIPS mode in GXemul refers to the old QEMU-specific MIPS machine.
2436    
2437    <p>The following steps should let you boot into the Linux/QEMU_MIPS
2438    kernel, in way similar to the <tt>run-qemu</tt> script:
2439    
2440    <p>
2441    <ol>
2442      <li>Download the archive from
2443            <a href="http://fabrice.bellard.free.fr/qemu/download.html">http://fabrice.bellard.free.fr/qemu/download.html</a> and extract it:<pre>
2444            <b>wget <a href="http://fabrice.bellard.free.fr/qemu/mips-test-0.2.tar.gz">http://fabrice.bellard.free.fr/qemu/mips-test-0.2.tar.gz</a>
2445            tar zxvf mips-test-0.2.tar.gz</b>
2446    
2447    </pre>
2448      <li>Start GXemul using the following command line:<pre>
2449            <b>gxemul -E qemu_mips -x -M 128 -o 'console=ttyS0
2450                    rd_start=0x80800000 rd_size=10000000 init=/bin/sh'
2451                    0x80800000:mips-test/initrd.gz mips-test/vmlinux-2.6.18-3-qemu</b>
2452    
2453    </pre>
2454    </ol>
2455    
2456    
2457    
2458    
2459    
2460    
2461    
2462    
2463    <p><br>
2464    <a name="windows_nt_mips"></a>
2465    <h3>Windows NT/MIPS:</h3>
2466    
2467    Old versions of Windows NT could run on MIPS hardware, e.g.
2468    the PICA 61. It is theoretically possible that the emulation provided by
2469    GXemul some day could be stable/complete enough to emulate
2470    such hardware well enough to fool Windows NT into thinking
2471    that it is running on a real machine.
2472    <font color="#ff0000">IT DOES <b>NOT</b> WORK YET!</font>
2473    
2474    <p>Installation steps similar to these would be required to install
2475    Windows NT onto a disk image:
2476    
2477    <ol>
2478            <li>Put a "Windows NT 4.0 for MIPS" CDROM (or similar) into
2479                    your CDROM drive. (On FreeBSD systems, it is
2480                    usually called <tt>/dev/cd0c</tt> or similar. Change
2481                    that to whatever the CDROM is called on your system,
2482                    or the name of a raw .iso image. I have tried this
2483                    with the Swedish version, but it might work with
2484                    other versions too.)
2485          <p>          <p>
2486    <li>Start the emulator with the following command:<pre>          <li>Create an empty harddisk image, which will be the disk image
2487          $ <b>gxemul -E dec -e 3max -X -d disk.img \                  that you will install Windows NT onto:<pre>
2488              pmax_mach/special/mach.boot.MK83.STD+ANY</b>          <b><tt>dd if=/dev/zero of=winnt_test.img bs=1024 count=1 seek=999000</tt></b>
2489    
2490  </pre>  </pre>
2491            <li>Run the ARC installer, to partition the disk image:<pre>
2492            <b><tt>gxemul -X -e pica -d winnt_test.img -d bc6:/dev/cd0c -j MIPS\\ARCINST</tt></b>
2493    </pre>
2494            Note that <tt>ARCINST</tt> <i>almost</i> works, but not quite.
2495            <p>
2496            <li>Run the SETUP program:<pre>
2497            <b><tt>gxemul -X -e pica -d winnt_test.img -d bc6:/dev/cd0c -j MIPS\\SETUPLDR</tt></b>
2498    </pre>
2499  </ol>  </ol>
2500    
2501    <p><tt>SETUPLDR</tt> manages to load some drivers from the cdrom,
2502    but then it crashes because of incomplete emulation of some hardware devices.
2503    
2504    
2505    
2506    
2507    
2508    
2509    
2510    
2511    <p><br>
2512    <a name="netbsdbeboxinstall"></a>
2513    <h3>NetBSD/bebox:</h3>
2514    
2515    There is an old snapshot of
2516    <a href="http://www.netbsd.org/ports/bebox/">NetBSD/bebox</a>
2517    from 1998-11-19 available at NetBSD's ftp server. NetBSD/bebox
2518    could theoretically run in GXemul.
2519    <font color="#ff0000">IT DOES <b>NOT</b> WORK RIGHT NOW!</font>
2520    
2521    <p>The following instructions will let you install NetBSD/bebox onto a
2522    disk image, using a NetBSD/prep kernel temporarily during the install:
2523    
2524    <p>
2525    <ol>
2526      <li>Download a NetBSD/prep 2.1 install ramdisk kernel:<pre>
2527            <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/prep/binary/kernel/netbsd-INSTALL.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/prep/binary/kernel/netbsd-INSTALL.gz</a>
2528    </pre>
2529      <p>
2530      <li>Create an empty harddisk image, which will be the disk image
2531            that you will install NetBSD onto:<pre>
2532            <b>dd if=/dev/zero of=nbsd_bebox.img bs=1024 count=1 seek=999000</b>
2533    </pre>
2534      <p>
2535      <li>Download the NetBSD/bebox snapshot, and create a suitable .iso
2536            image of the files:
2537    <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
2538    <b>wget -np -l 0 -r <a href="ftp://ftp.netbsd.org/pub/NetBSD/arch/bebox/snapshot/19981119/">ftp://ftp.netbsd.org/pub/NetBSD/arch/bebox/snapshot/19981119/</a>
2539    mv ftp.netbsd.org/pub/NetBSD/arch/bebox/snapshot/19981119/kern.tgz .
2540    tar zxvf kern.tgz
2541    rm -f kern.tgz
2542    mkisofs -o netbsd-bebox-19981119.iso ftp.netbsd.org/pub/NetBSD/arch/bebox/snapshot/19981119</b>
2543    </pre></td></tr></table>
2544      <p>
2545      <li>Now let's extract the files onto the Bebox disk image. Start NetBSD/prep
2546            with the following command line:<pre>
2547            <b>gxemul -x -e ibm6050 -d d:netbsd-bebox-19981119.iso -d nbsd_bebox.img netbsd-INSTALL.gz</b>
2548    
2549    </pre>Choose (S) for Shell, and execute the following commands:
2550    <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
2551    <b>disklabel -I -i wd1
2552    a
2553    4.2BSD
2554    1c
2555    750M
2556    b
2557    swap
2558    a
2559    200M
2560    W
2561    y
2562    Q
2563    newfs /dev/wd1a
2564    mount_cd9660 /dev/wd0c /mnt
2565    mount /dev/wd1a /mnt2
2566    cd mnt2
2567    for a in /mnt/*.tgz; do echo $a; tar zxfp $a; done
2568    cd dev; sh ./MAKEDEV all; cd ../etc
2569    echo rc_configured=YES &gt;&gt; rc.conf
2570    echo "/dev/wd0a / ffs rw 1 1" &gt; fstab
2571    echo "/dev/wd0b none swap sw 0 0" &gt;&gt; fstab
2572    cd /; umount /mnt; umount /mnt2
2573    sync; halt</b>
2574    </pre></td></tr></table>
2575    </ol>
2576    
2577    <p>You should now be able to boot NetBSD/bebox using this command:<pre>
2578            <b>gxemul -X -E bebox -d nbsd_bebox.img netbsd</b>
2579    </pre>
2580    
2581    <p>When asked for the root device, enter <b><tt>wd0a</tt></b>.
2582    
2583    <p><font color="#ff0000">IT DOES <b>NOT</b> WORK YET</font>, there are
2584    errors while uncompressing the tgz files, and the machine crashes when
2585    trying to run /sbin/init.
2586    
2587    
2588    
2589    
2590    
2591    
2592    
2593    
2594    
2595    
2596    <p><br>
2597    <a name="netbsdlandiskinstall"></a>
2598    <h3>NetBSD/landisk:</h3>
2599    
2600    <a href="http://www.netbsd.org/ports/landisk/">NetBSD/landisk</a> can
2601    run in GXemul.
2602    
2603    <p><font color="#ff0000">NOTE: This is still too
2604    unstable to be considered really working! Snapshots from April 2007
2605    or so will probably not work, unless an #if 0 is changed to
2606    #if 1 in the implementation of the 'LDC Rm,SR' instruction
2607    (in src/cpus/cpu_sh_instr.c).</font>
2608    
2609    <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
2610    <a href="20070224-netbsd-landisk.png"><img src="20070224-netbsd-landisk_small.png"></a>
2611    
2612    <p>At the time of writing this, there are not yet any formal releases
2613    of NetBSD/landisk, only daily snapshot builds.
2614    
2615    <p>The NetBSD/landisk distribution does not include any INSTALL kernel,
2616    so it must be installed using another (emulated) machine.
2617    
2618    <p>The following instructions will let you install NetBSD/landisk onto a disk
2619    image, using an emulated CATS machine:
2620    
2621    <p>
2622    <ol>
2623      <li>Download a NetBSD/cats install kernel:<pre>
2624            <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/cats/binary/kernel/netbsd.aout-INSTALL.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.1/cats/binary/kernel/netbsd.aout-INSTALL.gz</a>
2625    </pre>
2626      <p>
2627      <li>Create an empty harddisk image, which will be the disk image
2628            that you will install NetBSD/landisk onto:<pre>
2629            <b>dd if=/dev/zero of=nbsd_landisk.img bs=1024 count=1 seek=900000</b>
2630    
2631    </pre>
2632      <p>
2633      <li>Download the latest netbsd-4 (pre-release) snapshot, and make an iso image
2634            of it: (replace 200704110002Z with whatever is the latest one)<pre>
2635            <b>wget -np -l 0 -r <a href="ftp://ftp.netbsd.org/pub/NetBSD-daily/netbsd-4/">ftp://ftp.netbsd.org/pub/NetBSD-daily/netbsd-4/</a>200704110002Z/landisk
2636            cp ftp.netbsd.org/pub/NetBSD-daily/*/*/landisk/binary/kernel/netbsd-GENERIC.gz .
2637            mkisofs -U -o landisk.iso ftp.netbsd.org/pub/NetBSD-daily/netbsd-4/*</b>
2638    </pre>
2639    
2640      <p>
2641      <li>Start the emulated CATS machine like this:<pre>
2642            <b>gxemul -XEcats -d nbsd_landisk.img -d landisk.iso netbsd.aout-INSTALL.gz</b>
2643    
2644    </pre>
2645      <li>Exit the installer, then execute the following commands:
2646    <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
2647    <b>disklabel -i -I wd0</b>    (for example 'a', '4.2BSD', '1c',
2648        '700M', 'b', 'swap', '701M', '$', 'P', 'W', 'y', and 'Q')
2649    <b>newfs /dev/wd0a
2650    mount /dev/cd0c /mnt
2651    mkdir /mnt2; mount /dev/wd0a /mnt2
2652    cd /mnt2; sh
2653    for a in /mnt/*/binary/sets/[bcekmt]*.tgz; do echo $a; tar zxfp $a; done
2654    exit
2655    cd dev; sh ./MAKEDEV all; cd ../etc
2656    echo rc_configured=YES >> rc.conf
2657    echo "/dev/wd0a / ffs rw 1 1" > fstab
2658    echo "/dev/wd0b none swap sw 0 0" >> fstab
2659    cd /; umount /mnt; umount /mnt2; halt</b>
2660    </pre></td></tr></table>
2661    </ol>
2662    
2663    <p>You should now be able to boot NetBSD/landisk using this command:<pre>
2664            <b>gxemul -x -E landisk -d nbsd_landisk.img netbsd-GENERIC.gz</b>
2665    </pre>
2666    
2667    
2668    

Legend:
Removed from v.6  
changed lines
  Added in v.44

  ViewVC Help
Powered by ViewVC 1.1.26