/[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 22 by dpavlin, Mon Oct 8 16:19:37 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>Gavare's eXperimental Emulator:</b></font><br>
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.124 2006/02/18 21:03:10 debug Exp $
14    
15  Copyright (C) 2003-2005  Anders Gavare.  All rights reserved.  Copyright (C) 2003-2006  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</a>
52    <li><a href="#netbsdarcinstall">Installing NetBSD/arc in GXemul</a>    <li><a href="#netbsdarcinstall">NetBSD/arc</a>
53    <li><a href="#netbsdhpcmipsinstall">Installing NetBSD/hpcmips in GXemul</a>    <li><a href="#netbsdhpcmipsinstall">NetBSD/hpcmips</a>
54    <li><a href="#netbsdcobaltinstall">Installing NetBSD/cobalt in GXemul</a>    <li><a href="#netbsdcobaltinstall">NetBSD/cobalt</a>
55  <!--    <li><a href="#netbsdevbmipsinstall">NetBSD/evbmips</a>
56    <li><a href="#netbsdsgimips">Running NetBSD/sgimips in GXemul</a>    <li><a href="#netbsdsgimips">NetBSD/sgimips</a>
57  -->    <li><a href="#netbsdcatsinstall">NetBSD/cats</a>
58    <li><a href="#openbsdinstall">Installing OpenBSD/pmax in GXemul</a>    <li><a href="#netbsdevbarminstall">NetBSD/evbarm</a>
59    <li><a href="#openbsdarcinstall">Installing OpenBSD/arc in GXemul</a>    <li><a href="#netbsdprepinstall">NetBSD/prep</a>
60  <!--    <li><a href="#openbsdpmaxinstall">OpenBSD/pmax</a>
61    <li><a href="#openbsdsgiinstall">Running OpenBSD/sgi in GXemul</a>    <li><a href="#openbsdcatsinstall">OpenBSD/cats</a>
62  -->    <li><a href="#ultrixinstall">Ultrix/RISC</a>
63    <li><a href="#ultrixinstall">Installing Ultrix/RISC in GXemul</a>    <li><a href="#sprite">Sprite for DECstation</a>
64    <li><a href="#sprite">Running Sprite for DECstation in GXemul</a>    <li><a href="#declinux">Debian GNU/Linux for DECstation</a>
65    <li><a href="#declinux">Installing Debian GNU/Linux for DECstation in GXemul</a>    <li><a href="#declinuxredhat">Redhat Linux for DECstation</a>
66    <li><a href="#declinuxredhat">Running Redhat Linux for DECstation in GXemul</a>  </ul>
67    <li><a href="#mach">Running Mach/PMAX in GXemul</a>  
68    <p>In addition to the "working" guest operating systems listed above,
69    you might find the following information interesting:
70    <ul>
71      <li><a href="#mach">Mach/PMAX</a>
72      <li><a href="#openbsdsgiinstall">OpenBSD/sgi</a>
73      <li><a href="#openbsdarcinstall">OpenBSD/arc</a>
74      <li><a href="#debiancats">Debian GNU/Linux for CATS</a>
75      <li><a href="#netbsdnetwinderinstall">NetBSD/netwinder</a>
76  </ul>  </ul>
77    
78    
# Line 96  system, the harddisk image looks and act Line 102  system, the harddisk image looks and act
102    
103    
104  <p><br>  <p><br>
105  <a name="netbsdinstall"></a>  <a name="netbsdpmaxinstall"></a>
106  <h3>Installing NetBSD/pmax in GXemul:</h3>  <h3>NetBSD/pmax:</h3>
107    
108  <p>  <p>
109  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
110  <a href="20050317-example.png"><img src="20050317-example_small.png"></a>  <a href="20050317-example.png"><img src="20050317-example_small.png"></a>
111    
112  <p>  <p>To install <a href="http://www.netbsd.org/Ports/pmax/">NetBSD/pmax</a>
113  To install NetBSD/pmax onto a harddisk image in the emulator, follow these  onto a harddisk image in the emulator, follow these instructions:
 instructions:  
114    
115  <p>  <p><ol start="1">
 <ol start="1">  
116    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
117          that NetBSD installs itself onto:<pre>          that NetBSD installs itself onto:<pre>
118          $ <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=1 count=512 seek=1900000000</b>
119    
120  </pre>  </pre>
121  </ol>  </ol>
# Line 128  steps: Line 132  steps:
132    <li>Download a NetBSD CD-ROM iso image:<pre>    <li>Download a NetBSD CD-ROM iso image:<pre>
133          <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/1.6.2/pmaxcd.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/1.6.2/pmaxcd.iso</a>
134          or          or
135          <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>          <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/3.0/pmaxcd-3.0.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/3.0/pmaxcd-3.0.iso</a>
136    
137  </pre>  </pre>
138    <li>Start the emulator like this:<pre>    <li>Start the emulator like this:<pre>
139          $ <b>gxemul -X -b -E dec -e 3max -d nbsd_pmax.img -d bc:pmaxcd.iso</b>          <b>gxemul -e 3max -A -d nbsd_pmax.img -d bc:pmaxcd-3.0.iso</b>
140            (or <b>pmaxcd.iso</b>)
141  </pre>  </pre>
142            and proceed like you would do if you were installing NetBSD on a real
143            DECstation. Remember to choose <tt>vt100</tt> as your terminal
144            type, and not <tt>rcons</tt>.
145  </ol>  </ol>
146  <p>  <p>
147  For an ftp install, substitute steps 2 and 3 above with these:  For an ftp install, substitute steps 2 and 3 above with these:
148  <p>  <p>
149  <ol start="2">  <ol start="2">
150    
151    <li>Download a NetBSD pmax INSTALL kernel, and gunzip it:<pre>    <li>Download a NetBSD pmax INSTALL kernel:<pre>
152          <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>          <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>
153          or          or
154          <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>          <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.0/pmax/binary/kernel/netbsd-INSTALL.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.0/pmax/binary/kernel/netbsd-INSTALL.gz</a>
   
         $ <b>gunzip netbsd-INSTALL.gz</b>  
155    
156  </pre>  </pre>
157    <li>Start the emulator like this:<pre>    <li>Start the emulator like this:<pre>
158          $ <b>gxemul -X -b -E dec -e 3max -d nbsd_pmax.img -O netbsd-INSTALL</b>          <b>gxemul -e 3max -A -d nbsd_pmax.img -O netbsd-INSTALL.gz</b>
159  </pre>  </pre>
160  </ol>          and proceed like you would do if you were installing NetBSD on a real
161            DECstation. Remember to choose <tt>vt100</tt> as your terminal
162  <p>          type, and not <tt>rcons</tt>. Suitable networking parameters are as
163  (If you don't want to use a graphical framebuffer during the install,          follows:<pre>
 you can remove <b>-X</b> from the command line, but then make sure you  
 choose 'vt100' when prompted with which terminal type to use, and not  
 '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>  
164          Which device shall I use? [le0]: <b>le0</b>          Which device shall I use? [le0]: <b>le0</b>
165          ..          ..
166          Your DNS domain: <b>mydomain.com</b>          Your DNS domain: <b>mydomain.com</b>
# Line 172  parameters are as follows:<pre> Line 170  parameters are as follows:<pre>
170          IPv4 gateway: <b>10.0.0.254</b>          IPv4 gateway: <b>10.0.0.254</b>
171          IPv4 name server: <b>10.0.0.254</b>          IPv4 name server: <b>10.0.0.254</b>
172  </pre>  </pre>
173            (If using 10.0.0.254 as the nameserver fails, then try entering the
174            IP number of a real-world nameserver instead.)
175    </ol>
176    
177  <p>  <p>If you want to use a graphical framebuffer during the install, you can
178  (If using 10.0.0.254 as the nameserver fails, then try entering the  add <b><tt>-X -Y2</tt></b> to the command line, and choose <tt>rcons</tt>
179  IP number of a real-world nameserver instead.)  instead of <tt>vt100</tt> when prompted with which terminal type to use.
180    (By just using <tt><b>-X</b></tt>, you will get a full-size framebuffer
181    window.)
182    
183  <p>  <p>When the installation is finished, the following command should start
 When the installation is completed, the following command should start  
184  NetBSD from the harddisk image:<pre>  NetBSD from the harddisk image:<pre>
185          $ <b>gxemul -X -b -M64 -E dec -e 3max -d nbsd_pmax.img</b>          <b>gxemul -e 3max -d nbsd_pmax.img</b>
186  </pre>  </pre>
187    
188  <p>  <p><font color="#ff0000">NOTE:</font> For some reason, NetBSD 2.x and 3.x
189  Use <b>startx</b> to start X windows.  do not work with X out-of-the-box on pmax. It seems that this has to do
190    with NetBSD switching console system to "WSCONS" somewhere between 1.6.2
191    and 2.0. For now, if you want X, then try NetBSD 1.6.2.
192    
193  <p>  <p>With NetBSD/pmax 1.6.2, try the following to start with a framebuffer:<pre>
194  <font color="#ff0000">NOTE:</font> For some reason, NetBSD 2.0 doesn't          <b>gxemul -X -e 3max -d nbsd_pmax.img</b>
 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.  
   
 <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>  
195  </pre>  </pre>
196    and log in as <tt>root</tt> and type <tt>startx</tt> to start X windows.
197    
198    
199    
200    
# Line 204  If you want to run without the X framebu Line 204  If you want to run without the X framebu
204    
205  <p><br>  <p><br>
206  <a name="netbsdarcinstall"></a>  <a name="netbsdarcinstall"></a>
207  <h3>Installing NetBSD/arc in GXemul:</h3>  <h3>NetBSD/arc:</h3>
208    
209  It is possible to run NetBSD/arc on an emulated Acer PICA-61 in the emulator.  It is possible to install and run <a
210    href="http://www.netbsd.org/Ports/arc/">NetBSD/arc</a>
211    on an emulated Acer PICA-61 in the emulator.
212    
213  <p>  <p>
214  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# Line 220  follow these instructions: Line 222  follow these instructions:
222  <ol start="1">  <ol start="1">
223    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
224          that NetBSD installs itself onto:<pre>          that NetBSD installs itself onto:<pre>
225          $ <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=900000</b>
226    
227  </pre>  </pre>
228    <li>Download a NetBSD/arc 1.6.2 CDROM image from ftp:<pre>    <li>Download a NetBSD/arc 1.6.2 CDROM image, and a generic NetBSD/arc
229            kernel:<pre>
230          <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>          <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>
231            <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>
232    
233  </pre>  </pre>
234    <li>Start the emulator using this command line:<pre>    <li>Start the emulator using this command line:<pre>
235          $ <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 bc:arccd.iso \
236            -j arc/binary/kernel/netbsd.RAMDISK.gz</b>            -j arc/binary/kernel/netbsd.RAMDISK.gz</b>
237    
238  </pre>  </pre>
# Line 236  follow these instructions: Line 240  follow these instructions:
240      <p>      <p>
241    <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
242          automatic installation program for NetBSD/arc. Here are some tips          automatic installation program for NetBSD/arc. Here are some tips
243          and hints on how you can proceed with the install:<pre>          and hints on how you can proceed with the install:
244          $ <b>mount /dev/cd0a /mnt2</b>  <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
245          $ <b>disklabel -i -I sd0</b>    (for example 'a', '4.2BSD', '1c',  <b>mount /dev/cd0a /mnt2
246              '700M', 'b', 'swap', '701M', '$', 'P', 'W', 'y', and 'Q')  disklabel -i -I sd0</b>    (for example 'a', '4.2BSD', '1c',
247          $ <b>newfs /dev/sd0a</b>      '700M', 'b', 'swap', '701M', '$', 'P', 'W', 'y', and 'Q')
248          $ <b>mount /dev/sd0a /mnt</b>  <b>newfs /dev/sd0a
249          $ <b>cd /mnt</b>  mount /dev/sd0a /mnt
250          $ <b>for a in /mnt2/arc/binary/sets/*.tgz; do echo $a; tar xzpf $a; done</b>  cd /mnt
251          $ <b>cd dev; sh MAKEDEV all</b>  for a in /mnt2/arc/binary/sets/*.tgz; do echo $a; tar xzpf $a; done
252          $ <b>cd ../etc; echo "rc_configured=YES" &gt;&gt; rc.conf</b>  cd dev; sh MAKEDEV all
253          $ <b>cat > /mnt/etc/fstab</b>  cd ../etc; echo "rc_configured=YES" &gt;&gt; rc.conf
254              /dev/sd0a / ffs rw 1 1  cat > /mnt/etc/fstab
255              /dev/sd0b none swap sw 0 0  /dev/sd0a / ffs rw 1 1
256              (ctrl-d)  /dev/sd0b none swap sw 0 0
257          $ <b>cd /; umount /mnt; umount /mnt2</b>  </b>(press ctrl-d)<b>
258          $ <b>halt</b>  <b>cd /; umount /mnt; umount /mnt2
259    halt</b>
260  </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>  
261  </ol>  </ol>
262    
263  <p>  <p>You can now use the generic NetBSD/arc kernel to boot from the harddisk
264  You can now use the generic NetBSD/arc kernel to boot from the harddisk  image, using the following command:<pre>
265  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>  
266    
267  </pre>  </pre>
268    
269    <p>When asked for "<tt>root device: </tt>", enter <b><tt>sd0</tt></b>.
270    
271    
272    
# Line 279  image, using the following command: Line 276  image, using the following command:
276    
277  <p><br>  <p><br>
278  <a name="netbsdhpcmipsinstall"></a>  <a name="netbsdhpcmipsinstall"></a>
279  <h3>Installing NetBSD/hpcmips in GXemul:</h3>  <h3>NetBSD/hpcmips:</h3>
280    
281  It is possible to install NetBSD/hpcmips onto a disk image, on an an  It is possible to install <a
282  emulated MobilePro 770, 780, 800, or 880. The emulator treats the  href="http://www.netbsd.org/Ports/hpcmips/">NetBSD/hpcmips</a> onto a disk
283  different machine models as being almost identical; the most important  image, on an an emulated MobilePro 770, 780, 800, or 880. The emulator
284  difference is regarding the framebuffer.  treats the different machine models as being almost identical; the most
285    important difference is regarding the framebuffer.
286    
287  <p>  <p><table border="0">
 <table border="0">  
288          <tr>          <tr>
289                  <td width="80">&nbsp;</td>                  <td width="80">&nbsp;</td>
290                  <td><u>Model:</u></td>                  <td><u>Model:</u></td>
# Line 348  than the other models, for some reason. Line 345  than the other models, for some reason.
345    
346  <p>  <p>
347  These instructions show an example of how to install  These instructions show an example of how to install
348  NetBSD/hpcmips on an emulated MobilePro 800:  NetBSD/hpcmips on an emulated MobilePro 770:
349    
350  <p>  <p>
351  <ol start="1">  <ol start="1">
352    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
353          that you will install NetBSD/hpcmips onto:<pre>          that you will install NetBSD/hpcmips onto:<pre>
354          $ <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=1990000</b>
355    
356  </pre>  </pre>
357    <li>Download the NetBSD 2.0 for hpcmips ISO image:<pre>    <li>Download the NetBSD/hpcmips 3.0 ISO image, and a generic kernel:<pre>
358          <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.0/">ftp://ftp.netbsd.org/pub/NetBSD/iso/3.0</a>/<a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/3.0/hpcmipscd-3.0.iso">hpcmipscd-3.0.iso</a>
359    
360  </pre>(You may want to choose a mirror closer to you, if .se is slow.)          <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.0/hpcmips/binary/kernel/">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.0/hpcmips/binary/kernel</a>/<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.0/hpcmips/binary/kernel/netbsd-GENERIC.gz">netbsd-GENERIC.gz</a>
361    
362    </pre>
363    <p>    <p>
364    <li>Start the installation like this:<pre>    <li>Start the installation like this:<pre>
365          $ <b>gxemul -E hpc -e mobilepro800 -b -X -d nbsd_hpcmips.img  \          <b>gxemul -e mobilepro770 -X -A -d nbsd_hpcmips.img  \
366            -d b:hpcmipscd.iso -j hpcmips/installation/netbsd.gz</b>            -d b:hpcmipscd-3.0.iso -j hpcmips/installation/netbsd.gz</b>
367    
368  </pre>  </pre>
369          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
370          MobilePro 800. (Install onto wd0, choose "Use entire disk" when          MobilePro 770. (Install onto wd0, choose "Use entire disk" when
371          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.)  
372  </ol>  </ol>
373    
374  <p>  <p>
375  If everything worked, NetBSD should now be installed on the disk image.  If everything worked, NetBSD should now be installed on the disk image.
376  GXemul does not (yet) support reading the kernel directly from the  Use the following command line to boot the emulated hpcmips machine:<pre>
377  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>  
378    
379  </pre>  </pre>
380    
381  <p>  <p>If you change your mind at this point regarding which machine type to
382  Once you have gunziped the generic kernel, you can now use it to boot from  emulate, you might for example prefer a MobilePro 800, then you can change
383  the harddisk image, using the following command:<pre>  that at any time. NetBSD/hpcmips is designed to be able to boot on many
384          $ <b>gxemul -E hpc -e mobilepro800 -b -X -d nbsd_hpcmips.img netbsd-GENERIC</b>  types, without any need to change the kernel.
   
 </pre>  
385    
386  <p>  <p>When you have logged in as <tt>root</tt>, you can use <tt>startx</tt> to
387  When you have logged in as root, you can use <b>startx</b> to start X  start X Windows, but there is no mouse support yet so only keyboard input
388  Windows. (Note: There is no mouse support yet; you can only use  is available. This makes it a bit akward to use X.
 keyboard input.)  
389    
390    
391    
# Line 402  keyboard input.) Line 396  keyboard input.)
396    
397  <p><br>  <p><br>
398  <a name="netbsdcobaltinstall"></a>  <a name="netbsdcobaltinstall"></a>
399  <h3>Installing NetBSD/cobalt in GXemul:</h3>  <h3>NetBSD/cobalt:</h3>
400    
401  <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
402  to install, because the Cobalt machines were designed for Linux, and not  to install, because the Cobalt machines were designed for Linux, and not
# Line 422  image, from an emulated DECstation 3MAX Line 416  image, from an emulated DECstation 3MAX
416  <ol>  <ol>
417    <li>Create an empty harddisk image, which will be the disk image    <li>Create an empty harddisk image, which will be the disk image
418          that you will install NetBSD/cobalt onto:<pre>          that you will install NetBSD/cobalt onto:<pre>
419          $ <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=1999000</b>
420    
421  </pre>  </pre>
422    <li>Download the generic kernel for Cobalt (and gunzip it) and    <li>Download the generic kernel for Cobalt and the 2.1 ISO image:<pre>
423          the 2.0 ISO image:<pre>          <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/cobalt/binary/kernel/netbsd-GENERIC.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/cobalt/binary/kernel/netbsd-GENERIC.gz</a>
424          <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.netbsd.org/pub/NetBSD/iso/2.1/cobaltcd.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/cobaltcd.iso</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>  
425    
426  </pre>(You may want to choose a mirror closer to you, if .se is slow.)  </pre>
427    <p>    <p>
428    <li>Install NetBSD/pmax 2.0 according to instructions further up    <li>Install NetBSD/pmax 3.0 according to instructions
429          on this page.          <a href="#netbsdpmaxinstall">further up on this page</a>.
430    <p>    <p>
431    <li>Start NetBSD/pmax like this:<pre>    <li>Start NetBSD/pmax like this:<pre>
432          $ <b>gxemul -b -Edec -e3max -d nbsd_pmax.img -d cobaltcd.iso -d nbsd_cobalt.img</b>          <b>gxemul -e3max -A -d nbsd_pmax.img -d cobaltcd.iso -d nbsd_cobalt.img</b>
433    
434  </pre>  </pre>
435    <li>Log in as root (on the emulated 3MAX machine), and execute the    <li>Log in as root (on the emulated 3MAX machine), and execute the
436          following commands: (adjust according to taste)<pre>          following commands: (adjust according to taste)
437          # <b>newfs /dev/sd1c</b>  <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
438          # <b>mount /dev/cd0c /mnt</b>  <b>newfs /dev/sd1c
439          # <b>mkdir /mnt2; mount /dev/sd1c /mnt2</b>  mount /dev/cd0c /mnt
440          # <b>cd /mnt2; sh</b>  mkdir /mnt2; mount /dev/sd1c /mnt2
441          # <b>for a in /mnt/cobalt/binary/sets/*.tgz; do echo $a; tar zxfp $a; done</b>  cd /mnt2; sh
442          # <b>exit</b>  for a in /mnt/cobalt/binary/sets/*.tgz; do echo $a; tar zxfp $a; done
443          # <b>cd dev; sh ./MAKEDEV all; cd ../etc</b>  exit
444          # <b>echo rc_configured=YES >> rc.conf</b>  cd dev; sh ./MAKEDEV all; cd ../etc
445          # <b>echo "/dev/wd0d / ffs rw 1 1" > fstab</b>  echo rc_configured=YES &gt;&gt; rc.conf
446          # <b>cd /; umount /mnt; umount /mnt2; halt</b>  echo "/dev/wd0d / ffs rw 1 1" > fstab
447  </pre>  cd /; umount /mnt; umount /mnt2; halt</b>
448    </pre></td></tr></table>
449  </ol>  </ol>
450    
451  <p>  <p>
452  You should now be able to boot NetBSD/cobalt like this:<pre>  You should now be able to boot NetBSD/cobalt like this:<pre>
453          $ <b>gxemul -b -M128 -E cobalt -d nbsd_cobalt.img netbsd-GENERIC</b>          <b>gxemul -M128 -E cobalt -d nbsd_cobalt.img netbsd-GENERIC.gz</b>
454  </pre>  </pre>
455    
456  Note that the installation instructions above create a filesystem  Note that the installation instructions above create a filesystem
# Line 475  generic kernel:<pre> Line 469  generic kernel:<pre>
469    
470    
471    
472  <!--  <p><br>
473    <a name="netbsdevbmipsinstall"></a>
474    <h3>NetBSD/evbmips:</h3>
475    
476    <a href="http://www.netbsd.org/Ports/evbmips/">NetBSD/evbmips</a> can run
477    in GXemul on an emulated Malta evaluation board (with a 5Kc or 4Kc CPU).
478    
479    <p>
480    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
481    <a href="20050622-netbsd-evbmips-malta.png"><img src="20050622-netbsd-evbmips-malta_small.png"></a>
482    
483    <p>It is tricky to install, because there is (as far as I know) no INSTALL
484    kernel. One way to install the NetBSD/evbmips distribution onto a disk
485    image is to install the files using another (emulated) machine.
486    
487    <p>
488    The following instructions will let you install NetBSD/evbmips onto a disk
489    image, from an emulated DECstation 3MAX machine:
490    
491    <p>
492    <ol>
493      <li>Install NetBSD/pmax 3.0 according to instructions
494            <a href="#netbsdpmaxinstall">further up on this page</a>.
495      <p>
496      <li>Create an empty harddisk image, which will be the disk image
497            that you will install NetBSD onto:<pre>
498            <b>dd if=/dev/zero of=nbsd_malta.img bs=1024 count=1 seek=999000</b>
499    
500    </pre>
501      <li>Download the generic kernel and the 2.1 ISO image:<pre>
502            <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/evbmips-mipsel/binary/kernel/netbsd-MALTA.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/evbmips-mipsel/binary/kernel/netbsd-MALTA.gz</a>
503            <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/evbmips-mipselcd.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/evbmips-mipselcd.iso</a>
504    
505    </pre>
506      <p>
507      <li>Start NetBSD/pmax like this:<pre>
508            <b>gxemul -e 3max -A -d nbsd_pmax.img -d nbsd_malta.img -d evbmips-mipselcd.iso</b>
509    
510    </pre>and execute the following commands as <tt>root</tt>:
511    <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
512    <b>newfs /dev/sd1c
513    mount /dev/cd0c /mnt
514    mkdir /mnt2; mount /dev/sd1c /mnt2
515    cd /mnt2; sh
516    for a in /mnt/evbmips-mipsel/binary/sets/*.tgz; do echo $a; tar zxfp $a; done
517    exit
518    cd dev; sh ./MAKEDEV all; cd ../etc
519    echo rc_configured=YES >> rc.conf
520    echo "/dev/wd0c / ffs rw 1 1" > fstab
521    cd /; umount /mnt; umount /mnt2; halt</b>
522    </pre></td></tr></table>
523    </ol>
524    
525    <p>You should now be able to boot NetBSD/evbmips using this command:<pre>
526            <b>gxemul -e malta -d nbsd_malta.img netbsd-MALTA.gz</b>
527    </pre>
528    
529    <p>NOTE: To select a 4Kc (MIPS32) CPU instead of the default 5Kc
530    (MIPS64) CPU, add <tt><b>-C 4Kc</b></tt> to the command line. With NetBSD
531    2.1, however, there will be little or no difference in functionality, as
532    NetBSD still runs in 32-bit mode on 64-bit MIPS CPUs. There are two things
533    that differ:<ol>
534      <li>GXemul's binary translation subsystem might run a bit faster
535            in 32-bit mode (because there are some optimizations that don't
536            work with 64-bit emulation)
537      <li>4Kc only has 16 TLB entries, whereas 5Kc has 48. This makes 4Kc
538            slower.
539    </ol>
540    
541    <p>The installation instructions above create a filesystem
542    <i>without</i> a disklabel, so there is only one ffs partition and no
543    swap. You will need to enter the following things when booting with the
544    generic kernel:<pre>
545            root device (default wd0a): <b>wd0c</b>
546            dump device (default wd0b): <b>none</b>
547            file system (default generic): <b>ffs</b>
548            init path (default /sbin/init):     <i>(just press enter here)</i>
549    </pre>
550    
551    
552    
553    
554    
555    
556    
557  <p><br>  <p><br>
558  <a name="netbsdsgimips"></a>  <a name="netbsdsgimips"></a>
559  <h3>Running NetBSD/sgimips in GXemul:</h3>  <h3>NetBSD/sgimips:</h3>
560    
561    <p>
562    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
563    <a href="20050626-netbsd-sgimips-netboot.png"><img src="20050626-netbsd-sgimips-netboot_small.png"></a>
564    
565  <a href="http://www.netbsd.org/Ports/sgimips/">NetBSD/sgimips</a>  <p><a href="http://www.netbsd.org/Ports/sgimips/">NetBSD/sgimips</a> can run
566  can theoretically run in GXemul on an emulated O2 (SGI-IP32) with root on nfs.  in GXemul on an emulated O2 (SGI-IP32). However, GXemul does not yet
567    emulate the AHC PCI SCSI controller in the O2. (I have mailed Adaptec
568    several times, asking for documentation, but never received any reply.)
569    NetBSD can still run in the emulator, as long as it doesn't use SCSI.
570    
571    <p>For a simple test with the 2.1 ramdisk (install) kernel, try
572    dowloading<pre>
573            <a href="ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-2.1/sgimips/binary/kernel/netbsd-INSTALL32_IP3x.gz">ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-2.1/sgimips/binary/kernel/netbsd-INSTALL32_IP3x.gz</a>
574    
575    </pre>and run&nbsp;&nbsp;<b><tt>gxemul -e o2 netbsd-INSTALL32_IP3x.gz</tt></b>.
576    
577    <p>It is possible to set up an environment for netbooting the emulated SGI
578    machine off of another emulated machine. Performing this setup is quite
579    time consuming, but necessary:
580    
581  <p>  <p>
582  <font color="#ff0000">NOTE: I haven't succeeded with this yet.</font>  <ol>
583      <li>First of all, the "<tt>nfs server</tt>" machine must be set up.
584            This needs to have a 750 MB <tt>/tftpboot</tt> partition.
585            <a href="#netbsdpmaxinstall">Install NetBSD/pmax 3.0 from CDROM</a>.
586            (Don't forget to add the extra partition!)
587      <p>
588      <li>Configure the nfs server machine to act as an nfs server.
589            Start up the emulated DECstation:<pre>
590            <b>gxemul -e 3max -A -d nbsd_pmax.img</b>
591    </pre>and enter the following commands as <tt>root</tt>
592            inside the emulator:
593    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
594    <b>echo hostname=server &gt;&gt; /etc/rc.conf
595    echo ifconfig_le0=\"inet 10.0.0.2\" &gt;&gt; /etc/rc.conf
596    echo nameserver 10.0.0.254 &gt;&gt; /etc/resolv.conf
597    echo 10.0.0.254 &gt; /etc/mygate
598    echo /tftpboot -maproot=root 10.0.0.1 &gt; /etc/exports
599    echo rpcbind=YES &gt;&gt; /etc/rc.conf
600    echo nfs_server=YES &gt;&gt; /etc/rc.conf
601    echo mountd=YES &gt;&gt; /etc/rc.conf
602    echo bootparamd=YES &gt;&gt; /etc/rc.conf
603    printf "client root=10.0.0.2:/tftpboot \\\n swap=10.0.0.2:/tftpboot/swap\n" &gt; /etc/bootparams
604    echo "bootps dgram udp wait root /usr/sbin/bootpd bootpd -d 4 -h 10.0.0.2" &gt;&gt; /etc/inetd.conf
605    cat &gt;&gt; /etc/bootptab
606    client:\
607            :ht=ether:\
608            :ha=102030000010:\
609            :sm=255.0.0.0:\
610            :lg=10.0.0.254:\
611            :ip=10.0.0.1:\
612            :rp=/tftpboot:
613    </b>(press CTRL-D)
614    <b>echo "10:20:30:00:00:10 client" &gt; /etc/ethers
615    echo 10.0.0.1 client &gt; /etc/hosts
616    reboot</b>
617    </pre></td></tr></table>
618      <li>Start the DECstation emulation again, and download the
619            NetBSD/sgimips distribution sets:<br>(NOTE: This
620            takes quite some time, even if you have a fast network connection.)
621    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
622    <b>cd /tftpboot; ftp -i ftp.uk.netbsd.org</b>
623    (log in as anonymous...)
624    <b>cd /pub/NetBSD/NetBSD-2.1/sgimips/binary/sets
625    mget base.tgz comp.tgz etc.tgz games.tgz man.tgz misc.tgz text.tgz
626    quit
627    sh
628    for a in *.tgz; do echo $a; tar zxfp $a; rm -f $a; done
629    echo 10.0.0.2:/tftpboot / nfs rw 0 0 &gt; /tftpboot/etc/fstab
630    echo rc_configured=YES &gt;&gt; /tftpboot/etc/rc.conf
631    dd if=/dev/zero of=swap bs=1024 count=32768
632    halt</b>
633    </pre></td></tr></table>
634      <li>Download the NetBSD/sgimips GENERIC and INSTALL kernels:<pre>
635            <a href="ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-2.1/sgimips/binary/kernel/netbsd-GENERIC32_IP3x.gz">ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-2.1/sgimips/binary/kernel/netbsd-GENERIC32_IP3x.gz</a>
636            <a href="ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-2.1/sgimips/binary/kernel/netbsd-INSTALL32_IP3x.gz">ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-2.1/sgimips/binary/kernel/netbsd-INSTALL32_IP3x.gz</a>
637    
638    </pre>
639      <li>Create a configuration file called <tt>config_client</tt>:
640    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
641    <font color="#2020cf">!!gxemul
642    !
643    !  Configuration file for running NetBSD/sgimips diskless with
644    !  a NetBSD/pmax machine as the nfs server.</font>
645    
646    <b>emul(
647        net(
648            add_remote("localhost:12444")   </b>! the server<b>
649            local_port(12445)               </b>! the client<b>
650        )
651    
652        machine(
653            name("client machine")
654            serial_nr(1)
655    
656            type("sgi")
657            subtype("o2")
658    
659            load("netbsd-INSTALL32_IP3x.gz")</b>
660            ! load("netbsd-GENERIC32_IP3x.gz")<b>
661        )
662    )</b>
663    </pre></td></tr></table>
664            ... and another configuration file for the server,
665            <tt>config_server</tt>:
666    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
667    <font color="#2020cf">!!gxemul</font>
668    <b>emul(
669        net(
670            local_port(12444)               </b>! the server<b>
671            add_remote("localhost:12445")   </b>! the client<b>
672        )
673    
674        machine(
675            name("nfs server")
676            serial_nr(2)
677    
678            type("dec")
679            subtype("5000/200")
680    
681            disk("nbsd_pmax.img")
682        )
683    )</b>
684    </pre></td></tr></table>
685      <li>Boot the "<tt>nfs server</tt>" and the NetBSD/sgimips
686            "<tt>client machine</tt>" as two separate emulator instances:<pre>
687            in one xterm:
688            <b>gxemul @config_server</b>
689    
690            and then, in another xterm:
691            <b>gxemul @config_client</b>
692    
693    </pre>
694      <li>In the NetBSD/sgimips window, choose "<tt>x: Exit Install System</tt>"
695            in the installer's main menu, and then type:<pre>
696            <b>ifconfig mec0 10.0.0.1; route add default 10.0.0.254</b>
697            <b>mount -v 10.0.0.2:/tftpboot /mnt</b>
698            <b>cd /mnt/dev; ./MAKEDEV all; cd /; umount /mnt</b>
699            <b>halt</b>
700    </pre>Then, once the client machine has halted, log in as <tt>root</tt>
701            on the server machine and type <tt><b>reboot</b></tt>.
702      <p>
703      <li>Once everything has been set up correctly, change
704            <tt>netbsd-INSTALL32_IP3x.gz</tt> in <tt>config_client</tt> to
705            <tt>netbsd-GENERIC32_IP3x.gz</tt> (the GENERIC kernel).
706    </ol>
707    
708    <p>You might want to log in as <tt>root</tt> on the server machine, and
709    run <tt>tcpdump -lnvv</tt> or similar, to see that what the client machine
710    actually does on the network.
711    
712    <p>It should now be possible to boot NetBSD/sgimips using the NetBSD/pmax
713    nfs server, using the following commands: (NOTE! Execute these two
714    commands in separate xterms!)<pre>
715            <b>gxemul @config_server</b>
716            <b>gxemul @config_client</b>
717    </pre>
718    
719    <p>When asked for "<tt>root device:</tt>" etc. on the client machine, enter
720    the following values:<pre>
721            root device: <b>mec0</b>
722            dump device:                            <b>(leave blank)</b>
723            file system (default generic):          <b>(leave blank)</b>
724            ..
725            init path (default /sbin/init):         <b>(leave blank)</b>
726            Enter pathname of shell or RETURN for /bin/sh:  <b>(leave blank)</b>
727            Terminal type? [unknown] <b>xterm</b>
728            ..
729            # <b>exit</b>                   (to leave the single-user shell)
730    </pre>
731    
732    <p>Note: Netbooting like this is very slow, so you need a lot of patience.
733    For example, when NetBSD says "<tt>nfs_boot: trying DHCP/BOOTP</tt>",
734    there will be a long pause, even on a very fast host machine. The reason
735    for this is mostly because the emulator doesn't deal with timing issues
736    very well, but also because NetBSD tries IPv6 first, before falling back
737    to IPv4.
738    
739    
740    
741    
742    
743    
744    <p><br>
745    <a name="netbsdcatsinstall"></a>
746    <h3>NetBSD/cats:</h3>
747    
748    It is possible to install and run
749    <a href="http://www.netbsd.org/Ports/cats/">NetBSD/cats</a> in GXemul.
750    
751    <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
752    <a href="20051007-netbsd-cats-installed.png"><img src="20051007-netbsd-cats-installed_small.png"></a>
753    
754  <p>  <p>
755  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.  
756    
757  <p>  <p>
758  TODO...  <ol start="1">
759      <li>Create an empty harddisk image, which will be the root disk
760            that you will install NetBSD/cats onto:<pre>
761            <b>dd if=/dev/zero of=nbsd_cats.img bs=1024 count=1 seek=2000000</b>
762    
763  <pre>  </pre>
764  cd /tftpboot; ftp -i ftp.se.netbsd.org    <li>Download the NetBSD/cats 3.0 ISO image and the generic and install kernels:<pre>
765  ..          <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/3.0/catscd-3.0.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/3.0/catscd-3.0.iso</a>
766  cd pub/NetBSD/NetBSD-2.0/sgimips/binary/sets          <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.0/cats/binary/kernel/netbsd.aout-GENERIC.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.0/cats/binary/kernel/netbsd.aout-GENERIC.gz</a>
767  mget *.tgz          <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.0/cats/binary/kernel/netbsd.aout-INSTALL.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.0/cats/binary/kernel/netbsd.aout-INSTALL.gz</a>
768    
769    </pre>
770      <p>
771      <li>Start the installation like this:<pre>
772            <b>gxemul -XEcats -d nbsd_cats.img -d catscd-3.0.iso netbsd.aout-INSTALL.gz</b>
773    
774    </pre>
775            and proceed like you would do if you were installing NetBSD on a real
776            CATS from CDROM.
777    </ol>
778    
779    <p>Alternatively, to install from FTP, you can skip downloading the ISO,
780    and start the install without <tt>-d catscd-3.0.iso</tt>. Suitable network
781    settings are IP 10.0.0.1, gateway/default route 10.0.0.254, netmask
782    255.0.0.0, nameserver 10.0.0.254.
783    
784    <p>If everything worked, NetBSD should now be installed on the disk image.
785    Use the following command line to boot the emulated CATS machine:<pre>
786            <b>gxemul -XEcats -d nbsd_cats.img netbsd.aout-GENERIC.gz</b>
787    
788    </pre>
789    
790    
791    
792    
793    
794    
795    
796    <p><br>
797    <a name="netbsdevbarminstall"></a>
798    <h3>NetBSD/evbarm:</h3>
799    
800    <a href="http://www.netbsd.org/Ports/evbarm/">NetBSD/evbarm</a> can
801    run in GXemul on an emulated IQ80321 evaluation board.
802    
803    <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
804    <a href="20060218-netbsd-evbarm.png"><img src="20060218-netbsd-evbarm_small.png"></a>
805    
806    <p>It is tricky to install, because there is (as far as I know) no INSTALL
807    kernel. One way to install the NetBSD/evbarm distribution onto a disk
808    image is to install the files using another (emulated) machine.
809    
810    <p>The following instructions will let you install NetBSD/evbarm onto a disk
811    image, from an emulated CATS machine:
812    
813    <p>
814    <ol>
815      <li>Install NetBSD/cats 3.0 according to instructions
816            <a href="#netbsdcatsinstall">further up on this page</a>.
817      <p>
818      <li>Create an empty harddisk image, which will be the disk image
819            that you will install NetBSD onto:<pre>
820            <b>dd if=/dev/zero of=nbsd_iq80321.img bs=1024 count=1 seek=999000</b>
821    
822    </pre>
823      <li>Download an IQ80321 kernel with wdc support, and the 2.1 ISO image:<pre>
824            <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>
825            <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>
826    
827    </pre>
828      <p>
829      <li>The first step is to copy the .tgz files we want onto the CATS
830            machine's harddisk. Start the CATS machine like this:<pre>
831            <b>gxemul -XEcats -d nbsd_cats.img -d evbarmcd.iso netbsd.aout-GENERIC.gz</b>
832    
833    </pre>and execute the following commands as <tt>root</tt>:
834    <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
835    <b>mount /dev/cd0a /mnt; cd /root; cp /mnt/evbarm/binary/sets/[bcegmt]* .
836    sync; halt</b>
837    </pre></td></tr></table>
838      <p>
839      <li>Now let's extract the files onto the IQ80321's disk image. Start the
840            CATS machine again, with the following command line:<pre>
841            <b>gxemul -XEcats -d nbsd_cats.img -d nbsd_iq80321.img netbsd.aout-GENERIC.gz</b>
842    
843    </pre>and execute the following commands as <tt>root</tt>:
844    <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
845    <b>disklabel -I -i wd1</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/wd1a; mount /dev/wd1a /mnt; cd /mnt; sh
849    for a in /root/[bcegmt]*.tgz; do echo $a; tar zxfp $a; done
850  exit  exit
851  sh  cd dev; sh ./MAKEDEV all; cd ../etc
852  for a in etc.tgz base.tgz comp.tgz; do tar zxvfp $a; done  echo rc_configured=YES &gt;&gt; rc.conf
853    echo "/dev/wd0a / ffs rw 1 1" &gt; fstab
854    echo "/dev/wd0b none swap sw 0 0" &gt;&gt; fstab
855    cd /; umount /mnt; sync; halt</b>
856    </pre></td></tr></table>
857    </ol>
858    
859    <p>You should now be able to boot NetBSD/evbarm using this command:<pre>
860            <b>gxemul -xEiq80321 -d nbsd_iq80321.img netbsd-wd0-IQ80321.gz</b>
861  </pre>  </pre>
862    
 -->  
863    
864    
865    
866    
867    
868    <p><br>
869    <a name="netbsdprepinstall"></a>
870    <h3>NetBSD/prep:</h3>
871    
872    It is possible to install and run
873    <a href="http://www.netbsd.org/Ports/prep/">NetBSD/prep</a> in GXemul
874    on an emulated IBM 6050 (PowerPC) machine.
875    
876    <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
877    <a href="20051123-netbsd-prep.png"><img src="20051123-netbsd-prep_small.png"></a>
878    
879    <p>To install NetBSD/prep onto a disk image, follow these instructions:
880    
881    <p>
882    <ol start="1">
883      <li>Create an empty harddisk image, which will be the root disk
884            that you will install NetBSD/prep onto:<pre>
885        <b>dd if=/dev/zero of=nbsd_prep.img bs=1024 count=1 seek=1000000</b>
886    
887    </pre>
888      <li>Download the NetBSD/prep 2.1 ISO image and the generic kernel:<pre>
889        <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>
890        <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>
891    
892    </pre>
893      <p>
894      <li>Start the installation like this:<pre>
895        <b>gxemul -x -e ibm6050 -d nbsd_prep.img -d rdb:prepcd.iso -j prep/binary/kernel/netbsd-INSTALL.gz</b>
896    
897    </pre>
898      <p>
899      <li>Installation is a bit unsmooth, possibly due to bugs in GXemul,
900            possibly due to bugs in NetBSD itself; others have been having
901            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>.
902            Creating an MBR slice and a disklabel with sysinst bugs out, so
903            some things have to be done manually:<p>
904            At "<tt>(I)nstall, (S)hell, or (H)alt</tt>", choose
905                    <tt><b><u>s</u></b></tt>.
906            <br><tt># <b><u>fdisk -u wd0</u></b></tt>
907            <br><tt>Do you want to change our idea of what BIOS thinks? [n]</tt>
908                    (just press <b>ENTER</b>)
909            <br><tt>Which partition do you want to change?: [none] <b><u>0</u></b></tt>
910            <br><tt>sysid: ... </tt> (just press <B>ENTER</b>)
911            <br><tt>start: ... <b><u>1cyl</u></b></tt>
912            <br><tt>size: ... </tt> (just press <B>ENTER</b>)
913            <br><tt>Which partition do you want to change?: [none]</tt> (press <b>ENTER</b>)
914            <br><tt>Should we write new partition table? [n] <b><u>y</u></b></tt>
915            <br><tt># <b><u>disklabel -I -i wd0</u></b></tt>
916            <br><tt>partition&gt; <b><u>a</u></b></tt>
917            <br><tt>Filesystem type [?] [unused]: <b><u>4.2BSD</u></b></tt>
918            <br><tt>Start offset ('x' to start after partition 'x') [0c, 0s, 0M]: <b><u>1c</u></b></tt>
919            <br><tt>Partition size ('$' for all remaining) [0c, 0s, 0M]: <b><u>900M</u></b></tt>
920            <br><tt>partition&gt; <b><u>b</u></b></tt>
921            <br><tt>Filesystem type [?] [unused]: <b><u>swap</u></b></tt>
922            <br><tt>Start offset ('x' to start after partition 'x') [0c, 0s, 0M]: <b><u>a</u></b></tt>
923            <br><tt>Partition size ('$' for all remaining) [0c, 0s, 0M]: <b><u>$</u></b></tt>
924            <br><tt>partition&gt; <b><u>W</u></b></tt>
925            <br><tt>Label disk [n]? <b><u>y</u></b></tt>
926            <br><tt>partition&gt; <b><u>Q</u></b></tt>
927            <br><tt># <b><u>newfs wd0a</u></b></tt>
928            <br><tt># <b><u>sysinst</u></b></tt>
929            <br>Choose to install onto <b>wd0</b>. Choose
930                    "<tt>a: Edit the MBR partition table</tt>"
931                    when presented with that option.
932            <br>Choose the 'a' partition/slice,
933                    set the 'e' ("active") and 'f' ("install") fields to <b>Yes</b>,
934                    and then choose "<tt>x: Partition table OK</tt>".
935            <br>Choose "<tt>b: Use existing partition sizes</tt>" in the next
936                    menu.
937            <br>Select partition 'a' and press ENTER. Set field 'k' (mount point)
938                    to '<tt><b>/</b></tt>'.
939            <br>Get out of the partitioner by selecting
940                    "<tt>x: Partition sizes ok</tt>" twice.
941            <br>At "<tt>Write outside MBR partition? [n]:</tt>", just press
942                    <b>ENTER</b>.
943            <br>Install from CD-ROM, device <b>wd1c</b>.
944    </ol>
945    
946    <p>If everything worked, NetBSD should now be installed on the disk image.
947    Use the following command line to boot the emulated machine:<pre>
948            <b>gxemul -x -e ibm6050 -d nbsd_prep.img netbsd-GENERIC.gz</b>
949    
950    </pre>
951    
952    <p>When asked which the root device is, type <tt><b>wd0</b></tt> and
953    just press ENTER to select the default values for dump device, file
954    system type, and init path.
955    
956    
957    
958    
959    
960    
961  <p><br>  <p><br>
962  <a name="openbsdinstall"></a>  <a name="openbsdpmaxinstall"></a>
963  <h3>Installing OpenBSD/pmax in GXemul:</h3>  <h3>OpenBSD/pmax:</h3>
964    
965  Installing OpenBSD/pmax is a bit harder than installing NetBSD/pmax.  Installing <a href="http://www.openbsd.org/pmax.html">OpenBSD/pmax</a> is
966  You should first read the section above on how to install NetBSD/pmax,  a bit harder than installing NetBSD/pmax. You should first read the <a
967    href="#netbsdpmaxinstall">section above</a> on how to install NetBSD/pmax,
968  before continuing here. If you have never installed OpenBSD on any  before continuing here. If you have never installed OpenBSD on any
969  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
970  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
971  this should be no problem for you.  problem for you.
972    
973  <p>  <p>
974  &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 989  common sense and imagination to modify t
989  <ol>  <ol>
990    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
991          that OpenBSD installs itself onto:<pre>          that OpenBSD installs itself onto:<pre>
992          $ <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>
993    
994  </pre>  </pre>
995    <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>
996          $ <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>
997    
998  </pre>  </pre>
999    
1000    <li>Execute the following commands:<pre>    <li>Execute the following commands:
1001          $ <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>
1002          $ <b>gunzip simpleroot28.fs.gz</b>  <b>mv ftp.se.openbsd.org/pub/OpenBSD/2.8/pmax/simpleroot28.fs.gz .
1003          $ <b>chmod +w simpleroot28.fs</b>               &lt;--- make sure  gunzip simpleroot28.fs.gz
1004    chmod +w simpleroot28.fs</b>            &lt;--- make sure
1005  </pre>  </pre></td></tr></table>
1006    <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.
1007          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
1008          already have <tt>mkisofs</tt> installed on your system, you need          already have <tt>mkisofs</tt> installed on your system, you need
1009          to install it in order to do this.<pre>          to install it in order to do this.)<pre>
1010          $ <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>
1011    
1012  </pre>  </pre>
1013    <li>Start the emulator with all three (!) disk images:<pre>    <li>Start the emulator with all three (!) disk images:<pre>
1014          $ <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 -A -d obsd_pmax.img -d b:simpleroot28.fs -j bsd -d c:openbsd_pmax_2.8.iso</b>
1015    
1016  </pre>  </pre>
1017          (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
1018          framebuffer. This is <i>REALLY</i> slow because the console has to          framebuffer. This is <i>REALLY</i> slow because the console has to
1019          scroll a lot during the install. I don't recommend it.)          scroll a lot during the install. I don't recommend it.)
1020    <p>    <p>
# Line 582  common sense and imagination to modify t Line 1028  common sense and imagination to modify t
1028            <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>.
1029            <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.
1030            <li>At the # prompt, do the following:<pre>            <li>At the # prompt, do the following:<pre>
1031          $ <b>fsck /dev/rz1a</b>        (and mark the filesystem as clean)          <b>fsck /dev/rz1a</b>        (and mark the filesystem as clean)
1032          $ <b>mount /dev/rz1a /</b>          <b>mount /dev/rz1a /</b>
1033          $ <b>mount -t kernfs kern kern</b>          <b>mount -t kernfs kern kern</b>
1034          $ <b>./install</b>          <b>./install</b>
1035    
1036  </pre>  </pre>
1037                  and proceed with the install. Good luck. :-)                  and proceed with the install. Good luck. :-)
# Line 596  common sense and imagination to modify t Line 1042  common sense and imagination to modify t
1042                  the directory containing the install sets.                  the directory containing the install sets.
1043          </ul>          </ul>
1044    <p>    <p>
1045    <li>    <li>For some unknown reason, the install script does not set the root
1046  For some unknown reason, the install script does not set the root          password! The first time you boot up OpenBSD after the install, you
1047  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
1048  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>
1049  the root password, or you will not be able to log in at all!          <b>gxemul -e 3max -A -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>  
1050  </pre>  </pre>
1051  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
1052  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
1053  in the installer, perhaps because of the way I used mkisofs.)  in the installer, perhaps because of the way I used mkisofs.)
1054  <p>  <p>
1055  Execute the following commands in the emulator:  Execute the following commands in the emulator:
1056  <pre>  <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1057          # <b>fsck /dev/rz0a</b>  <b>fsck /dev/rz0a
1058          # <b>mount /</b>  mount /
1059          # <b>passwd root</b>  passwd root
1060    
1061          # <b>cd /; mount -t cd9660 /dev/rz2c /mnt; sh</b>  cd /; mount -t cd9660 /dev/rz2c /mnt; sh
1062          # <b>for a in /mnt/[xX]*; do tar zxvf $a; done</b>  for a in /mnt/[xX]*; do tar zxvf $a; done
1063          # <b>ln -s /usr/X11R6/bin/Xcfbpmax /usr/X11R6/bin/X</b>  ln -s /usr/X11R6/bin/Xcfbpmax /usr/X11R6/bin/X
1064          # <b>ln -s /dev/fb0 /dev/mouse</b>  ln -s /dev/fb0 /dev/mouse
1065          # <b>echo /usr/X11R6/lib >> /etc/ld.so.conf</b>  echo /usr/X11R6/lib &gt;&gt; /etc/ld.so.conf
1066          # <b>ldconfig</b>  ldconfig
1067    
1068          # <b>sync</b>  sync
1069          # <b>halt</b>  halt</b>
1070  </pre>  </pre></td></tr></table>
1071  </ol>  </ol>
1072    
1073  <p>  <p>
# Line 636  root password, and so on. Line 1080  root password, and so on.
1080  Once you have completed the installation procedure, the following command  Once you have completed the installation procedure, the following command
1081  will let you boot from the new rootdisk image:  will let you boot from the new rootdisk image:
1082  <pre>  <pre>
1083          $ <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>
1084  </pre>  </pre>
1085    
1086  <p>  <p>
# Line 654  enter <b><tt>rcons</tt></b> if you are u Line 1098  enter <b><tt>rcons</tt></b> if you are u
1098    
1099    
1100    
 <p><br>  
 <a name="openbsdarcinstall"></a>  
 <h3>Installing OpenBSD/arc in GXemul:</h3>  
1101    
 It is possible to run OpenBSD/arc on an emulated Acer PICA-61 in the  
 emulator.  
1102    
 <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>  
1103    
1104  <p>  <p><br>
1105  (You should be aware of the fact that OpenBSD for the ARC platform died at  <a name="openbsdcatsinstall"></a>
1106  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.)  
1107    
1108  <p>  It is possible to install and run
1109  To install OpenBSD/arc onto an emulated harddisk image, follow these  <a href="http://www.openbsd.org/cats.html">OpenBSD/cats</a>
1110  instructions:  in GXemul.
1111    
1112    <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1113    <a href="20051007-openbsd-cats-installed.png"><img src="20051007-openbsd-cats-installed_small.png"></a>
1114    
1115    <p>To install OpenBSD/cats onto an emulated harddisk image,
1116    follow these instructions:
1117    
1118  <p>  <p>
1119  <ol>  <ol>
1120    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
1121          that OpenBSD installs itself onto:<pre>          that OpenBSD installs itself onto:<pre>
1122          $ <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>
1123    
1124  </pre>  </pre>
1125    <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>
1126          $ <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.openbsd.org/pub/OpenBSD/3.8/cats/">ftp://ftp.openbsd.org/pub/OpenBSD/3.8/cats/</a></b>
1127            <b>cp ftp.openbsd.org/pub/OpenBSD/3.8/cats/bsd .</b>
1128            <b>cp ftp.openbsd.org/pub/OpenBSD/3.8/cats/bsd.rd .</b>
1129    
1130  </pre>  </pre>
1131    
1132    <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.
1133          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
1134          already have <tt>mkisofs</tt> installed on your system, you need          already have <tt>mkisofs</tt> installed on your system, you need
1135          to install it in order to do this.<pre>          to install it in order to do this.)<pre>
1136          $ <b>mkisofs -o openbsd_arc_2.3.iso ftp.se.openbsd.org/pub/OpenBSD/</b>          <b>mkisofs -allow-lowercase -o openbsd_cats_3.8.iso ftp.openbsd.org/pub/OpenBSD/</b>
1137    
1138  </pre>  </pre>
1139    <li>Start the emulator using this command line:<pre>    <li>Start the emulator using this command line:<pre>
1140          $ <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_3.8.iso bsd.rd</b>
1141    
1142  </pre>  </pre>
1143          and proceed like you would do if you were installing OpenBSD          and proceed like you would do if you were installing OpenBSD
1144          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
1145          configure networking, and then install from CD-ROM.)          network, install from CD.)
1146  </ol>  </ol>
1147    
1148  <p>  <p>(Although it <i>is</i> possible to configure the network, IPv4 address
1149  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
1150  boot from the harddisk image:  nameserver 10.0.0.254, the userland NAT-like networking layer is not
1151  <p>  stable enough yet to support a full install via ftp.)
1152  <pre>  
1153          $ <b>gxemul -X -b -E arc -e pica -d obsd_arc.img ftp.se.openbsd.org/pub/OpenBSD/2.3/arc/bsd</b>  <p><b>NOTE:</b> Make sure that you <tt>sync</tt> and <tt>reboot</tt>
1154    correctly once the installation is finished, or the <tt>/dev</tt> nodes
1155  </pre>  may not have been written correctly to disk.
   
   
   
   
   
 <!--  
   
 <p><br>  
 <a name="openbsdsgiinstall"></a>  
 <h3>Running OpenBSD/sgi in GXemul:</h3>  
   
 <a href="http://www.openbsd.org/sgi.html">OpenBSD/sgi</a>  
 can theoretically run in GXemul on an emulated O2 (SGI-IP32) with root on nfs.  
   
 <p>  
 <font color="#ff0000">NOTE: I haven't succeeded with this yet.</font>  
   
 <p>  
 GXemul does not yet emulate the AHC PCI SCSI controller in the O2, so  
 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.  
1156    
1157  <p>  <p>Once the install has finished, the following command should let you
1158  <ol>  boot from the harddisk image:
   <li><a href="#netbsdinstall">Install NetBSD/pmax 2.0 from CDROM</a>  
         (or install some other similar OS) inside the emulator. This will  
         be the "nfs server" machine. Create a 600 MB <tt>/tftpboot</tt>  
         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.)  
1159    
1160          # <b>cd /tftpboot; ftp -i ftp.se.openbsd.org</b>  <p><pre>
1161          ...          <b>gxemul -XEcats -d obsd_cats.img bsd</b>
         <b>cd pub/OpenBSD/3.7/sgi</b>  
         <b>mget *</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>  
1162    
1163  </pre>  </pre>
   <p>  
   <li>Create a configuration file along these lines:<pre>  
         <font color="#2020cf">!!gxemul  
         !  
         !  Configuration file for running OpenBSD/sgi diskless with  
         !  a NetBSD/pmax machine as the nfs server.  
         !  
         !  Change the filenames to suit your setup.</font>  
   
         <b>emul(  
             net()  
   
             machine(  
                 name("client machine")  
                 type("sgi")  
                 subtype("ip32")  
                 bintrans(yes)  
                 load("openbsd-sgi-20050202-bsd")  
                 start_paused(yes)  
             )  
   
             machine(  
                 name("nfs server")  
                 type("dec")  
                 subtype("5000/200")  
                 bintrans(yes)  
                 disk("nbsd_pmax.img")  
             )  
         )</b>  
   
 </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>.  
 </ol>  
1164    
 <p>  
 TODO...  
1165    
 -->  
1166    
1167    
1168    
# Line 828  TODO... Line 1170  TODO...
1170    
1171  <p><br>  <p><br>
1172  <a name="ultrixinstall"></a>  <a name="ultrixinstall"></a>
1173  <h3>Installing Ultrix/RISC in GXemul:</h3>  <h3>Ultrix/RISC:</h3>
1174    
1175  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.
1176    (Ultrix was the native OS for these machines, but NetBSD/pmax is
1177    also usable.)
1178    
1179  <p>  <p>
1180  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# Line 844  The following instructions should let yo Line 1188  The following instructions should let yo
1188  <ol>  <ol>
1189    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
1190          that Ultrix installs itself onto:<pre>          that Ultrix installs itself onto:<pre>
1191          $ <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>
1192    
1193  </pre>  </pre>
1194    <li>Place your Ultrix installation media in your CDROM drive.    <li>Place your Ultrix installation media in your CDROM drive.
1195          (On FreeBSD and similar systems, it is called <tt>/dev/cd0c</tt>.          (On FreeBSD and similar systems, it is called <tt>/dev/cd0c</tt>.
1196          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
1197          .iso image file.) Then, start the emulator like this:<pre>          .iso image file.) Then, start the emulator like this:<pre>
1198          $ <b>gxemul -X -b -M64 -E dec -e 3max -d rootdisk.img -d bc:/dev/cd0c -j vmunix</b>          <b>gxemul -X -A -e 3max -d rootdisk.img -d bc:/dev/cd0c -j vmunix</b>
1199    
1200  </pre>  </pre>
1201    <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 1203  The following instructions should let yo
1203          new rootdisk, to continue the installation process.          new rootdisk, to continue the installation process.
1204          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
1205          diskimage argument:<pre>          diskimage argument:<pre>
1206          $ <b>gxemul -X -b -M64 -E dec -e 3max -d rootdisk.img -d c:/dev/cd0c -j vmunix</b>          <b>gxemul -X -A -e 3max -d rootdisk.img -d c:/dev/cd0c -j vmunix</b>
1207    
1208  </pre>  </pre>
1209  </ol>  </ol>
# Line 867  The following instructions should let yo Line 1211  The following instructions should let yo
1211  <p>  <p>
1212  When the installation is completed, the following command should start    When the installation is completed, the following command should start  
1213  Ultrix from the harddisk image:<pre>  Ultrix from the harddisk image:<pre>
1214          $ <b>gxemul -X -b -M64 -E dec -e 3max -j vmunix -d rootdisk.img</b>          <b>gxemul -X -A -e 3max -j vmunix -d rootdisk.img</b>
1215  </pre>  </pre>
1216    
1217  <p>  <p>Ultrix mostly seems to work with dynamic binary translation (which can
1218  Ultrix mostly seems to work with dynamic binary translation (enabled by  be disabled by the <b><tt>-B</tt></b> command line option). If you have a
1219  the <b><tt>-b</tt></b> command line option). If you have a very fast  very fast host machine, and use bintrans, you might experience a weird
1220  host machine, and use bintrans, you might experience a weird timer related  timer related bug, which makes it impossible to logon to the system. It is
1221  bug, which makes it impossible to logon to the system. It is triggered  triggered when the emulation goes faster than any real DECstation machine
1222  when the emulation goes faster than any real DECstation machine was  was capable of running. A temporary workaround is to add
1223  capable of running. A temporary workaround is to add <b><tt>-I33000000</tt></b>  <b><tt>-I33000000</tt></b> to fix the emulated clock speed to 33 million
1224  to fix the emulated clock speed to 33 million instructions per emulated  instructions per emulated second. (When using <tt><b>-CR4400</b></tt>,
1225  second. (When using <tt><b>-CR4400</b></tt>, <b><tt>-I16000000</tt></b>  <b><tt>-I16000000</tt></b> should be used instead.)
 should be used instead.)  
1226    
1227  <p>  <p>
1228  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
# Line 890  There is also a <b><tt>-z</tt></b> optio Line 1233  There is also a <b><tt>-z</tt></b> optio
1233  displays to use. The following example starts Ultrix on an emulated  displays to use. The following example starts Ultrix on an emulated
1234  tripple-headed workstation, on three different displays (<tt>remote1:0.0</tt>,  tripple-headed workstation, on three different displays (<tt>remote1:0.0</tt>,
1235  <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>
1236          $ <b>gxemul -M64 -bN -E dec -e 3max -jgenvmunix -d rootdisk.img \          <b>gxemul -A -N -e 3max -jgenvmunix -d rootdisk.img \
1237              -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>
1238  </pre>  </pre>
1239    
# Line 931  that file as a disk image file in the em Line 1274  that file as a disk image file in the em
1274    
1275  <p><br>  <p><br>
1276  <a name="sprite"></a>  <a name="sprite"></a>
1277  <h3>Running Sprite for DECstation in GXemul:</h3>  <h3>Sprite for DECstation:</h3>
1278    
1279  Sprite was a research operating system at the University of Berkeley.  Sprite was a research operating system at the University of Berkeley.
1280  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 1294  The following instructions should let yo
1294    
1295  <p>  <p>
1296  <ol>  <ol>
1297    <li>Download the Sprite harddisk image using ftp or http:<pre>    <li>Download the Sprite harddisk image:<pre>
1298          <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>  
1299          83973120 bytes, MD5 = ec84eeeb20fe77b758370d5e312e4a5e          83973120 bytes, MD5 = ec84eeeb20fe77b758370d5e312e4a5e
1300    
1301  </pre>  </pre>
1302    <li>Start the emulator with the following command line:<pre>    <li>Start the emulator with the following command line:<pre>
1303          $ <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>
1304    
1305  </pre>  </pre>
1306  </ol>  </ol>
# Line 970  values, then you should use the followin Line 1312  values, then you should use the followin
1312  <p>  <p>
1313    
1314  <pre>  <pre>
1315      Your machine's Ethernet address:    10:20:30:40:50:60      Your machine's Ethernet address:    10:20:30:00:00:10
1316      Your machine's IP:                  10.0.0.1      Your machine's IP:                  10.0.0.1
1317      Subnet mask:                        0xff000000      Subnet mask:                        0xff000000
1318      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 1320  values, then you should use the followin
1320  </pre>  </pre>
1321    
1322  <p>  <p>
1323  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>,
1324  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:  
1325  <pre>  <pre>
1326      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
1327      a robust Sprite system.  There are several missing things, such as      a robust Sprite system.  There are several missing things, such as
1328      floating point and network support.      floating point and network support.
1329  </pre>  </pre>
1330    
1331  <p>  <p>Once you are logged in as root, running <b><tt>xinit</tt></b> will
1332  Once you are logged in as root, running <b>xinit</b> will start the X11  start the X11 environment.
1333  environment.  
1334    
1335    
1336    
# Line 997  environment. Line 1338  environment.
1338    
1339  <p><br>  <p><br>
1340  <a name="declinux"></a>  <a name="declinux"></a>
1341  <h3>Installing Debian GNU/Linux for DECstation in GXemul:</h3>  <h3>Debian GNU/Linux for DECstation:</h3>
1342    
1343  <font color="#ef0000">NOTE: This is experimental, and <i>extremely</i>  It is possible to run Debian GNU/Linux for DECstation in the emulator,
1344  unstable. During my tests, even pressing the wrong key during the install  on an emulated 5000/200 ("3max"). Although the Debian project has released
1345  (for example the wrong cursor key) can cause a kernel Oops.  install ramdisk kernels for this purpose, these do not always work:
1346  I <i>think</i> this has to do with interrupts from the serial controller.  <ul>
1347  Hopefully using the <tt><b>-U</b></tt> command line option will reduce the    <li>Serial console output doesn't work too well in GXemul. There are
1348  risk for such crashes. (I haven't had time to come up with a clean          random oopses, which may be due to bugs in GXemul, but may
1349  solution to this yet; it feels like a buffer overflow in Linux' serial          also be due to bugs in the serial controller code in Linux.
1350  driver for the 5000/200, but it is also likely that it is a bug in GXemul.)          (The speed at which serial interrupts are generated can be
1351  </font>          lowered with the <tt>-U</tt> command line option, but it only
1352            reduces the risk, it doesn't take away the oopses completely.)
1353      <li>Old install kernels supported the graphical framebuffer on the
1354            3max, but not the keyboard.
1355      <li>For quite some time, the MIPS linux cvs tree had support for the
1356            keyboard, but it did <i>not</i> include Debian's patches for
1357            networking. (Perhaps this has been fixed now, I don't know.)
1358    </ul>
1359    
1360  <p>  <p>David Muse has made available a precompiled install kernel which
1361  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  has support for framebuffer, keyboard, and networking, which works
1362  <a href="20041212-debian_1.png"><img src="20041212-debian_1_small.gif"></a>  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>  
1363    
1364  <p>  <p>
1365  The following steps should let you install Debian GNU/Linux for DECstation  The following steps should let you install Debian GNU/Linux for DECstation
# Line 1027  onto a harddisk image: Line 1369  onto a harddisk image:
1369  <ol>  <ol>
1370    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
1371          that Debian installs itself onto:<pre>          that Debian installs itself onto:<pre>
1372          $ <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=3300000</b>
1373    
1374  </pre>  </pre>
1375    <li>Download an install kernel:<pre>    <li>Download David Muse' install kernel, and a Debian Netinstall CD-ROM:<pre>
1376          <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>
1377              <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/debian-cd/3.1_r0a/mipsel/iso-cd/debian-31r0a-mipsel-netinst.iso">http://cdimage.debian.org/debian-cd/3.1_r0a/mipsel/iso-cd/debian-31r0a-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>  
1378    
1379  </pre>  </pre>
         depending on whether you want to install Debian "Testing" or  
         "Unstable".  
1380    <p>    <p>
1381    <li>For a text-mode installation, start the emulator like this:<pre>    <li>Start the installation like this:<pre>
1382          $ <b>gxemul -E dec -e 3max -b -U -M64 -o 'console=ttyS3' -d debian.img -O boot.img</b>          <b>gxemul -XAe3max -d debian_pmax.img -d debian-31r0a-mipsel-netinst.iso vmlinux-2.4.31</b>
1383    
1384  </pre>  </pre>
1385  </ol>          Everything is <i>really</i> slow, for several reasons (framebuffer is
1386            always slower than serial console, and Debian's install seems to be
1387  <p>          made up of scripts that run a lot slower in the emulator than pure
1388  Debian GNU/Linux on DECstation works reasonably fine with dynamic          C code would).
1389  binary translation, enabled by the <b><tt>-b</tt></b> command line option.          <p>
1390  (Without this option, the emulator might be less buggy, but also too slow          There will be a <font color="#d00000">warning</font> about "Select
1391  to be useful when running Linux as a guest OS.)          keyboard layout". Don't mind this. Continue by selecting "Detect and
1392            mount CD-ROM".
1393  <p>          <p>
1394  (If you want to, you can try <b>-X</b> instead of <b>-o 'console=ttyS3'</b> on          There will also be a <font color="#d00000">warning</font> about lack
1395  the command line. This will cause Linux to use the graphical framebuffer.          of loadable modules. Don't mind this, continue anyway.
1396  Unfortunately, Linux does not seem to have a driver for the DZ11 keyboard          <p>
1397  controller yet, so you cannot interact with the system. You will see the          You need to enter some values during the installation procedure, for
1398  penguin in the upper lefthand corner while booting, and nicely rendered Unicode          example network settings. The following should work:<pre>
1399  characters, but that's about it.)          DHCP:                       No, choose "<b>Configure network manually</b>"
1400            IP address:                 <b>10.0.0.1</b>
1401  <p>          Netmask:                    <b>255.0.0.0</b>
1402  You need to enter some values during the installation procedure, for example          Gateway:                    <b>10.0.0.254</b>
1403  network settings. The following should work:          Name server addresses:      <b>10.0.0.254</b>
 <p>  
 <pre>  
     DHCP:                       No, choose "Configure network manually"  
     IP address:                 10.0.0.1  
     Netmask:                    255.0.0.0  
     Gateway:                    10.0.0.254  
     Name server addresses:      10.0.0.254  
1404  </pre>  </pre>
   
 <p>  
 <ol start="4">  
1405    <li>Once the first phase of the install has finished, the following command    <li>Once the first phase of the install has finished, the following command
1406          should let you boot into Debian, and perform post-install          should let you boot into Debian, and perform post-install
1407          configuration:<pre>          configuration:<pre>
1408          $ <b>gxemul -E dec -e 3max -U -b -M64 -o 'console=ttyS3' -d debian.img</b>          <b>gxemul -XAe3max -o 'root=/dev/sda1' -d debian_pmax.img vmlinux-2.4.31</b>
   
 </pre>  
 </ol>  
   
 <p>  
 It seems that there's a problem with getting a login prompt on serial  
 console (at least when I've done test installs), so when the installation  
 is finished and you're supposed to get a login prompt, you need to press  
 CTRL-C and type <b>quit</b>, and then:  
   
 <p>  
 <ol start="5">  
   <li>Download a normal kernel (<i>not</i> a RAMDISK kernel):<pre>  
         <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://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>  
   
 </pre>  
   <li>Boot Debian using the following command line:<pre>  
         $ <b>gxemul -E dec -e 3max -U -b -M64 -o \  
             'console=ttyS3 root=/dev/sda1 rw init=/bin/sh' \  
             -d debian.img vmlinux-2.4.27-r3k-kn02</b>  
1409    
1410  </pre>  </pre>The post-install step takes quite some time.
         You'll enter single-user mode. You need to add a line to  
         /etc/inittab, to enable logins via serial console.<pre>  
         sh-2.05b# <b>echo 'T3:23:respawn:/sbin/getty -L ttyS3 9600 vt100' >> /etc/inittab</b>  
         sh-2.05b# <b>echo 'ttyS3' >> /etc/securetty</b>  
         sh-2.05b# <b>sync; umount /</b>  
 </pre>  
1411  </ol>  </ol>
1412    
1413  <p>  <p>Debian GNU/Linux for DECstation should now be installed. Use this command
1414  The system should now be ready for everyday use.  to boot from the installed disk image:<pre>
1415            <b>gxemul -XAe3max -o 'root=/dev/sda1' -d debian_pmax.img vmlinux-2.4.31</b>
 <p>  
 Use this command to boot from the completely installed disk image:<pre>  
         $ <b>gxemul -E dec -e 3max -U -b -M64 -o 'console=ttyS3' -d debian.img</b>  
1416    
1417  </pre>  </pre>
1418    
 <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;]  
1419    
1420    
1421    
# Line 1139  example), but at least it doesn't Oops t Line 1424  example), but at least it doesn't Oops t
1424    
1425  <p><br>  <p><br>
1426  <a name="declinuxredhat"></a>  <a name="declinuxredhat"></a>
1427  <h3>Running Redhat Linux for DECstation in GXemul:</h3>  <h3>Redhat Linux for DECstation:</h3>
1428    
 <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>  
1429    
1430  <p>  <p>
1431  &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 1436  The following steps should let you run R
1436    
1437  <p>  <p>
1438  <ol>  <ol>
1439    <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, also with Redhat:<pre>
1440          <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>  
1441    
1442  </pre>  </pre>
1443    <li>Download a root filesystem tree:<pre>    <li>Download a root filesystem tree:<pre>
# Line 1166  The following steps should let you run R Line 1446  The following steps should let you run R
1446          19486676 bytes, md5 = 5bcb725c90209479cd7ead8ad0c4a414          19486676 bytes, md5 = 5bcb725c90209479cd7ead8ad0c4a414
1447    
1448  </pre>  </pre>
1449    <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>
1450          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>
1451          partition table (!), and then one or more ext2 partitions.  
1452          (Use loopback mount, or similar. This is probably easiest to do on a Linux host.)  </pre>
1453          However, in order to actually boot the system you need to modify /etc/fstab.    <li>This is the tricky part: on redhat_mips.img, you need to create an MS-DOS
1454            (!) partition table, and then an ext2 partition. This is what Linux
1455            will then see as /dev/sda1.
1456            <p>On a Linux host, you could use a loopback mount, or similar. Otherwise,
1457            I recommend you run fdisk and mke2fs and untar the archive from within
1458            Debian/DECstation or <a href="#debiancats">Debian/CATS</a> running
1459            inside the emulator. Use your imagination.
1460            <p>
1461            In order to actually boot the system you need to modify /etc/fstab.
1462          Change<pre>          Change<pre>
1463          /dev/root               /               nfs     defaults        1 1          /dev/root               /               nfs     defaults        1 1
1464          #/dev/sdc1              /               ext2    defaults        1 1          #/dev/sdc1              /               ext2    defaults        1 1
# Line 1184  The following steps should let you run R Line 1472  The following steps should let you run R
1472          none                    /dev/pts        devpts  mode=0622       0 0          none                    /dev/pts        devpts  mode=0622       0 0
1473    
1474  </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>  
1475  </ol>  </ol>
1476    
1477  <p>  <p>To boot Redhat linux from the disk image, use the following command line:<pre>
1478  If you need to boot into single user mode, try the following:<pre>          <b>gxemul -XAe3max -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>  
1479    
1480  </pre>  </pre>
1481    If you need to boot into single user mode, change options to
1482    <tt><b>-o "root=/dev/sda1 rw init=/bin/sh"</b></tt>.
1483    
1484    
1485    
1486    
 <p>  
 Redhat Linux on DECstation in R3000 mode should work fine with dynamic binary  
 translation (enabled by the <b>-b</b> command line option).  
1487    
 <p>  
 NOTE: You can add <b>-X</b> and remove <b>console=ttyS3</b> from the command  
 line, if you want to use a graphical framebuffer. Unfortunately, Linux  
 doesn't have support for keyboards on DECstation 5000/200 yet, so you cannot  
 actually interact with the sytem. :-(  
1488    
1489  <p>  
1490  [&nbsp;<font color="#ff0000">UPDATE 2005-01-22:</font>&nbsp;  <p><br>
1491  Read the 2005-01-19 update in the Debian section above, and then, if  <hr>
1492  you do not need ethernet support, try Kaj-Michael Lang's kernel compiled  
 from <a href="http://www.linux-mips.org/">linux-mips</a>' CVS.  
 <a href="http://home.tal.org/~milang/o2/patches/vmlinux-2.4.29-rc2-r3k-mipsel-decstation">  
 http://home.tal.org/~milang/o2/patches/vmlinux-2.4.29-rc2-r3k-mipsel-decstation</a>  
 It should work with framebuffer/keyboard.&nbsp;]  
1493    
1494    
1495    
# Line 1225  It should work with framebuffer/keyboard Line 1498  It should work with framebuffer/keyboard
1498    
1499  <p><br>  <p><br>
1500  <a name="mach"></a>  <a name="mach"></a>
1501  <h3>Running Mach/PMAX in GXemul:</h3>  <h3>Mach/PMAX:</h3>
1502    
1503  Read the following link if you want to know more about Mach in general:  Read the following link if you want to know more about Mach in general:
1504  <a href="http://www-2.cs.cmu.edu/afs/cs/project/mach/public/www/mach.html">  <a href="http://www-2.cs.cmu.edu/afs/cs/project/mach/public/www/mach.html">
# Line 1249  for DECstation in the emulator: Line 1522  for DECstation in the emulator:
1522  <p>  <p>
1523  <ol>  <ol>
1524    <li>Compile gxemul with cache emulation: (<b>NOTE: --enable-caches</b>)<pre>    <li>Compile gxemul with cache emulation: (<b>NOTE: --enable-caches</b>)<pre>
1525          $ <b>./configure --enable-caches; make</b>          <b>./configure --enable-caches; make</b>
1526    
1527  </pre>  </pre>
1528    <li>Download the pmax binary distribution for Mach 3.0:<pre>    <li>Download the pmax binary distribution for Mach 3.0:<pre>
1529          <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>          <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>
1530                <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>
1531          7263343 bytes, md5 = f9d76c240a6e169921a1df99ad560cc0          7263343 bytes, md5 = f9d76c240a6e169921a1df99ad560cc0
1532    
1533  </pre>  </pre>
1534    <li>Extract the Mach kernel:<pre>    <li>Extract the Mach kernel:<pre>
1535          $ <b>tar xfvz pmax.tar.Z pmax_mach/special/mach.boot.MK83.STD+ANY</b>          <b>tar xfvz pmax.tar.Z pmax_mach/special/mach.boot.MK83.STD+ANY</b>
1536    
1537  </pre>  </pre>
1538    <li>Create an empty disk image:<pre>    <li>Create an empty disk image:<pre>
1539          $ <b>dd if=/dev/zero of=disk.img bs=1 count=512 seek=400000000</b>          <b>dd if=/dev/zero of=disk.img bs=1 count=512 seek=400000000</b>
1540    
1541  </pre>  </pre>
1542    <li>Load the contents of pmax.tar.Z onto the disk image. This is    <li>Load the contents of pmax.tar.Z onto the disk image. This is
# Line 1279  for DECstation in the emulator: Line 1553  for DECstation in the emulator:
1553          cd /; sync; umount /mnt</i>)          cd /; sync; umount /mnt</i>)
1554          <p>          <p>
1555    <li>Start the emulator with the following command:<pre>    <li>Start the emulator with the following command:<pre>
1556          $ <b>gxemul -E dec -e 3max -X -d disk.img \          <b>gxemul -e 3max -X -d disk.img \
1557              pmax_mach/special/mach.boot.MK83.STD+ANY</b>              pmax_mach/special/mach.boot.MK83.STD+ANY</b>
1558    
1559  </pre>  </pre>
# Line 1287  for DECstation in the emulator: Line 1561  for DECstation in the emulator:
1561    
1562    
1563    
1564    
1565    
1566    
1567    
1568    <p><br>
1569    <a name="openbsdsgiinstall"></a>
1570    <h3>OpenBSD/sgi:</h3>
1571    
1572    <a href="http://www.openbsd.org/sgi.html">OpenBSD/sgi</a>
1573    can (almost) run in GXemul on an emulated O2 (SGI-IP32) with root on nfs.
1574    
1575    <p>
1576    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1577    <a href="20050617-openbsd-sgi.png"><img src="20050617-openbsd-sgi_small.png"></a>
1578    
1579    <p><font color="#ff0000">NOTE: I haven't succeeded all the way with
1580    this yet, and this shows/triggers many bugs in the emulator, but some of
1581    it works.</font>
1582    
1583    <p>GXemul does not yet emulate the AHC PCI SCSI controller in the O2. (I have
1584    mailed Adaptec several times, asking for documentation, but never received
1585    any reply.) OpenBSD/sgi can still run in the emulator, as long as it doesn't
1586    use SCSI. For a simple test with the ramdisk (install) kernel, try dowloading<pre>
1587            <a href="ftp://ftp.se.openbsd.org/pub/OpenBSD/3.7/sgi/bsd.rd">ftp://ftp.se.openbsd.org/pub/OpenBSD/3.7/sgi/bsd.rd</a>
1588    
1589    </pre>and run <b><tt>gxemul -e o2 bsd.rd</tt></b>.
1590    
1591    <p>It might also be possible to netboot. Another emulated machine must
1592    then be used as the nfs root server, and the emulated O2 machine must boot
1593    as a <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=diskless&amp;manpath=OpenBSD+Current&amp;format=html">diskless</a>
1594    client. Performing this setup is quite time consuming, but necessary:
1595    
1596    <p>
1597    <ol>
1598      <li>First of all, the "<tt>nfs server</tt>" machine must be set up.
1599            This needs to have a 800 MB <tt>/tftpboot</tt> partition.
1600            <a href="#netbsdpmaxinstall">Install NetBSD/pmax 3.0 from CDROM</a>.
1601            (Don't forget to add the extra partition!)
1602      <p>
1603      <li>Configure the nfs server machine to act as an nfs server.
1604            Start up the emulated DECstation:<pre>
1605            <b>gxemul -e 3max -A -d nbsd_pmax.img</b>
1606    </pre>and enter the following commands as <tt>root</tt>
1607            inside the emulator:
1608    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1609    <b>echo hostname=server &gt;&gt; /etc/rc.conf
1610    echo ifconfig_le0=\"inet 10.0.0.2\" &gt;&gt; /etc/rc.conf
1611    echo nameserver 10.0.0.254 &gt;&gt; /etc/resolv.conf
1612    echo 10.0.0.254 &gt; /etc/mygate
1613    echo /tftpboot -maproot=root 10.0.0.1 &gt; /etc/exports
1614    echo rpcbind=YES &gt;&gt; /etc/rc.conf
1615    echo nfs_server=YES &gt;&gt; /etc/rc.conf
1616    echo mountd=YES &gt;&gt; /etc/rc.conf
1617    echo bootparamd=YES &gt;&gt; /etc/rc.conf
1618    printf "client root=10.0.0.2:/tftpboot \\\n swap=10.0.0.2:/tftpboot/swap\n" &gt; /etc/bootparams
1619    echo "10:20:30:00:00:10 client" &gt; /etc/ethers
1620    echo 10.0.0.1 client &gt; /etc/hosts
1621    reboot</b>
1622    </pre></td></tr></table>
1623      <li>Start the DECstation emulation again, and enter the following
1624            commands to download the OpenBSD/sgi distribution:<br>(NOTE: This
1625            takes quite some time, even if you have a fast network connection.)
1626    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1627    <b>cd /tftpboot; ftp -i ftp.se.openbsd.org</b>
1628    (log in as anonymous...)
1629    <b>cd pub/OpenBSD/3.7/sgi
1630    mget b*tgz c* e* g* m*
1631    quit
1632    sh
1633    for a in *.tgz; do echo $a; tar zxfp $a; done
1634    echo 10.0.0.2:/tftpboot / nfs rw 0 0 &gt; /tftpboot/etc/fstab
1635    rm *.tgz
1636    dd if=/dev/zero of=swap bs=1024 count=32768
1637    halt</b>
1638    </pre></td></tr></table>
1639      <li>Download the OpenBSD/sgi GENERIC and RAMDISK kernels:<pre>
1640            <a href="ftp://ftp.se.openbsd.org/pub/OpenBSD/3.7/sgi/bsd">ftp://ftp.se.openbsd.org/pub/OpenBSD/3.7/sgi/bsd</a>
1641            MD5 (bsd) = f16eaf3dcbd51876db7c25f70e6d8a08
1642            <a href="ftp://ftp.se.openbsd.org/pub/OpenBSD/3.7/sgi/bsd.rd">ftp://ftp.se.openbsd.org/pub/OpenBSD/3.7/sgi/bsd.rd</a>
1643            MD5 (bsd.rd) = 4843e6139d8dd04b03d5f0e33e9a4f7b
1644    
1645    </pre>
1646      <li>Create a configuration file called <tt>config_client</tt>:
1647    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1648    <font color="#2020cf">!!gxemul
1649    !
1650    !  Configuration file for running OpenBSD/sgi diskless with
1651    !  a NetBSD/pmax machine as the nfs server.
1652    !
1653    !  This config file is for the client.</font>
1654    
1655    <b>emul(
1656        net(
1657            add_remote("localhost:12444")   </b>! the server<b>
1658            local_port(12445)               </b>! the client<b>
1659        )
1660    
1661        machine(
1662            name("client machine")
1663            serial_nr(1)
1664    
1665            type("sgi")
1666            subtype("o2")
1667    
1668            </b>! load("bsd")<b>
1669            load("bsd.rd")
1670        )
1671    )</b>
1672    </pre></td></tr></table>
1673            ... and another configuration file for the server,
1674            <tt>config_server</tt>:
1675    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1676    <font color="#2020cf">!!gxemul</font>
1677    <b>emul(
1678        net(
1679            local_port(12444)               </b>! the server<b>
1680            add_remote("localhost:12445")   </b>! the client<b>
1681        )
1682    
1683        machine(
1684            name("nfs server")
1685            serial_nr(2)
1686    
1687            type("dec")
1688            subtype("5000/200")
1689    
1690            disk("nbsd_pmax.img")
1691        )
1692    )</b>
1693    </pre></td></tr></table>
1694      <li>Boot the "<tt>nfs server</tt>" and the OpenBSD/sgi
1695            "<tt>client machine</tt>" as two separate emulator instances:<pre>
1696            in one xterm:
1697            <b>gxemul @config_server</b>
1698    
1699            and then, in another xterm:
1700            <b>gxemul @config_client</b>
1701    
1702    </pre>
1703      <li>In the OpenBSD/sgi window, choose "<tt>s</tt>" (for Shell), and type:
1704    <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1705    <b>ifconfig mec0 10.0.0.1; route add default 10.0.0.254
1706    mount -v 10.0.0.2:/tftpboot /mnt
1707    cd /mnt/dev; ./MAKEDEV all; cd /; umount /mnt
1708    halt</b>
1709    </pre></td></tr></table>
1710            You might want to log in as <tt>root</tt> on the server machine, and
1711            run <tt>tcpdump -lnvv</tt> or similar, to see that what the client
1712            machine actually does on the network. The <tt>MAKEDEV</tt> script
1713            takes almost forever, so be patient.
1714    </ol>
1715    
1716    
1717    <p><font color="#ff0000">NOTE: Everything up to this point should work.
1718    However, the next step (in gray) doesn't actually work:</font>
1719    
1720    <p><font color="#888888">Once everything has been set up correctly, change
1721    <tt>bsd.rd</tt> in <tt>config_client</tt> to just <tt>bsd</tt> (the GENERIC
1722    kernel). It should now be possible to boot OpenBSD/sgi using the NetBSD/pmax
1723    nfs server. (When asked for "<tt>root device :</tt>" on the OpenBSD machine,
1724    enter <tt><b>mec0</b></tt>.)</font>
1725    
1726    <p><font color="#ff0000">But it doesn't work. Probably because GXemul's
1727    implementation of the mec (ethernet card used in the O2) is too much of
1728    a quick hack. For now, use the <tt>bsd.rd</tt> kernel, and (at every
1729    boot) type:</font><pre>
1730            <b>s</b>  (for Shell)
1731            <b>ifconfig mec0 10.0.0.1; route add default 10.0.0.254</b>
1732            <b>mount -v 10.0.0.2:/tftpboot /mnt</b>
1733            <b>cd /mnt; usr/sbin/chroot .</b>
1734            <b>sh etc/rc</b>
1735    </pre>
1736    
1737    <p><font color="#ff0000">This will not cause OpenBSD to be booted
1738    normally, but at least a few basic things will work.
1739    By the way, the emulator performs so poorly, that you will have time to
1740    fetch several cups of coffee for each of the steps above.</font>
1741    
1742    
1743    
1744    
1745    
1746    
1747    
1748    
1749    
1750    <p><br>
1751    <a name="openbsdarcinstall"></a>
1752    <h3>OpenBSD/arc:</h3>
1753    
1754    It is (almost) possible to install and run OpenBSD/arc on an emulated Acer
1755    PICA-61 in the emulator.
1756    
1757    <p><font color="#e00000">Earlier, I had this guest OS listed as
1758    officially working in the emulator, but for several reasons, it has
1759    been moved down here to the "informative-but-not-really-working"
1760    section.</font>
1761    
1762    <p>
1763    <ul>
1764      <li>The last OpenBSD/arc release was 2.3. This means that it is very
1765            old, it would not give a fair picture of what OpenBSD is (if you
1766            are just looking to find out what it is like), and it is not
1767            worth experimenting with it. See
1768            <a href="http://www.openbsd.org/arc.html">http://www.openbsd.org/arc.html</a>
1769            for more information.
1770      <li>OpenBSD/arc was (if I understood things correctly) never really
1771            stable, even on real hardare. Problems with too small an interrupt
1772            stack. Bugs are triggered in the emulator that have to do with
1773            issues such as this.
1774    </ul>
1775    
1776    <p>
1777    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1778    <a href="20041024-openbsd-arc-installed.gif"><img src="20041024-openbsd-arc-installed_small.gif"></a>
1779    
1780    <p>
1781    <font color="#e00000">Currently, I don't test for every release whether
1782    or not OpenBSD/arc can be installed. Releases prior to 0.3.7
1783    (but probably <i>not</i> 0.3.7) should work. Anyway, here are the
1784    old installation instructions:</font>
1785    
1786    <p>To install OpenBSD/arc onto an emulated harddisk image, follow these
1787    instructions:
1788    
1789    <p>
1790    <ol>
1791      <li>Create an empty harddisk image, which will be the root disk
1792            that OpenBSD installs itself onto:<pre>
1793            <b>dd if=/dev/zero of=obsd_arc.img bs=1024 count=1 seek=700000</b>
1794    
1795    </pre>
1796      <li>Download the entire arc directory from the ftp server: (approx. 75 MB)<pre>
1797            <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>
1798    
1799    </pre>
1800    
1801      <li>You now need to make an ISO image of the entire directory you downloaded.
1802            (I recommend using <tt>mkisofs</tt> for that purpose. If you don't
1803            already have <tt>mkisofs</tt> installed on your system, you need
1804            to install it in order to do this.)<pre>
1805            <b>mkisofs -o openbsd_arc_2.3.iso ftp.se.openbsd.org/pub/OpenBSD/</b>
1806    
1807    </pre>
1808      <li>Start the emulator using this command line:<pre>
1809            <b>gxemul -e pica -X -A -d obsd_arc.img -d b:openbsd_arc_2.3.iso -j 2.3/arc/bsd.rd</b>
1810    
1811    </pre>
1812            and proceed like you would do if you were installing OpenBSD
1813            on a real Acer PICA-61. (Answer 'no' when asked if you want to
1814            configure networking, and then install from CD-ROM.)
1815    </ol>
1816    
1817    <p>
1818    Once the install has finished, the following command should let you
1819    boot from the harddisk image:
1820    <p>
1821    <pre>
1822            <b>gxemul -X -e pica -d obsd_arc.img ftp.se.openbsd.org/pub/OpenBSD/2.3/arc/bsd</b>
1823    
1824    </pre>
1825    
1826    The system is very sensitive to (I think) kernel stack overflow, so it
1827    crashes easily. If I remember correctly from mailing lists, this also
1828    happened on real hardware.
1829    
1830    
1831    
1832    
1833    
1834    
1835    
1836    
1837    
1838    
1839    
1840    <p><br>
1841    <a name="debiancats"></a>
1842    <h3>Debian GNU/Linux for CATS:</h3>
1843    
1844    Debian GNU/Linux for CATS (ARM) could <i>theoretically</i> run in GXemul,
1845    however:
1846    
1847    <ul>
1848      <li>The DEC 21143 NIC is not emulated well enough for Linux to accept it.
1849      <li>Development of Debian for CATS seems to have died? The latest
1850            install kernel is quite old.
1851    </ul>
1852    
1853    <p><font color="#ff0000">IT DOES <b>NOT</b> WORK YET!</font>
1854    
1855    <p>The following installation instructions would theoretically work:
1856    
1857    <p>
1858    <ol>
1859      <li>Create an empty harddisk image, which will be the root disk
1860            that Debian installs itself onto:<pre>
1861            <b>dd if=/dev/zero of=debian_cats.img bs=1024 count=1 seek=3300000</b>
1862    
1863    </pre>
1864      <li>Download the tftpboot install kernel:<pre>
1865            <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>
1866    
1867    </pre>
1868      <li>Start the installation using the following command line:<pre>
1869            <b>gxemul -XEcats -d debian_cats.img tftpboot.img</b>
1870    
1871    </pre>
1872    </ol>
1873    
1874    <p>It doesn't work, though, because the NIC isn't working well enough.
1875    
1876    <p>The only use of Debian/CATS in the emulator right now is as a way to
1877    manipulate Linux disk images, if you are on a non-Linux host. By choosing
1878    "Execute a shell" in the installer's menu, you can have access to tools such as
1879    fdisk and mke2fs, which are useful for creating Linux paritions on disk images.
1880    
1881    
1882    
1883    
1884    
1885    
1886    
1887    <p><br>
1888    <a name="netbsdnetwinderinstall"></a>
1889    <h3>NetBSD/netwinder:</h3>
1890    
1891    <a href="http://www.netbsd.org/Ports/netwinder/">NetBSD/netwinder</a>
1892    could possibly run in GXemul.
1893    <font color="#ff0000">IT DOES <b>NOT</b> WORK YET!</font>
1894    
1895    <p>It is tricky to install, because there is (as far as I know) no INSTALL
1896    kernel. One way to install the NetBSD/netwinder distribution onto a disk
1897    image is to install the files using another (emulated) machine.
1898    
1899    <p>
1900    The following instructions will let you install the NetBSD/netwinder
1901    distribution onto a disk image, from an emulated DECstation 3MAX machine:
1902    
1903    <p>
1904    <ol>
1905      <li>Install NetBSD/pmax 3.0 according to instructions
1906            <a href="#netbsdpmaxinstall">further up on this page</a>.
1907      <p>
1908      <li>Create an empty harddisk image, which will be the disk image
1909            that you will install NetBSD onto:<pre>
1910            <b>dd if=/dev/zero of=nbsd_netwinder.img bs=1024 count=1 seek=999000</b>
1911    
1912    </pre>
1913      <li>Download the generic kernel and the 2.1 ISO image:<pre>
1914            <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/netwinder/binary/kernel/netbsd-GENERIC.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/netwinder/binary/kernel/netbsd-GENERIC.gz</a>
1915            <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/netwindercd.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/netwindercd.iso</a>
1916    
1917    </pre>
1918      <p>
1919      <li>Start NetBSD/pmax like this:<pre>
1920            <b>gxemul -e 3max -A -d nbsd_pmax.img -d nbsd_netwinder.img -d netwinder.iso</b>
1921    
1922    </pre>and execute the following commands as <tt>root</tt>:
1923    <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1924    <b>newfs /dev/sd1c
1925    mount /dev/cd0c /mnt
1926    mkdir /mnt2; mount /dev/sd1c /mnt2
1927    cd /mnt2; sh
1928    for a in /mnt/netwinder/binary/sets/*.tgz; do echo $a; tar zxfp $a; done
1929    exit
1930    cd dev; sh ./MAKEDEV all; cd ../etc
1931    echo rc_configured=YES >> rc.conf
1932    echo "/dev/wd0c / ffs rw 1 1" > fstab
1933    cd /; umount /mnt; umount /mnt2; halt</b>
1934    </pre></td></tr></table>
1935    </ol>
1936    
1937    <p>NetBSD/netwinder is now installed on the disk image. But actually
1938    running it does <b>not work yet</b>. Sorry.
1939    
1940    <p>Something like the following command line would be used to start
1941    NetBSD, if it worked:<pre>
1942            <b>gxemul -E netwinder -d nbsd_netwinder.img netbsd-GENERIC.gz</b>
1943    </pre>
1944    
1945    <p>Note: The installation instructions above create a filesystem
1946    <i>without</i> a disklabel, so there is only one ffs partition and no
1947    swap. You will need to enter the following things when booting with the
1948    generic kernel:<pre>
1949            root device (default wd0a): <b>wd0c</b>
1950            dump device (default wd0b): <b>none</b>
1951            file system (default generic):    <i>(just press enter)</i>
1952            init path (default /sbin/init):   <i>(just press enter)</i>
1953    </pre>
1954    
1955    
1956    
1957    
1958    
1959    

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

  ViewVC Help
Powered by ViewVC 1.1.26