/[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 10 by dpavlin, Mon Oct 8 16:18:27 2007 UTC revision 28 by dpavlin, Mon Oct 8 16:20:26 2007 UTC
# Line 1  Line 1 
1  <html><head><title>GXemul documentation: Installing and running "guest OSes"</title>  <html><head><title>Gavare's eXperimental Emulator:&nbsp;&nbsp;&nbsp;Installing and running "guest OSes"</title>
2  <meta name="robots" content="noarchive,nofollow,noindex">  <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>
10    
11  <!--  <!--
12    
13  $Id: guestoses.html,v 1.72 2005/06/27 23:04:36 debug Exp $  $Id: guestoses.html,v 1.157 2006/07/22 10:23:39 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 40  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 48  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">NetBSD/pmax</a>    <li><a href="#netbsdpmaxinstall">NetBSD/pmax 3.0 or 1.6.2</a>
52    <li><a href="#netbsdarcinstall">NetBSD/arc</a>    <li><a href="#netbsdarcinstall">NetBSD/arc 1.6.2</a>
53    <li><a href="#netbsdhpcmipsinstall">NetBSD/hpcmips</a>    <li><a href="#netbsdhpcmipsinstall">NetBSD/hpcmips 3.0</a>
54    <li><a href="#netbsdcobaltinstall">NetBSD/cobalt</a>    <li><a href="#netbsdcobaltinstall">NetBSD/cobalt 2.1</a>
55    <li><a href="#netbsdevbmipsinstall">NetBSD/evbmips</a>    <li><a href="#netbsdevbmipsinstall">NetBSD/evbmips 2.1</a>
56    <li><a href="#netbsdsgimips">NetBSD/sgimips</a>    <li><a href="#netbsdsgimips">NetBSD/sgimips 3.0</a>
57    <li><a href="#openbsdinstall">OpenBSD/pmax</a>    <li><a href="#netbsdcatsinstall">NetBSD/cats 3.0</a>
58    <li><a href="#openbsdarcinstall">OpenBSD/arc</a>    <li><a href="#netbsdevbarminstall">NetBSD/evbarm 2.1</a>
59    <li><a href="#ultrixinstall">Ultrix/RISC</a>    <li><a href="#netbsdprepinstall">NetBSD/prep 2.1</a>
60      <li><a href="#openbsdpmaxinstall">OpenBSD/pmax 2.8-BETA</a>
61      <li><a href="#openbsdcatsinstall">OpenBSD/cats 3.9</a>
62      <li><a href="#ultrixinstall">Ultrix/RISC 4.5</a>
63    <li><a href="#sprite">Sprite for DECstation</a>    <li><a href="#sprite">Sprite for DECstation</a>
64    <li><a href="#declinux">Debian GNU/Linux for DECstation</a>    <li><a href="#declinux">Debian GNU/Linux for DECstation</a>
65    <li><a href="#declinuxredhat">Redhat Linux for DECstation</a>    <li><a href="#declinuxredhat">Redhat Linux for DECstation</a>
66  </ul>  </ul>
67    
 <p>In addition to the "working" guest operating systems listed above,  
 you might find the following information interesting:  
 <ul>  
   <li><a href="#mach">Mach/PMAX</a>  
   <li><a href="#openbsdsgiinstall">OpenBSD/sgi</a>  
 </ul>  
   
68    
69    
70    
# Line 79  you might find the following information Line 75  you might find the following information
75  <h3>General notes on running "guest OSes":</h3>  <h3>General notes on running "guest OSes":</h3>
76    
77  The emulator works well enough to run complete operating systems. These  The emulator works well enough to run complete operating systems. These
78  are often refered to as "guest" operating systems.  are often refered to as <i>guest</i> operating systems, in contrast to the
79    <i>host</i> operating system which the emulator is running under.
80    
81  <p>  <p>Although it is possible to let a guest OS access real hardware, such as
82  Although it is possible to let a guest OS access real hardware, such as  harddisks, it is much more flexible and attractive to simulate harddisks
83  harddisks, it is much more flexible and attractive to simulate harddisks  using files residing in the host's filesystem. On Unix-like systems, files
84  using files residing in the host's filesystem. On Unix-like systems, files  may contain holes, which makes this really simple. To the guest operating
 may contain holes, which makes this really simple. To the guest operating  
85  system, the harddisk image looks and acts like a real disk.  system, the harddisk image looks and acts like a real disk.
86    
87    <p>The version numbers of the various operating systems were the latest
88    versions that worked satisfactory with GXemul at the time this page was
89    updated; if new versions have been released since then, they might work as
90    well.
91    
92    <p>In addition to the "working" guest operating systems listed above,
93    you might find the following information interesting: (Some of these might
94    not be relevant for this specific release of GXemul.)
95    
96    <ul>
97      <li><a href="#mach">Mach/PMAX</a>
98      <li><a href="#openbsdsgiinstall">OpenBSD/sgi</a>
99      <li><a href="#openbsdarcinstall">OpenBSD/arc 2.3</a>
100      <li><a href="#debiancats">Debian GNU/Linux for CATS</a>
101      <li><a href="#linux_qemu_mips">Linux/QEMU_MIPS</a>
102      <li><a href="#windows_nt_mips">Windows NT/MIPS</a>
103      <li><a href="#netbsdnetwinderinstall">NetBSD/netwinder 2.1</a>
104      <li><a href="#netbsdmacppcinstall">NetBSD/macppc 3.0</a>
105    </ul>
106    
107    <p>Some operating systems are listed with a version number <i>less</i>
108    than what was available at the time of this GXemul release (e.g.
109    NetBSD/prep). The reasons for this is because of incompleteness in
110    GXemul's machine, device, and/or processor implementations.
111    
112    
113    
# Line 96  system, the harddisk image looks and act Line 116  system, the harddisk image looks and act
116    
117    
118  <p><br>  <p><br>
119  <a name="netbsdinstall"></a>  <a name="netbsdpmaxinstall"></a>
120  <h3>NetBSD/pmax:</h3>  <h3>NetBSD/pmax:</h3>
121    
122  <p>  <p><a href="http://www.netbsd.org/Ports/pmax/">NetBSD/pmax</a> was the
123  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  first guest OS that could be
124    <a href="http://mail-index.netbsd.org/port-pmax/2004/04/18/0000.html">installed</a>
125    onto a disk image in GXemul. The device emulation of the DECstation
126    5000/200 is reasonably complete; it should be enough to emulate a
127    networked X-windows-capable workstation.
128    
129    <p>NetBSD/pmax 1.6.2 works perfectly with X out-of-the-box. Unfortunately,
130    newer NetBSD releases have changed slightly, and nowadays X does not
131    work straight away. (It seems that this has to do with NetBSD switching
132    console system to "WSCONS" somewhere between 1.6.2 and 2.0. I haven't had
133    time to figure out how to make it work; at worst it might require a kernel
134    recompilation.) What this means is that if you want to use emulated X11,
135    then you need to run NetBSD 1.6.2. If you feel that you only need
136    serial-console emulation, then choose the latest NetBSD version available.
137    
138    <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
139  <a href="20050317-example.png"><img src="20050317-example_small.png"></a>  <a href="20050317-example.png"><img src="20050317-example_small.png"></a>
140    
141  <p>To install <a href="http://www.netbsd.org/Ports/pmax/">NetBSD/pmax</a>  <p>To install NetBSD/pmax onto a harddisk image in the emulator,
142  onto a harddisk image in the emulator, follow these instructions:  follow these instructions:
143    
144  <p><ol start="1">  <p><ol start="1">
145    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
146          that NetBSD installs itself onto:<pre>          that NetBSD installs itself onto:<pre>
147          $ <b>dd if=/dev/zero of=nbsd_pmax.img bs=1 count=512 seek=1900000000</b>          <b>dd if=/dev/zero of=nbsd_pmax.img bs=1024 count=1 seek=1900000</b>
148    
149  </pre>  </pre>
150  </ol>  </ol>
# Line 124  steps: Line 159  steps:
159  <ol start="2">  <ol start="2">
160    
161    <li>Download a NetBSD CD-ROM iso image:<pre>    <li>Download a NetBSD CD-ROM iso image:<pre>
162          <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/NetBSD-archive/iso/1.6.2/pmaxcd.iso">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-archive/iso/1.6.2/pmaxcd.iso</a>
163          or          or
164          <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/2.0.2/pmaxcd.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/2.0.2/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>
165    
166  </pre>  </pre>
167    <li>Start the emulator like this:<pre>    <li>Start the emulator like this:<pre>
168          $ <b>gxemul -X -E dec -e 3max -d nbsd_pmax.img -d bc:pmaxcd.iso</b>          <b>gxemul -e 3max -d nbsd_pmax.img -d bc:pmaxcd-3.0.iso</b>
169            (or <b>pmaxcd.iso</b>)
170  </pre>  </pre>
171          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
172          DECstation.          DECstation. Remember to choose <tt>vt100</tt> as your terminal
173            type, and not <tt>rcons</tt>.
174  </ol>  </ol>
175  <p>  <p>
176  For an ftp install, substitute steps 2 and 3 above with these:  For an ftp install, substitute steps 2 and 3 above with these:
# Line 141  For an ftp install, substitute steps 2 a Line 178  For an ftp install, substitute steps 2 a
178  <ol start="2">  <ol start="2">
179    
180    <li>Download a NetBSD pmax INSTALL kernel:<pre>    <li>Download a NetBSD pmax INSTALL kernel:<pre>
181          <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-archive/NetBSD-1.6.2/pmax/binary/kernel/netbsd-INSTALL.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-archive/NetBSD-1.6.2/pmax/binary/kernel/netbsd-INSTALL.gz</a>
182          or          or
183          <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/pmax/binary/kernel/netbsd-INSTALL.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/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>
184    
185  </pre>  </pre>
186    <li>Start the emulator like this:<pre>    <li>Start the emulator like this:<pre>
187          $ <b>gxemul -X -E dec -e 3max -d nbsd_pmax.img -O netbsd-INSTALL.gz</b>          <b>gxemul -e 3max -d nbsd_pmax.img -O netbsd-INSTALL.gz</b>
188  </pre>  </pre>
189          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
190          DECstation. Suitable networking parameters are as follows:<pre>          DECstation. Remember to choose <tt>vt100</tt> as your terminal
191            type, and not <tt>rcons</tt>. Suitable networking parameters are as
192            follows:<pre>
193          Which device shall I use? [le0]: <b>le0</b>          Which device shall I use? [le0]: <b>le0</b>
194          ..          ..
195          Your DNS domain: <b>mydomain.com</b>          Your DNS domain: <b>mydomain.com</b>
# Line 164  For an ftp install, substitute steps 2 a Line 203  For an ftp install, substitute steps 2 a
203          IP number of a real-world nameserver instead.)          IP number of a real-world nameserver instead.)
204  </ol>  </ol>
205    
206  <p>(If you don't want to use a graphical framebuffer during the install,  <p>If you want to use a graphical framebuffer during the install, you can
207  you can remove <b><tt>-X</tt></b> from the command line, but then make sure you  add <b><tt>-X -Y2</tt></b> to the command line, and choose <tt>rcons</tt>
208  choose "<tt>vt100</tt>" when prompted with which terminal type to use, and not  instead of <tt>vt100</tt> when prompted with which terminal type to use.
209  "<tt>rcons</tt>". If you want to use X, but think that the default framebuffer  (By just using <tt><b>-X</b></tt>, you will get a full-size framebuffer
210  window is too large, try adding <tt><b>-Y2</b></tt> to the command line.)  window.)
211    
212  <p>When the installation is completed, the following command should start  <p>When the installation is finished, the following command should start
213  NetBSD from the harddisk image:<pre>  NetBSD from the harddisk image:<pre>
214          $ <b>gxemul -X -M64 -E dec -e 3max -d nbsd_pmax.img</b>          <b>gxemul -e 3max -d nbsd_pmax.img</b>
215  </pre>  </pre>
216    
217  <p>  <p>If you installed NetBSD/pmax 1.6.2, then try the following to start
218  Use <b>startx</b> to start X windows.  with a framebuffer:<pre>
219            <b>gxemul -X -e 3max -d nbsd_pmax.img</b>
 <p>  
 <font color="#ff0000">NOTE:</font> For some reason, NetBSD 2.0.2 doesn't  
 work with X out-of-the-box on pmax. It seems that this has to do with 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 -d nbsd_pmax.img</b>  
220  </pre>  </pre>
221    and log in as <tt>root</tt> and type <tt>startx</tt> to start X windows.
222    
223    
224    
225    
# Line 198  If you want to run without the X framebu Line 231  If you want to run without the X framebu
231  <a name="netbsdarcinstall"></a>  <a name="netbsdarcinstall"></a>
232  <h3>NetBSD/arc:</h3>  <h3>NetBSD/arc:</h3>
233    
234  It is possible to run <a  It is possible to install and run an old version of <a
235  href="http://www.netbsd.org/Ports/arc/">NetBSD/arc</a>  href="http://www.netbsd.org/Ports/arc/">NetBSD/arc</a>
236  on an emulated Acer PICA-61 in the emulator.  on an emulated Acer PICA-61 in the emulator.
237    
# Line 207  on an emulated Acer PICA-61 in the emula Line 240  on an emulated Acer PICA-61 in the emula
240  <a href="20041024-netbsd-arc-installed.gif"><img src="20041024-netbsd-arc-installed_small.gif"></a>  <a href="20041024-netbsd-arc-installed.gif"><img src="20041024-netbsd-arc-installed_small.gif"></a>
241    
242  <p>  <p>
243  To install NetBSD/arc from a CDROM image onto an emulated harddisk image,  To install NetBSD/arc 1.6.2 from a CDROM image onto an emulated
244  follow these instructions:  harddisk image, follow these instructions:
245    
246  <p>  <p>
247  <ol start="1">  <ol start="1">
248    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
249          that NetBSD installs itself onto:<pre>          that NetBSD installs itself onto:<pre>
250          $ <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>
251    
252  </pre>  </pre>
253    <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
254          <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/1.6.2/arccd.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/1.6.2/arccd.iso</a>          kernel:<pre>
255            <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-archive/iso/1.6.2/arccd.iso">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-archive/iso/1.6.2/arccd.iso</a>
256            <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-archive/NetBSD-1.6.2/arc/binary/kernel/netbsd-GENERIC.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-archive/NetBSD-1.6.2/arc/binary/kernel/netbsd-GENERIC.gz</a>
257    
258  </pre>  </pre>
259    <li>Start the emulator using this command line:<pre>    <li>Start the emulator using this command line:<pre>
260          $ <b>gxemul -E arc -e pica -x -d nbsd_arc.img -d bc:arccd.iso \          <b>gxemul -e pica -x -d nbsd_arc.img -d bc:arccd.iso \
261            -j arc/binary/kernel/netbsd.RAMDISK.gz</b>            -j arc/binary/kernel/netbsd.RAMDISK.gz</b>
262    
263  </pre>  </pre>
264          (Try removing <tt>-x</tt> if you have problems with the xterm.)          (Try removing <tt>-x</tt> if you have problems with the xterm.)
265      <p>      <p>
266    <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
267          automatic installation program for NetBSD/arc. Here are some tips          automatic installation program for NetBSD/arc 1.6.2. Here are
268          and hints on how you can proceed with the install:<pre>          some tips and hints on how you can proceed with the install:
269          $ <b>mount /dev/cd0a /mnt2</b>  <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
270          $ <b>disklabel -i -I sd0</b>    (for example 'a', '4.2BSD', '1c',  <b>mount /dev/cd0a /mnt2
271              '700M', 'b', 'swap', '701M', '$', 'P', 'W', 'y', and 'Q')  disklabel -i -I sd0</b>    (for example 'a', '4.2BSD', '1c',
272          $ <b>newfs /dev/sd0a</b>      '700M', 'b', 'swap', '701M', '$', 'P', 'W', 'y', and 'Q')
273          $ <b>mount /dev/sd0a /mnt</b>  <b>newfs /dev/sd0a
274          $ <b>cd /mnt</b>  mount /dev/sd0a /mnt
275          $ <b>for a in /mnt2/arc/binary/sets/*.tgz; do echo $a; tar xzpf $a; done</b>  cd /mnt
276          $ <b>cd dev; sh MAKEDEV all</b>  for a in /mnt2/arc/binary/sets/*.tgz; do echo $a; tar xzpf $a; done
277          $ <b>cd ../etc; echo "rc_configured=YES" &gt;&gt; rc.conf</b>  cd dev; sh MAKEDEV all
278          $ <b>cat > /mnt/etc/fstab</b>  cd ../etc; echo "rc_configured=YES" &gt;&gt; rc.conf
279              /dev/sd0a / ffs rw 1 1  cat > /mnt/etc/fstab
280              /dev/sd0b none swap sw 0 0  /dev/sd0a / ffs rw 1 1
281              (ctrl-d)  /dev/sd0b none swap sw 0 0
282          $ <b>cd /; umount /mnt; umount /mnt2</b>  </b>(press ctrl-d)
283          $ <b>halt</b>  <b>cd /; umount /mnt; umount /mnt2
284    halt</b>
285  </pre>  </pre></td></tr></table>
   <li>Download a generic NetBSD/arc kernel:<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>  
286  </ol>  </ol>
287    
288  <p>You can now use the generic NetBSD/arc kernel to boot from the harddisk  <p>You can now use the generic NetBSD/arc kernel to boot from the harddisk
289  image, using the following command:<pre>  image, using the following command:<pre>
290          $ <b>gxemul -E arc -e pica -x -d nbsd_arc.img netbsd-GENERIC.gz</b>          <b>gxemul -e pica -x -d nbsd_arc.img netbsd-GENERIC.gz</b>
291    
292  </pre>  </pre>
293    
# Line 322  important difference is regarding the fr Line 353  important difference is regarding the fr
353  </table>  </table>
354    
355  <p>  <p>
356  (<super>*</super>) = not aligned at a 4 KB boundary, so it will not work  (<super>*</super>) = not aligned at a page boundary, so it will not work
357  efficiently with the current bintrans system. Using this mode will still  efficiently with the current dyntrans system. Using this mode will still
358  work, but each load and store will be emulated much more slowly than is  work, but each load and store will be emulated much more slowly than is
359  possible with an aligned framebuffer.  possible with an aligned framebuffer.
360    
# Line 339  than the other models, for some reason. Line 370  than the other models, for some reason.
370    
371  <p>  <p>
372  These instructions show an example of how to install  These instructions show an example of how to install
373  NetBSD/hpcmips on an emulated MobilePro 800:  NetBSD/hpcmips on an emulated MobilePro 770:
374    
375  <p>  <p>
376  <ol start="1">  <ol start="1">
377    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
378          that you will install NetBSD/hpcmips onto:<pre>          that you will install NetBSD/hpcmips onto:<pre>
379          $ <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=999000</b>
380    
381  </pre>  </pre>
382    <li>Download the NetBSD 2.0.2 for hpcmips ISO image:<pre>    <li>Download the NetBSD/hpcmips 3.0 ISO image, and a generic kernel:<pre>
383          <a href="ftp://ftp.se.netbsd.org/pub/NetBSD/iso/2.0.2/">ftp://ftp.se.netbsd.org/pub/NetBSD/iso/2.0.2</a>/<a href="ftp://ftp.se.netbsd.org/pub/NetBSD/iso/2.0.2/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>
384    
385  </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>
386    
387    </pre>
388    <p>    <p>
389    <li>Start the installation like this:<pre>    <li>Start the installation like this:<pre>
390          $ <b>gxemul -E hpc -e mobilepro800 -X -d nbsd_hpcmips.img  \          <b>gxemul -e mobilepro770 -X -d nbsd_hpcmips.img  \
391            -d b:hpcmipscd.iso -j hpcmips/installation/netbsd.gz</b>            -d b:hpcmipscd-3.0.iso -j hpcmips/installation/netbsd.gz</b>
392    
393  </pre>  </pre>
394          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
395          MobilePro 800. (Install onto wd0, choose "Use entire disk" when          MobilePro 770. (Install onto wd0, choose "Use entire disk" when
396          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.)  
397  </ol>  </ol>
398    
399  <p>  <p>
400  If everything worked, NetBSD should now be installed on the disk image.  If everything worked, NetBSD should now be installed on the disk image.
401  GXemul does not (yet) support reading the kernel directly from the  Use the following command line to boot the emulated hpcmips machine:<pre>
402  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.2/hpcmips/binary/kernel/">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/hpcmips/binary/kernel</a>/<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/hpcmips/binary/kernel/netbsd-GENERIC.gz">netbsd-GENERIC.gz</a>  
   
 </pre>  
   
 <p>The installation is now complete. Use the following command line to  
 boot the emulated hpcmips machine:<pre>  
         $ <b>gxemul -E hpc -e mobilepro800 -X -d nbsd_hpcmips.img netbsd-GENERIC.gz</b>  
403    
404  </pre>  </pre>
405    
406  <p>If you change your mind at this point regarding which machine type to  <p>If you change your mind at this point regarding which machine type to
407  emulate, you might for example prefer a MobilePro 770, then you can change  emulate, you might for example prefer a MobilePro 800, then you can change
408  that at any time. NetBSD is designed to be able to boot on many types,  that at any time. NetBSD/hpcmips is designed to be able to boot on many
409  without any need to change the kernel.  types, without any need to change the kernel.
410    
411  <p>When you have logged in as root, you can use <b><tt>startx</tt></b> to  <p>When you have logged in as <tt>root</tt>, you can use <tt>startx</tt> to
412  start X Windows. (Note: There is no mouse support yet; you can only use  start X Windows, but there is no mouse support yet so only keyboard input
413  keyboard input.)  is available. This makes it a bit akward to use X.
414    
415    
416    
# Line 400  keyboard input.) Line 425  keyboard input.)
425    
426  <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
427  to install, because the Cobalt machines were designed for Linux, and not  to install, because the Cobalt machines were designed for Linux, and not
428  very flexible. There is no INSTALL kernel for NetBSD/cobalt. One way to  very flexible. There is no traditional INSTALL kernel for NetBSD/cobalt.
429  install the NetBSD/cobalt distribution onto a disk image is to do it from  One way to install the NetBSD/cobalt distribution onto a disk image is to
430  another (emulated) machine.  do it from another (emulated) machine.
431    
432  <p>  <p>
433  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# Line 416  image, from an emulated DECstation 3MAX Line 441  image, from an emulated DECstation 3MAX
441  <ol>  <ol>
442    <li>Create an empty harddisk image, which will be the disk image    <li>Create an empty harddisk image, which will be the disk image
443          that you will install NetBSD/cobalt onto:<pre>          that you will install NetBSD/cobalt onto:<pre>
444          $ <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=999000</b>
445    
446  </pre>  </pre>
447    <li>Download the generic kernel for Cobalt and the 2.0.2 ISO image:<pre>    <li>Download the generic kernel for Cobalt and the 2.1 ISO image:<pre>
448          <a href="ftp://ftp.se.netbsd.org/pub/NetBSD/NetBSD-2.0.2/cobalt/binary/kernel/netbsd-GENERIC.gz">ftp://ftp.se.netbsd.org/pub/NetBSD/NetBSD-2.0.2/cobalt/binary/kernel/netbsd-GENERIC.gz</a>          <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>
449          <a href="ftp://ftp.se.netbsd.org/pub/NetBSD/iso/2.0.2/cobaltcd.iso">ftp://ftp.se.netbsd.org/pub/NetBSD/iso/2.0.2/cobaltcd.iso</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>
450    
451  </pre>(You may want to choose a mirror closer to you, if .se is slow.)  </pre>
452    <p>    <p>
453    <li>Install NetBSD/pmax 2.0.2 according to instructions    <li>Install NetBSD/pmax 3.0 according to instructions
454          <a href="#netbsdinstall">further up on this page</a>.          <a href="#netbsdpmaxinstall">further up on this page</a>.
455    <p>    <p>
456    <li>Start NetBSD/pmax like this:<pre>    <li>Start NetBSD/pmax like this:<pre>
457          $ <b>gxemul -Edec -e3max -d nbsd_pmax.img -d cobaltcd.iso -d nbsd_cobalt.img</b>          <b>gxemul -e3max -d nbsd_pmax.img -d cobaltcd.iso -d nbsd_cobalt.img</b>
458    
459  </pre>  </pre>
460    <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
461          following commands: (adjust according to taste)<pre>          following commands: (adjust according to taste)
462          <b>newfs /dev/sd1c</b>  <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
463          <b>mount /dev/cd0c /mnt</b>  <b>newfs /dev/sd1c
464          <b>mkdir /mnt2; mount /dev/sd1c /mnt2</b>  mount /dev/cd0c /mnt
465          <b>cd /mnt2; sh</b>  mkdir /mnt2; mount /dev/sd1c /mnt2
466          <b>for a in /mnt/cobalt/binary/sets/*.tgz; do echo $a; tar zxfp $a; done</b>  cd /mnt2; sh
467          <b>exit</b>  for a in /mnt/cobalt/binary/sets/*.tgz; do echo $a; tar zxfp $a; done
468          <b>cd dev; sh ./MAKEDEV all; cd ../etc</b>  exit
469          <b>echo rc_configured=YES >> rc.conf</b>  cd dev; sh ./MAKEDEV all; cd ../etc
470          <b>echo "/dev/wd0d / ffs rw 1 1" > fstab</b>  echo rc_configured=YES &gt;&gt; rc.conf
471          <b>cd /; umount /mnt; umount /mnt2; halt</b>  echo "/dev/wd0d / ffs rw 1 1" > fstab
472  </pre>  cd /; umount /mnt; umount /mnt2; halt</b>
473    </pre></td></tr></table>
474  </ol>  </ol>
475    
476  <p>  <p>
477  You should now be able to boot NetBSD/cobalt like this:<pre>  You should now be able to boot NetBSD/cobalt like this:<pre>
478          $ <b>gxemul -M128 -E cobalt -d nbsd_cobalt.img netbsd-GENERIC.gz</b>          <b>gxemul -M128 -E cobalt -d nbsd_cobalt.img netbsd-GENERIC.gz</b>
479  </pre>  </pre>
480    
481  Note that the installation instructions above create a filesystem  Note that the installation instructions above create a filesystem
# Line 472  generic kernel:<pre> Line 498  generic kernel:<pre>
498  <a name="netbsdevbmipsinstall"></a>  <a name="netbsdevbmipsinstall"></a>
499  <h3>NetBSD/evbmips:</h3>  <h3>NetBSD/evbmips:</h3>
500    
501  <a href="http://www.netbsd.org/Ports/evbmips/">NetBSD/evbmips</a> can run  <a href="http://www.netbsd.org/Ports/evbmips/">NetBSD/evbmips</a> can run
502  in GXemul on an emulated Malta evaluation board (with a 5Kc or 4Kc CPU).  in GXemul on an emulated Malta evaluation board, with a 5Kc (MIPS64) or
503    4Kc (MIPS32) processor. 5Kc is the default.
504    
505  <p>  <p>
506  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# Line 481  in GXemul on an emulated Malta evaluatio Line 508  in GXemul on an emulated Malta evaluatio
508    
509  <p>It is tricky to install, because there is (as far as I know) no INSTALL  <p>It is tricky to install, because there is (as far as I know) no INSTALL
510  kernel. One way to install the NetBSD/evbmips distribution onto a disk  kernel. One way to install the NetBSD/evbmips distribution onto a disk
511  image is to install the files is to do it using another (emulated)  image is to install the files using another (emulated) machine.
 machine.  
512    
513  <p>  <p>
514  The following instructions will let you install NetBSD/evbmips onto a disk  The following instructions will let you install NetBSD/evbmips onto a disk
# Line 490  image, from an emulated DECstation 3MAX Line 516  image, from an emulated DECstation 3MAX
516    
517  <p>  <p>
518  <ol>  <ol>
519      <li>Install NetBSD/pmax 3.0 according to instructions
520            <a href="#netbsdpmaxinstall">further up on this page</a>.
521      <p>
522    <li>Create an empty harddisk image, which will be the disk image    <li>Create an empty harddisk image, which will be the disk image
523          that you will install NetBSD onto:<pre>          that you will install NetBSD onto:<pre>
524          $ <b>dd if=/dev/zero of=nbsd_malta.img bs=1024 count=1 seek=999000</b>          <b>dd if=/dev/zero of=nbsd_malta.img bs=1024 count=1 seek=999000</b>
525    
526  </pre>  </pre>
527    <li>Download the generic kernel and the 2.0.2 ISO image:<pre>    <li>Download the generic kernel and the 2.1 ISO image:<pre>
528          <a href="ftp://ftp.se.netbsd.org/pub/NetBSD/NetBSD-2.0.2/evbmips-mipsel/binary/kernel/netbsd-MALTA.gz">ftp://ftp.se.netbsd.org/pub/NetBSD/NetBSD-2.0.2/evbmips-mipsel/binary/kernel/netbsd-MALTA.gz</a>          <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>
529          <a href="ftp://ftp.se.netbsd.org/pub/NetBSD/iso/2.0.2/evbmips-mipselcd.iso">ftp://ftp.se.netbsd.org/pub/NetBSD/iso/2.0.2/evbmips-mipselcd.iso</a>          <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>
530    
531  </pre>(You may want to choose a mirror closer to you, if .se is slow.)  </pre>
   <p>  
   <li>Install NetBSD/pmax 2.0.2 according to instructions  
         <a href="#netbsdinstall">further up on this page</a>.  
532    <p>    <p>
533    <li>Start NetBSD/pmax like this:<pre>    <li>Start NetBSD/pmax like this:<pre>
534          $ <b>gxemul -Edec -e3max -d nbsd_pmax.img -d nbsd_malta.img -d evbmips-mipselcd.iso</b>          <b>gxemul -e 3max -d nbsd_pmax.img -d nbsd_malta.img -d evbmips-mipselcd.iso</b>
535    
536  </pre>  </pre>and execute the following commands as <tt>root</tt>:
537    <li>Log in as root (on the emulated 3MAX machine), and execute the  <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
538          following commands: (adjust according to taste)<pre>  <b>newfs /dev/sd1c
539          <b>newfs /dev/sd1c</b>  mount /dev/cd0c /mnt
540          <b>mount /dev/cd0c /mnt</b>  mkdir /mnt2; mount /dev/sd1c /mnt2
541          <b>mkdir /mnt2; mount /dev/sd1c /mnt2</b>  cd /mnt2; sh
542          <b>cd /mnt2; sh</b>  for a in /mnt/evbmips-mipsel/binary/sets/*.tgz; do echo $a; tar zxfp $a; done
543          <b>for a in /mnt/evbmips-mipsel/binary/sets/*.tgz; do echo $a; tar zxfp $a; done</b>  exit
544          <b>exit</b>  cd dev; sh ./MAKEDEV all; cd ../etc
545          <b>cd dev; sh ./MAKEDEV all; cd ../etc</b>  echo rc_configured=YES >> rc.conf
546          <b>echo rc_configured=YES >> rc.conf</b>  echo "/dev/wd0c / ffs rw 1 1" > fstab
547          <b>echo "/dev/wd0c / ffs rw 1 1" > fstab</b>  cd /; umount /mnt; umount /mnt2; halt</b>
548          <b>cd /; umount /mnt; umount /mnt2; halt</b>  </pre></td></tr></table>
 </pre>  
549  </ol>  </ol>
550    
551  <p>You should now be able to boot NetBSD/evbmips like this:<pre>  <p>You should now be able to boot NetBSD/evbmips using this command:<pre>
552          $ <b>gxemul -Eevbmips -emalta -d nbsd_malta.img netbsd-MALTA.gz</b>          <b>gxemul -e malta -d nbsd_malta.img netbsd-MALTA.gz</b>
553  </pre>  </pre>
554    
555  <p>Note 1: NetBSD detects a very fast CPU although the emulation isn't  <p>NOTE: To select a 4Kc (MIPS32) CPU instead of the default 5Kc
 really very fast, so delays take very long. Even on a multi-GHz host, you  
 will need a lot of patience.  
   
 <p>Note 2: To select a 4Kc (MIPS32) CPU instead of the default 5Kc  
556  (MIPS64) CPU, add <tt><b>-C 4Kc</b></tt> to the command line. With NetBSD  (MIPS64) CPU, add <tt><b>-C 4Kc</b></tt> to the command line. With NetBSD
557  2.0.2, however, there will be little or no difference in functionality.  2.1, however, there will be little or no difference in functionality, as
558  (NetBSD still runs in 32-bit mode on 64-bit MIPS CPUs.)  NetBSD still runs in 32-bit mode on 64-bit MIPS CPUs. There are two things
559    that differ:<ol>
560      <li>The dynamic translation core runs faster when emulating 32-bit
561            processors, so <tt><b>-C 4Kc</b></tt> might make things go faster.
562      <li>4Kc only has 16 TLB entries, whereas 5Kc has 48. This makes 4Kc
563            emulation slower in general, because there are more TLB misses.
564    </ol>
565    
566  <p>Note 3: The installation instructions above create a filesystem  <p>The installation instructions above create a filesystem
567  <i>without</i> a disklabel, so there is only one ffs partition and no  <i>without</i> a disklabel, so there is only one ffs partition and no
568  swap. You will need to enter the following things when booting with the  swap. You will need to enter the following things when booting with the
569  generic kernel:<pre>  generic kernel:<pre>
# Line 558  generic kernel:<pre> Line 585  generic kernel:<pre>
585    
586  <p>  <p>
587  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
588  <a href="20050626-netbsd-sgimips-netboot.png"><img src="20050626-netbsd-sgimips-netboot_small.png"></a>  <a href="20060623-netbsd-sgimips-3.0.png"><img src="20060623-netbsd-sgimips-3.0_small.png"></a>
589    
590  <p><a href="http://www.netbsd.org/Ports/sgimips/">NetBSD/sgimips</a> can run  <p><a href="http://www.netbsd.org/Ports/sgimips/">NetBSD/sgimips</a> can run
591  in GXemul on an emulated O2 (SGI-IP32). However, GXemul does not yet  in GXemul on an emulated O2 (SGI-IP32). However, GXemul does not yet
592  emulate the AHC PCI SCSI controller in the O2. (I have mailed Adaptec  emulate the AHC PCI SCSI controller in the O2. (I have mailed Adaptec
593  several times, asking for documentation, but never received any reply.)  several times, asking for documentation, but never received any reply.)
594  NetBSD can still run, as long as it doesn't use SCSI.  NetBSD can still run in the emulator, as long as it doesn't use SCSI.
595    
596  <p>For a simple test with the 2.0.2 ramdisk (install) kernel, try  <p>For a simple test with the ramdisk/install kernel, try
597  dowloading<pre>  dowloading<pre>
598          <a href="ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-2.0.2/sgimips/binary/kernel/netbsd-INSTALL32_IP3x.gz">ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-2.0.2/sgimips/binary/kernel/netbsd-INSTALL32_IP3x.gz</a>          <a href="ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-3.0/sgimips/binary/kernel/netbsd-INSTALL32_IP3x.gz">ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-3.0/sgimips/binary/kernel/netbsd-INSTALL32_IP3x.gz</a>
599    
600  </pre>and run&nbsp;&nbsp;<b><tt>gxemul -E sgi -e o2 netbsd-INSTALL32_IP3x.gz</tt></b>.  </pre>and run&nbsp;&nbsp;<b><tt>gxemul -x -e o2 netbsd-INSTALL32_IP3x.gz</tt></b>.
601    
602  <p>It is possible to set up an environment for netbooting the emulated SGI  <p>It is possible to set up an environment for netbooting the emulated SGI
603  machine off of another emulated machine. Performing this setup is quite  machine off of another emulated machine. Performing this setup is quite
# Line 580  time consuming, but necessary: Line 607  time consuming, but necessary:
607  <ol>  <ol>
608    <li>First of all, the "<tt>nfs server</tt>" machine must be set up.    <li>First of all, the "<tt>nfs server</tt>" machine must be set up.
609          This needs to have a 750 MB <tt>/tftpboot</tt> partition.          This needs to have a 750 MB <tt>/tftpboot</tt> partition.
610          <a href="#netbsdinstall">Install NetBSD/pmax 2.0.2 from CDROM</a>          <a href="#netbsdpmaxinstall">Install NetBSD/pmax 3.0 from CDROM</a>.
611          inside the emulator. (Don't forget to add the extra partition!)          (Don't forget to add the extra partition!)
612    <p>    <p>
613    <li>Configure the nfs server machine to act as an nfs server.    <li>Configure the nfs server machine to act as an nfs server.
614          Start up the emulated DECstation:<pre>          Start up the emulated DECstation:<pre>
615          $ <b>gxemul -M64 -Edec -e3max -d nbsd_pmax.img</b>          <b>gxemul -e 3max -d nbsd_pmax.img</b>
616  </pre>and enter the following commands as <tt>root</tt>  </pre>and enter the following commands as <tt>root</tt>
617          inside the emulator:          inside the emulator:
618  <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>  <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
# Line 619  reboot</b> Line 646  reboot</b>
646  <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>  <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
647  <b>cd /tftpboot; ftp -i ftp.se.netbsd.org</b>  <b>cd /tftpboot; ftp -i ftp.se.netbsd.org</b>
648  (log in as anonymous...)  (log in as anonymous...)
649  <b>cd /pub/NetBSD/NetBSD-2.0.2/sgimips/binary/sets  <b>cd /pub/NetBSD/NetBSD-3.0/sgimips/binary/sets
650  mget base.tgz comp.tgz etc.tgz games.tgz man.tgz misc.tgz text.tgz  mget base.tgz comp.tgz etc.tgz games.tgz man.tgz misc.tgz text.tgz
651  quit  quit
652  sh  sh
653  for a in *.tgz; do echo $a; tar zxfp $a; done  for a in *.tgz; do echo $a; tar zxfp $a; rm -f $a; done
654  echo 10.0.0.2:/tftpboot / nfs rw 0 0 &gt; /tftpboot/etc/fstab  echo 10.0.0.2:/tftpboot / nfs rw 0 0 &gt; /tftpboot/etc/fstab
655  echo rc_configured=YES &gt;&gt; /tftpboot/etc/rc.conf  echo rc_configured=YES &gt;&gt; /tftpboot/etc/rc.conf
656  dd if=/dev/zero of=swap bs=1024 count=32768  dd if=/dev/zero of=swap bs=1024 count=32768
657  halt</b>  halt</b>
658  </pre></td></tr></table>  </pre></td></tr></table>
659    <li>Download the NetBSD/sgimips GENERIC and INSTALL kernels:<pre>    <li>Download the NetBSD/sgimips GENERIC and INSTALL kernels:<pre>
660          <a href="ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-2.0.2/sgimips/binary/kernel/netbsd-GENERIC32_IP3x.gz">ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-2.0.2/sgimips/binary/kernel/netbsd-GENERIC32_IP3x.gz</a>          <a href="ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-3.0/sgimips/binary/kernel/netbsd-GENERIC32_IP3x.gz">ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-3.0/sgimips/binary/kernel/netbsd-GENERIC32_IP3x.gz</a>
661          <a href="ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-2.0.2/sgimips/binary/kernel/netbsd-INSTALL32_IP3x.gz">ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-2.0.2/sgimips/binary/kernel/netbsd-INSTALL32_IP3x.gz</a>          <a href="ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-3.0/sgimips/binary/kernel/netbsd-INSTALL32_IP3x.gz">ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-3.0/sgimips/binary/kernel/netbsd-INSTALL32_IP3x.gz</a>
662    
663  </pre>  </pre>
664    <li>Create a configuration file called <tt>config_client</tt>:    <li>Create a configuration file called <tt>config_client</tt>:
665  <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>  <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
666  <font color="#2020cf">!!gxemul  <font color="#2020cf">!  Configuration file for running NetBSD/sgimips diskless with
 !  
 !  Configuration file for running NetBSD/sgimips diskless with  
667  !  a NetBSD/pmax machine as the nfs server.</font>  !  a NetBSD/pmax machine as the nfs server.</font>
668    
669  <b>emul(  <b>    net(
670      net(          add_remote("localhost:12444")   </b>! the server<b>
         add_remote("127.0.0.1:12444")   </b>! the server<b>  
671          local_port(12445)               </b>! the client<b>          local_port(12445)               </b>! the client<b>
672      )      )
673    
# Line 657  halt</b> Line 681  halt</b>
681          load("netbsd-INSTALL32_IP3x.gz")</b>          load("netbsd-INSTALL32_IP3x.gz")</b>
682          ! load("netbsd-GENERIC32_IP3x.gz")<b>          ! load("netbsd-GENERIC32_IP3x.gz")<b>
683      )      )
684  )</b>  </b>
685  </pre></td></tr></table>  </pre></td></tr></table>
686          ... and another configuration file for the server,          ... and another configuration file for the server,
687          <tt>config_server</tt>:          <tt>config_server</tt>:
688  <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>  <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
689  <font color="#2020cf">!!gxemul</font>  <b>    net(
 <b>emul(  
     net(  
690          local_port(12444)               </b>! the server<b>          local_port(12444)               </b>! the server<b>
691          add_remote("127.0.0.1:12445")   </b>! the client<b>          add_remote("localhost:12445")   </b>! the client<b>
692      )      )
693    
694      machine(      machine(
# Line 678  halt</b> Line 700  halt</b>
700    
701          disk("nbsd_pmax.img")          disk("nbsd_pmax.img")
702      )      )
703  )</b>  </b>
704  </pre></td></tr></table>  </pre></td></tr></table>
705    <li>Boot the "<tt>nfs server</tt>" and the NetBSD/sgimips    <li>Boot the "<tt>nfs server</tt>" and the NetBSD/sgimips
706          "<tt>client machine</tt>" as two separate emulator instances:<pre>          "<tt>client machine</tt>" as two separate emulator instances:<pre>
707          in one xterm:          in one xterm:
708          $ <b>gxemul @config_server</b>          <b>gxemul @config_server</b>
709    
710          and then, in another xterm:          and then, in another xterm:
711          $ <b>gxemul @config_client</b>          <b>gxemul @config_client</b>
712    
713  </pre>  </pre>
714    <li>In the NetBSD/sgimips window, choose "<tt>x: Exit Install System</tt>"    <li>In the NetBSD/sgimips window, choose "<tt>x: Exit Install System</tt>"
# Line 695  halt</b> Line 717  halt</b>
717          <b>mount -v 10.0.0.2:/tftpboot /mnt</b>          <b>mount -v 10.0.0.2:/tftpboot /mnt</b>
718          <b>cd /mnt/dev; ./MAKEDEV all; cd /; umount /mnt</b>          <b>cd /mnt/dev; ./MAKEDEV all; cd /; umount /mnt</b>
719          <b>halt</b>          <b>halt</b>
720  </pre>Then log in as <tt>root</tt> on the server machine and type  </pre>Then, once the client machine has halted, log in as <tt>root</tt>
721          <tt><b>reboot</b></tt>.          on the server machine and type <tt><b>reboot</b></tt>.
722    <p>    <p>
723    <li>Once everything has been set up correctly, change    <li>Once everything has been set up correctly, change
724          <tt>netbsd-INSTALL32_IP3x.gz</tt> in <tt>config_client</tt> to          <tt>netbsd-INSTALL32_IP3x.gz</tt> in <tt>config_client</tt> to
# Line 708  run <tt>tcpdump -lnvv</tt> or similar, t Line 730  run <tt>tcpdump -lnvv</tt> or similar, t
730  actually does on the network.  actually does on the network.
731    
732  <p>It should now be possible to boot NetBSD/sgimips using the NetBSD/pmax  <p>It should now be possible to boot NetBSD/sgimips using the NetBSD/pmax
733  nfs server, using the following commands: (NOTE! Execute these in two  nfs server, using the following commands: (NOTE! Execute these two
734  separate xterms!)<pre>  commands in separate xterms!)<pre>
735          $ <b>gxemul @config_server</b>          <b>gxemul @config_server</b>
736          $ <b>gxemul @config_client</b>          <b>gxemul @config_client</b>
737  </pre>  </pre>
738    
739  <p>When asked for "<tt>root device:</tt>" etc. on the clientmachine, enter  <p>When asked for "<tt>root device:</tt>" etc. on the client machine, enter
740  the following values:<pre>  the following values:<pre>
741          root device: <b>mec0</b>          root device: <b>mec0</b>
742          dump device:                            <b>(leave blank)</b>          dump device:                            <b>(leave blank)</b>
# Line 739  to IPv4. Line 761  to IPv4.
761    
762    
763    
764    <p><br>
765    <a name="netbsdcatsinstall"></a>
766    <h3>NetBSD/cats:</h3>
767    
768    It is possible to install and run
769    <a href="http://www.netbsd.org/Ports/cats/">NetBSD/cats</a> in GXemul.
770    
771    <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
772    <a href="20051007-netbsd-cats-installed.png"><img src="20051007-netbsd-cats-installed_small.png"></a>
773    
774    <p>
775    To install NetBSD/cats onto a disk image, follow these instructions:
776    
777    <p>
778    <ol start="1">
779      <li>Create an empty harddisk image, which will be the root disk
780            that you will install NetBSD/cats onto:<pre>
781            <b>dd if=/dev/zero of=nbsd_cats.img bs=1024 count=1 seek=2000000</b>
782    
783    </pre>
784      <li>Download the NetBSD/cats 3.0 ISO image and the generic and install kernels:<pre>
785            <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>
786            <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>
787            <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>
788    
789    </pre>
790      <p>
791      <li>Start the installation like this:<pre>
792            <b>gxemul -XEcats -d nbsd_cats.img -d catscd-3.0.iso netbsd.aout-INSTALL.gz</b>
793    
794    </pre>
795            and proceed like you would do if you were installing NetBSD on a real
796            CATS from CDROM.
797    </ol>
798    
799    <p>Alternatively, to install from FTP, you can skip downloading the ISO,
800    and start the install without <tt>-d catscd-3.0.iso</tt>. Suitable network
801    settings are IP 10.0.0.1, gateway/default route 10.0.0.254, netmask
802    255.0.0.0, nameserver 10.0.0.254.
803    
804    <p>If everything worked, NetBSD should now be installed on the disk image.
805    Use the following command line to boot the emulated CATS machine:<pre>
806            <b>gxemul -XEcats -d nbsd_cats.img netbsd.aout-GENERIC.gz</b>
807    
808    </pre>
809    
810    
811    
812    
813    
814    
815    
816  <p><br>  <p><br>
817  <a name="openbsdinstall"></a>  <a name="netbsdevbarminstall"></a>
818    <h3>NetBSD/evbarm:</h3>
819    
820    <a href="http://www.netbsd.org/Ports/evbarm/">NetBSD/evbarm</a> can
821    run in GXemul on an emulated IQ80321 evaluation board.
822    
823    <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
824    <a href="20060218-netbsd-evbarm.png"><img src="20060218-netbsd-evbarm_small.png"></a>
825    
826    <p>It is tricky to install, because there is (as far as I know) no INSTALL
827    kernel. One way to install the NetBSD/evbarm distribution onto a disk
828    image is to install the files using another (emulated) machine.
829    
830    <p>The following instructions will let you install NetBSD/evbarm onto a disk
831    image, from an emulated CATS machine:
832    
833    <p>
834    <ol>
835      <li>Install NetBSD/cats 3.0 according to instructions
836            <a href="#netbsdcatsinstall">further up on this page</a>.
837      <p>
838      <li>Create an empty harddisk image, which will be the disk image
839            that you will install NetBSD onto:<pre>
840            <b>dd if=/dev/zero of=nbsd_iq80321.img bs=1024 count=1 seek=999000</b>
841    
842    </pre>
843      <li>Download an IQ80321 kernel with wdc support, and the 2.1 ISO image:<pre>
844            <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>
845            <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>
846    
847    </pre>
848      <p>
849      <li>The first step is to copy the .tgz files we want onto the CATS
850            machine's harddisk. Start the CATS machine like this:<pre>
851            <b>gxemul -XEcats -d nbsd_cats.img -d evbarmcd.iso netbsd.aout-GENERIC.gz</b>
852    
853    </pre>and execute the following commands as <tt>root</tt>:
854    <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
855    <b>mount /dev/cd0a /mnt; cd /root; cp /mnt/evbarm/binary/sets/[bcegmt]* .
856    sync; halt</b>
857    </pre></td></tr></table>
858      <p>
859      <li>Now let's extract the files onto the IQ80321's disk image. Start the
860            CATS machine again, with the following command line:<pre>
861            <b>gxemul -XEcats -d nbsd_cats.img -d nbsd_iq80321.img netbsd.aout-GENERIC.gz</b>
862    
863    </pre>and execute the following commands as <tt>root</tt>:
864    <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
865    <b>disklabel -I -i wd1</b>
866        (enter suitable commands, e.g. <i>a, 4.2BSD, 1c, 750M, b,
867         swap, a, 200M, P, W, y, Q</i>)
868    <b>newfs /dev/wd1a; mount /dev/wd1a /mnt; cd /mnt; sh
869    for a in /root/[bcegmt]*.tgz; do echo $a; tar zxfp $a; done
870    exit
871    cd dev; sh ./MAKEDEV all; cd ../etc
872    echo rc_configured=YES &gt;&gt; rc.conf
873    echo "/dev/wd0a / ffs rw 1 1" &gt; fstab
874    echo "/dev/wd0b none swap sw 0 0" &gt;&gt; fstab
875    cd /; umount /mnt; sync; halt</b>
876    </pre></td></tr></table>
877    </ol>
878    
879    <p>You should now be able to boot NetBSD/evbarm using this command:<pre>
880            <b>gxemul -xEiq80321 -d nbsd_iq80321.img netbsd-wd0-IQ80321.gz</b>
881    </pre>
882    
883    
884    
885    
886    
887    
888    <p><br>
889    <a name="netbsdprepinstall"></a>
890    <h3>NetBSD/prep:</h3>
891    
892    It is possible to install and run
893    <a href="http://www.netbsd.org/Ports/prep/">NetBSD/prep</a> 2.1 in GXemul
894    on an emulated IBM 6050 (PowerPC) machine. (NetBSD 3.0 uses the wdc
895    controller in a way which isn't implemented in GXemul yet.)
896    
897    <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
898    <a href="20051123-netbsd-prep.png"><img src="20051123-netbsd-prep_small.png"></a>
899    
900    <p>To install NetBSD/prep onto a disk image, follow these instructions:
901    
902    <p>
903    <ol start="1">
904      <li>Create an empty harddisk image, which will be the root disk
905            that you will install NetBSD/prep onto:<pre>
906        <b>dd if=/dev/zero of=nbsd_prep.img bs=1024 count=1 seek=1000000</b>
907    
908    </pre>
909      <li>Download the NetBSD/prep 2.1 ISO image and the generic kernel:<pre>
910        <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>
911        <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>
912    
913    </pre>
914      <p>
915      <li>Start the installation like this:<pre>
916        <b>gxemul -x -e ibm6050 -d nbsd_prep.img -d rdb:prepcd.iso -j prep/binary/kernel/netbsd-INSTALL.gz</b>
917    
918    </pre>
919      <p>
920      <li>Installation is a bit unsmooth, possibly due to bugs in GXemul,
921            possibly due to bugs in NetBSD itself; others have been having
922            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>.
923            Creating an MBR slice and a disklabel with sysinst bugs out, so
924            some things have to be done manually:<p>
925            At "<tt>(I)nstall, (S)hell, or (H)alt</tt>", choose
926                    <tt><b><u>s</u></b></tt>.
927            <br><tt># <b><u>fdisk -u wd0</u></b></tt>
928            <br><tt>Do you want to change our idea of what BIOS thinks? [n]</tt>
929                    (just press <b>ENTER</b>)
930            <br><tt>Which partition do you want to change?: [none] <b><u>0</u></b></tt>
931            <br><tt>sysid: ... </tt> (just press <B>ENTER</b>)
932            <br><tt>start: ... <b><u>1cyl</u></b></tt>
933            <br><tt>size: ... </tt> (just press <B>ENTER</b>)
934            <br><tt>Which partition do you want to change?: [none]</tt> (press <b>ENTER</b>)
935            <br><tt>Should we write new partition table? [n] <b><u>y</u></b></tt>
936            <br><tt># <b><u>disklabel -I -i wd0</u></b></tt>
937            <br><tt>partition&gt; <b><u>a</u></b></tt>
938            <br><tt>Filesystem type [?] [unused]: <b><u>4.2BSD</u></b></tt>
939            <br><tt>Start offset ('x' to start after partition 'x') [0c, 0s, 0M]: <b><u>1c</u></b></tt>
940            <br><tt>Partition size ('$' for all remaining) [0c, 0s, 0M]: <b><u>900M</u></b></tt>
941            <br><tt>partition&gt; <b><u>b</u></b></tt>
942            <br><tt>Filesystem type [?] [unused]: <b><u>swap</u></b></tt>
943            <br><tt>Start offset ('x' to start after partition 'x') [0c, 0s, 0M]: <b><u>a</u></b></tt>
944            <br><tt>Partition size ('$' for all remaining) [0c, 0s, 0M]: <b><u>$</u></b></tt>
945            <br><tt>partition&gt; <b><u>W</u></b></tt>
946            <br><tt>Label disk [n]? <b><u>y</u></b></tt>
947            <br><tt>partition&gt; <b><u>Q</u></b></tt>
948            <br><tt># <b><u>newfs wd0a</u></b></tt>
949            <br><tt># <b><u>sysinst</u></b></tt>
950            <br>Choose to install onto <b>wd0</b>. Choose
951                    "<tt>a: Edit the MBR partition table</tt>"
952                    when presented with that option.
953            <br>Choose the 'a' partition/slice,
954                    set the 'e' ("active") and 'f' ("install") fields to <b>Yes</b>,
955                    and then choose "<tt>x: Partition table OK</tt>".
956            <br>Choose "<tt>b: Use existing partition sizes</tt>" in the next
957                    menu.
958            <br>Select partition 'a' and press ENTER. Set field 'k' (mount point)
959                    to '<tt><b>/</b></tt>'.
960            <br>Get out of the partitioner by selecting
961                    "<tt>x: Partition sizes ok</tt>" twice.
962            <br>At "<tt>Write outside MBR partition? [n]:</tt>", just press
963                    <b>ENTER</b>.
964            <br>Install from CD-ROM, device <b>wd1c</b>.
965    </ol>
966    
967    <p>If everything worked, NetBSD should now be installed on the disk image.
968    Use the following command line to boot the emulated machine:<pre>
969            <b>gxemul -x -e ibm6050 -d nbsd_prep.img netbsd-GENERIC.gz</b>
970    
971    </pre>
972    
973    <p>When asked which the root device is, type <tt><b>wd0</b></tt> and
974    just press ENTER to select the default values for dump device, file
975    system type, and init path.
976    
977    
978    
979    
980    
981    
982    <p><br>
983    <a name="openbsdpmaxinstall"></a>
984  <h3>OpenBSD/pmax:</h3>  <h3>OpenBSD/pmax:</h3>
985    
986  Installing <a href="http://www.openbsd.org/pmax.html">OpenBSD/pmax</a> is  Installing <a href="http://www.openbsd.org/pmax.html">OpenBSD/pmax</a> is
987  a bit harder than installing NetBSD/pmax. You should first read the <a  a bit harder than installing NetBSD/pmax. You should first read the <a
988  href="#netbsdinstall">section above</a> on how to install NetBSD/pmax,  href="#netbsdpmaxinstall">section above</a> on how to install NetBSD/pmax,
989  before continuing here. If you have never installed OpenBSD on any  before continuing here. If you have never installed OpenBSD on any
990  architecture, then you need a great deal of patience to do this. If, on  architecture, then you need a great deal of patience to do this. If, on
991  the other hand you are used to installing OpenBSD, then this should be no  the other hand you are used to installing OpenBSD, then this should be no
# Line 771  common sense and imagination to modify t Line 1010  common sense and imagination to modify t
1010  <ol>  <ol>
1011    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
1012          that OpenBSD installs itself onto:<pre>          that OpenBSD installs itself onto:<pre>
1013          $ <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>
1014    
1015  </pre>  </pre>
1016    <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>
1017          $ <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>
1018    
1019  </pre>  </pre>
1020    
1021    <li>Execute the following commands:<pre>    <li>Execute the following commands:
1022          $ <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>
1023          $ <b>gunzip simpleroot28.fs.gz</b>  <b>mv ftp.se.openbsd.org/pub/OpenBSD/2.8/pmax/simpleroot28.fs.gz .
1024          $ <b>chmod +w simpleroot28.fs</b>               &lt;--- make sure  gunzip simpleroot28.fs.gz
1025    chmod +w simpleroot28.fs</b>            &lt;--- make sure
1026  </pre>  </pre></td></tr></table>
1027    <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.
1028          (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
1029          already have <tt>mkisofs</tt> installed on your system, you need          already have <tt>mkisofs</tt> installed on your system, you need
1030          to install it in order to do this.)<pre>          to install it in order to do this.)<pre>
1031          $ <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>
1032            <b>rm -rf ftp.se.openbsd.org</b>      <i>(this directory is not needed anymore)</i>
1033    
1034  </pre>  </pre>
1035    <li>Start the emulator with all three (!) disk images:<pre>    <li>Start the emulator with all three (!) disk images:<pre>
1036          $ <b>gxemul -E dec -e 3max -d obsd_pmax.img -d b:simpleroot28.fs -j bsd -d c:openbsd_pmax_2.8.iso</b>          <b>gxemul -e 3max -d obsd_pmax.img -d b:simpleroot28.fs -j bsd -d c:openbsd_pmax_2.8.iso</b>
1037    
1038  </pre>  </pre>
1039          (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
1040          framebuffer. This is <i>REALLY</i> slow because the console has to          framebuffer. This is <i>REALLY</i> slow because the console has to
1041          scroll a lot during the install. I don't recommend it.)          scroll a lot during the install. I don't recommend it.)
1042    <p>    <p>
# Line 810  common sense and imagination to modify t Line 1050  common sense and imagination to modify t
1050            <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>.
1051            <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.
1052            <li>At the # prompt, do the following:<pre>            <li>At the # prompt, do the following:<pre>
1053          $ <b>fsck /dev/rz1a</b>        (and mark the filesystem as clean)          <b>fsck /dev/rz1a</b>        (and mark the filesystem as clean)
1054          $ <b>mount /dev/rz1a /</b>          <b>mount /dev/rz1a /</b>
1055          $ <b>mount -t kernfs kern kern</b>          <b>mount -t kernfs kern kern</b>
1056          $ <b>./install</b>          <b>./install</b>
1057    
1058  </pre>  </pre>
1059                  and proceed with the install. Good luck. :-)                  and proceed with the install. Good luck. :-)
# Line 828  common sense and imagination to modify t Line 1068  common sense and imagination to modify t
1068          password! The first time you boot up OpenBSD after the install, you          password! The first time you boot up OpenBSD after the install, you
1069          need to go into single user mode and run <b>passwd root</b> to set          need to go into single user mode and run <b>passwd root</b> to set
1070          the root password, or you will not be able to log in at all!<pre>          the root password, or you will not be able to log in at all!<pre>
1071          $ <b>gxemul -E dec -e 3max -d obsd_pmax.img -d 2c:openbsd_pmax_2.8.iso -j bsd -o '-s'</b>          <b>gxemul -e 3max -d obsd_pmax.img -d 2c:openbsd_pmax_2.8.iso -j bsd -o '-s'</b>
1072  </pre>  </pre>
1073  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
1074  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
1075  in the installer, perhaps because of the way I used mkisofs.)  in the installer, perhaps because of the way I used mkisofs.)
1076  <p>  <p>
1077  Execute the following commands in the emulator:  Execute the following commands in the emulator:
1078  <pre>  <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1079          <b>fsck /dev/rz0a</b>  <b>fsck /dev/rz0a
1080          <b>mount /</b>  mount /
1081          <b>passwd root</b>  passwd root
1082    
1083          <b>cd /; mount -t cd9660 /dev/rz2c /mnt; sh</b>  cd /; mount -t cd9660 /dev/rz2c /mnt; sh
1084          <b>for a in /mnt/[xX]*; do tar zxvf $a; done</b>  for a in /mnt/[xX]*; do tar zxvf $a; done
1085          <b>ln -s /usr/X11R6/bin/Xcfbpmax /usr/X11R6/bin/X</b>  ln -s /usr/X11R6/bin/Xcfbpmax /usr/X11R6/bin/X
1086          <b>ln -s /dev/fb0 /dev/mouse</b>  ln -s /dev/fb0 /dev/mouse
1087          <b>echo /usr/X11R6/lib >> /etc/ld.so.conf</b>  echo /usr/X11R6/lib &gt;&gt; /etc/ld.so.conf
1088          <b>ldconfig</b>  ldconfig
1089    
1090          <b>sync</b>  sync
1091          <b>halt</b>  halt</b>
1092  </pre>  </pre></td></tr></table>
1093  </ol>  </ol>
1094    
1095  <p>  <p>
# Line 862  root password, and so on. Line 1102  root password, and so on.
1102  Once you have completed the installation procedure, the following command  Once you have completed the installation procedure, the following command
1103  will let you boot from the new rootdisk image:  will let you boot from the new rootdisk image:
1104  <pre>  <pre>
1105          $ <b>gxemul -E dec -e 3max -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>
1106  </pre>  </pre>
1107    
1108  <p>  <p>
# Line 881  enter <b><tt>rcons</tt></b> if you are u Line 1121  enter <b><tt>rcons</tt></b> if you are u
1121    
1122    
1123    
 <p><br>  
 <a name="openbsdarcinstall"></a>  
 <h3>OpenBSD/arc:</h3>  
1124    
 It is possible to run OpenBSD/arc on an emulated Acer PICA-61 in the  
 emulator.  
1125    
1126  <p>  <p><br>
1127  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <a name="openbsdcatsinstall"></a>
1128  <a href="20041024-openbsd-arc-installed.gif"><img src="20041024-openbsd-arc-installed_small.gif"></a>  <h3>OpenBSD/cats:</h3>
1129    
1130  <p>  It is possible to install and run
1131  (You should be aware of the fact that OpenBSD for the ARC platform died at  <a href="http://www.openbsd.org/cats.html">OpenBSD/cats</a>
1132  release 2.3, so this will not give you an up-to-date OpenBSD system.  in GXemul.
 See  
 <a href="http://www.openbsd.org/arc.html">http://www.openbsd.org/arc.html</a>  
 for more information.)  
1133    
1134  <p>  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1135  To install OpenBSD/arc onto an emulated harddisk image, follow these  <a href="20051007-openbsd-cats-installed.png"><img src="20051007-openbsd-cats-installed_small.png"></a>
1136  instructions:  
1137    <p>To install OpenBSD/cats onto an emulated harddisk image,
1138    follow these instructions:
1139    
1140  <p>  <p>
1141  <ol>  <ol>
1142    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
1143          that OpenBSD installs itself onto:<pre>          that OpenBSD installs itself onto:<pre>
1144          $ <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>
1145    
1146  </pre>  </pre>
1147    <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>
1148          $ <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.9/cats/">ftp://ftp.openbsd.org/pub/OpenBSD/3.9/cats/</a></b>
1149            <b>cp ftp.openbsd.org/pub/OpenBSD/3.9/cats/bsd .</b>
1150            <b>cp ftp.openbsd.org/pub/OpenBSD/3.9/cats/bsd.rd .</b>
1151    
1152  </pre>  </pre>
1153            (Replace ftp.openbsd.org with a server closer to you, for
1154            increased download speed.)
1155      <p>
1156    <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.
1157          (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
1158          already have <tt>mkisofs</tt> installed on your system, you need          already have <tt>mkisofs</tt> installed on your system, you need
1159          to install it in order to do this.)<pre>          to install it in order to do this.)<pre>
1160          $ <b>mkisofs -o openbsd_arc_2.3.iso ftp.se.openbsd.org/pub/OpenBSD/</b>          <b>mkisofs -allow-lowercase -o openbsd_cats_3.9.iso ftp.openbsd.org/pub/OpenBSD/</b>
1161            <b>rm -rf ftp.openbsd.org</b>      <i>(this directory is not needed anymore)</i>
1162    
1163  </pre>  </pre>
1164    <li>Start the emulator using this command line:<pre>    <li>Start the emulator using this command line:<pre>
1165          $ <b>gxemul -X -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.9.iso bsd.rd</b>
1166    
1167  </pre>  </pre>
1168          and proceed like you would do if you were installing OpenBSD          and proceed like you would do if you were installing OpenBSD
1169          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
1170          configure networking, and then install from CD-ROM.)          network, install from CD.)
1171  </ol>  </ol>
1172    
1173  <p>  <p>(Although it <i>is</i> possible to configure the network, IPv4 address
1174  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
1175    nameserver 10.0.0.254, the userland NAT-like networking layer is not
1176    stable enough yet to support a full install via ftp.)
1177    
1178    <p><b>NOTE:</b> Make sure that you <tt>sync</tt> and <tt>reboot</tt>
1179    correctly once the installation is finished, or the <tt>/dev</tt> nodes
1180    may not have been written correctly to disk.
1181    
1182    <p>Once the install has finished, the following command should let you
1183  boot from the harddisk image:  boot from the harddisk image:
1184  <p>  
1185  <pre>  <p><pre>
1186          $ <b>gxemul -X -E arc -e pica -d obsd_arc.img ftp.se.openbsd.org/pub/OpenBSD/2.3/arc/bsd</b>          <b>gxemul -XEcats -d obsd_cats.img bsd</b>
1187    
1188  </pre>  </pre>
1189    
# Line 956  also usable.) Line 1203  also usable.)
1203    
1204  <p>  <p>
1205  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1206  <a href="20040504-ultrix45-boot1.png"><img src="20040504-ultrix45-boot1_small.gif"></a>  <a href="20040504-ultrix45-boot1.png"><img src="20040504-ultrix45-boot1_small.png"></a>
1207  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;
1208  <a href="ultrix4.5-20040706.png"><img src="ultrix4.5-20040706_small.gif"></a>  <a href="ultrix4.5-20040706.png"><img src="ultrix4.5-20040706_small.png"></a>
1209    
1210  <p>  <p>
1211  The following instructions should let you install Ultrix onto a disk image:  The following instructions should let you install Ultrix onto a disk image:
# Line 966  The following instructions should let yo Line 1213  The following instructions should let yo
1213  <ol>  <ol>
1214    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
1215          that Ultrix installs itself onto:<pre>          that Ultrix installs itself onto:<pre>
1216          $ <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>
1217    
1218  </pre>  </pre>
1219    <li>Place your Ultrix installation media in your CDROM drive.    <li>Place your Ultrix installation media in your CDROM drive.
1220          (On FreeBSD and similar systems, it is called <tt>/dev/cd0c</tt>.          (On FreeBSD and similar systems, it is called <tt>/dev/cd0c</tt>.
1221          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
1222          .iso image file.) Then, start the emulator like this:<pre>          .iso image file.) Then, start the emulator like this:<pre>
1223          $ <b>gxemul -X -M64 -E dec -e 3max -d rootdisk.img -d bc:/dev/cd0c -j vmunix</b>          <b>gxemul -X -e 3max -d rootdisk.img -d bc:/dev/cd0c -j vmunix</b>
1224    
1225  </pre>  </pre>
1226    <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 981  The following instructions should let yo Line 1228  The following instructions should let yo
1228          new rootdisk, to continue the installation process.          new rootdisk, to continue the installation process.
1229          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
1230          diskimage argument:<pre>          diskimage argument:<pre>
1231          $ <b>gxemul -X -M64 -E dec -e 3max -d rootdisk.img -d c:/dev/cd0c -j vmunix</b>          <b>gxemul -X -e 3max -d rootdisk.img -d c:/dev/cd0c -j vmunix</b>
1232    
1233  </pre>  </pre>
1234  </ol>  </ol>
# Line 989  The following instructions should let yo Line 1236  The following instructions should let yo
1236  <p>  <p>
1237  When the installation is completed, the following command should start    When the installation is completed, the following command should start  
1238  Ultrix from the harddisk image:<pre>  Ultrix from the harddisk image:<pre>
1239          $ <b>gxemul -X -M64 -E dec -e 3max -j vmunix -d rootdisk.img</b>          <b>gxemul -X -e 3max -j vmunix -d rootdisk.img</b>
1240  </pre>  </pre>
1241    
1242  <p>Ultrix mostly seems to work with dynamic binary translation (which can  <p>If you have a very fast host machine, you might experience a weird
 be disabled by the <b><tt>-B</tt></b> command line option). If you have a  
 very fast host machine, and use bintrans, you might experience a weird  
1243  timer related bug, which makes it impossible to logon to the system. It is  timer related bug, which makes it impossible to logon to the system. It is
1244  triggered when the emulation goes faster than any real DECstation machine  triggered when the emulation goes faster than any real DECstation machine
1245  was capable of running. A temporary workaround is to add  was capable of running. A temporary workaround is to add
# Line 1011  There is also a <b><tt>-z</tt></b> optio Line 1256  There is also a <b><tt>-z</tt></b> optio
1256  displays to use. The following example starts Ultrix on an emulated  displays to use. The following example starts Ultrix on an emulated
1257  tripple-headed workstation, on three different displays (<tt>remote1:0.0</tt>,  tripple-headed workstation, on three different displays (<tt>remote1:0.0</tt>,
1258  <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>
1259          $ <b>gxemul -M64 -N -E dec -e 3max -jgenvmunix -d rootdisk.img \          <b>gxemul -N -e 3max -jgenvmunix -d rootdisk.img \
1260              -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>
1261  </pre>  </pre>
1262    
# Line 1078  The following instructions should let yo Line 1323  The following instructions should let yo
1323    
1324  </pre>  </pre>
1325    <li>Start the emulator with the following command line:<pre>    <li>Start the emulator with the following command line:<pre>
1326          $ <b>gxemul -X -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>
1327    
1328  </pre>  </pre>
1329  </ol>  </ol>
# Line 1118  start the X11 environment. Line 1363  start the X11 environment.
1363  <a name="declinux"></a>  <a name="declinux"></a>
1364  <h3>Debian GNU/Linux for DECstation:</h3>  <h3>Debian GNU/Linux for DECstation:</h3>
1365    
1366  <font color="#ef0000">NOTE: This is experimental, and <i>extremely</i>  It is possible to run Debian GNU/Linux for DECstation in the emulator,
1367  unstable. During my tests, even pressing the wrong key during the install  on an emulated 5000/200 ("3max"). Although the Debian project has released
1368  (for example the wrong cursor key) can cause a kernel Oops. My success  install ramdisk kernels for this purpose, these do not always work:
1369  rate is probably around 50%.  <ul>
1370      <li>Serial console output doesn't work too well in GXemul. Linux
1371  <p>I <i>think</i> this has to do with interrupts from the serial controller.          oopses randomly, which may be due to bugs in GXemul, but may
1372  Hopefully using the <tt><b>-U</b></tt> command line option will reduce the          also be due to bugs in the serial controller code in Linux.
1373  risk for such crashes. (I haven't had time to come up with a clean          (The speed at which serial interrupts are generated can be
1374  solution to this yet; it feels like a buffer overflow in Linux' serial          lowered with the <tt>-U</tt> command line option, but it only
1375  driver for the 5000/200, but it is also likely that it is a bug in GXemul.)          reduces the risk, it doesn't take away the oopses completely.)
1376      <li>Old install kernels supported the graphical framebuffer on the
1377  <p>Everything runs extremely slow. Even if you have a very fast host          3max, but not the keyboard.
1378  machine, an install attempt can still take several hours! </font>    <li>For quite some time, the MIPS linux cvs tree had support for the
1379            keyboard, but it did <i>not</i> include Debian's patches for
1380            networking. (Perhaps this has been fixed now, I don't know.)
1381    </ul>
1382    
1383  <p>  <p>David Muse has made available a precompiled install kernel which
1384  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  has support for framebuffer, keyboard, and networking, which works
1385  <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>  
1386    
1387  <p>  <p>
1388  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 1150  onto a harddisk image: Line 1392  onto a harddisk image:
1392  <ol>  <ol>
1393    <li>Create an empty harddisk image, which will be the root disk    <li>Create an empty harddisk image, which will be the root disk
1394          that Debian installs itself onto:<pre>          that Debian installs itself onto:<pre>
1395          $ <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>
1396    
1397  </pre>  </pre>
1398    <li>Download an install kernel:<pre>    <li>Download David Muse' install kernel, and a Debian Netinstall CD-ROM:<pre>
1399          <a href="http://ftp.egr.msu.edu/debian/dists/stable/main/installer-mipsel/current/images/r3k-kn02/boot.img">http://ftp.egr.msu.edu/debian/dists/stable/main/installer-mipsel/current/images/r3k-kn02/boot.img</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>
1400            <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>
1401    
1402  </pre>  </pre>
1403    <p>    <p>
1404    <li>For a text-mode installation, start the emulator like this:<pre>    <li>Start the installation like this:<pre>
1405          $ <b>gxemul -E dec -e 3max -U -M64 -o 'console=ttyS3' -d debian.img -O boot.img</b>          <b>gxemul -X -e3max -d debian_pmax.img -d debian-31r0a-mipsel-netinst.iso vmlinux-2.4.31</b>
   
1406  </pre>  </pre>
1407          (If you want to, you can try <b><tt>-X</tt></b> instead of  
1408          <b><tt>-o 'console=ttyS3'</tt></b> on the command line. This will          <p>If everything goes well, you will see Linux' boot messages, and then
1409          cause Linux to use the graphical framebuffer. Unfortunately, Linux          arrive at the language chooser.
1410          does not seem to have a driver for the DZ11 keyboard controller yet,  
1411          so you cannot interact with the system. You will see the penguin in  <p>
1412          the upper lefthand corner while booting, and nicely rendered Unicode  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-1.png"><img src="debian-1-small.png"></a>
1413          characters, but that's about it.)  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-2.png"><img src="debian-2-small.png"></a>
1414    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-3.png"><img src="debian-3-small.png"></a>
1415    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-4.png"><img src="debian-4-small.png"></a>
1416    
1417            <p>There will be a warning about the keyboard
1418            layout. Don't mind this. Continue, and then select <b>Detect
1419            and mount CD-ROM</b> in the next menu.
1420    
1421    <p>
1422    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-5.png"><img src="debian-5-small.png"></a>
1423    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-6.png"><img src="debian-6-small.png"></a>
1424    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-7.png"><img src="debian-7-small.png"></a>
1425    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-8.png"><img src="debian-8-small.png"></a>
1426    
1427          <p>          <p>
1428          You need to enter some values during the installation procedure, for          There will also be a warning about lack of loadable modules. Don't
1429          example network settings. The following should work:<pre>          mind this either, continue anyway by choosing <b>Yes</b>.
1430          DHCP:                       No, choose "<b>Configure network manually</b>"          <p>
1431            When you reach the network configuration part of the install, choose
1432            <b>Configure network manually</b> and enter the following values:<pre>
1433          IP address:                 <b>10.0.0.1</b>          IP address:                 <b>10.0.0.1</b>
1434          Netmask:                    <b>255.0.0.0</b>          Netmask:                    <b>255.0.0.0</b>
1435          Gateway:                    <b>10.0.0.254</b>          Gateway:                    <b>10.0.0.254</b>
1436          Name server addresses:      <b>10.0.0.254</b>          Name server addresses:      <b>10.0.0.254</b>
1437    
1438  </pre>  </pre>
1439    <li>Once the first phase of the install has finished, the following command          <p>Choose <b>Erase entire disk</b> in the partitioner.
         should let you boot into Debian, and perform post-install  
         configuration:<pre>  
         $ <b>gxemul -E dec -e 3max -U -M64 -o 'console=ttyS3' -d debian.img</b>  
1440    
1441  </pre>Note: All these steps take a lot of time, so you will have plenty          <p>Wait for the base system to be installed. This takes almost forever,
1442          of time to drink lots of cups of coffee.          so you can go fetch several <a href="http://en.wikipedia.org/wiki/Jolt_Cola">Jolts</a>
1443    <p>          or cups of coffee in the meanwhile.
   <li>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><tt>quit</tt></b>, and then:  
         download a normal kernel (<i>not</i> a RAMDISK kernel):<pre>  
         <a href="http://ftp.egr.msu.edu/debian/dists/stable/main/installer-mipsel/current/images/cdrom/vmlinux-2.4.27-r3k-kn02">http://ftp.egr.msu.edu/debian/dists/stable/main/installer-mipsel/current/images/cdrom/vmlinux-2.4.27-r3k-kn02</a>  
1444    
1445  </pre>and boot Debian using the following command line:<pre>  <p>
1446          $ <b>gxemul -E dec -e 3max -U -M64 -o \  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-9.png"><img src="debian-9-small.png"></a>
1447              'console=ttyS3 root=/dev/sda1 rw init=/bin/sh' \  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-10.png"><img src="debian-10-small.png"></a>
1448              -d debian.img vmlinux-2.4.27-r3k-kn02</b>  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-11.png"><img src="debian-11-small.png"></a>
1449    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-12.png"><img src="debian-12-small.png"></a>
1450    
1451            <p>Congratulations! The first phase of the installation is now completed.
1452            Reboot using the following command line:<pre>
1453            <b>gxemul -X -e3max -o 'root=/dev/sda1' -d debian_pmax.img vmlinux-2.4.31</b>
1454    
1455  </pre>  </pre>
1456          You'll enter single-user mode. You need to add a line to          <p>The post-install step takes quite some time as well. A perfect opportunity
1457          /etc/inittab, to enable logins via serial console.<pre>          for more coffee.
         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>  
         sh-2.05b# <b>halt</b>  
 </pre>  
 </ol>  
1458    
1459  <p>          <p>When asked about "Apt configuration", choose <b>http</b> as the method
1460  The system should now be ready for everyday use.          to use for accessing the Debian archive.
1461    
1462  <p>  <p>
1463  Use this command to boot from the completely installed disk image:<pre>  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-13.png"><img src="debian-13-small.png"></a>
1464          $ <b>gxemul -E dec -e 3max -U -M64 -o 'console=ttyS3' -d debian.img</b>  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-14.png"><img src="debian-14-small.png"></a>
1465    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="debian-15.png"><img src="debian-15-small.png"></a>
1466    
1467            <p>Downloading the packages takes almost forever. Be patient.
1468    
1469            <p>Congratulations (again)! You are now fully done with the installation.
1470    
1471    </ol>
1472    
1473    <p><br>Debian GNU/Linux for DECstation is now installed and ready to be used.
1474    Use this command to boot from the installed disk image:<pre>
1475            <b>gxemul -X -e3max -o 'root=/dev/sda1' -d debian_pmax.img vmlinux-2.4.31</b>
1476    
1477  </pre>  </pre>
1478    
 <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;]  
1479    
1480    
1481    
# Line 1239  example), but at least it doesn't Oops t Line 1486  example), but at least it doesn't Oops t
1486  <a name="declinuxredhat"></a>  <a name="declinuxredhat"></a>
1487  <h3>Redhat Linux for DECstation:</h3>  <h3>Redhat Linux for DECstation:</h3>
1488    
 <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>  
1489    
1490  <p>  <p>
1491  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# Line 1253  The following steps should let you run R Line 1496  The following steps should let you run R
1496    
1497  <p>  <p>
1498  <ol>  <ol>
1499    <li>Download a kernel. This is a Debian kernel, but it works fine:<pre>    <li>Download a kernel. David Muse' Debian-install kernel works fine:<pre>
1500          <a href="http://ftp.egr.msu.edu/debian/dists/stable/main/installer-mipsel/current/images/cdrom/vmlinux-2.4.27-r3k-kn02">http://ftp.egr.msu.edu/debian/dists/stable/main/installer-mipsel/current/images/cdrom/vmlinux-2.4.27-r3k-kn02</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>
1501    
1502  </pre>  </pre>
1503    <li>Download a root filesystem tree:<pre>    <li>Download a root filesystem tree:<pre>
# Line 1263  The following steps should let you run R Line 1506  The following steps should let you run R
1506          19486676 bytes, md5 = 5bcb725c90209479cd7ead8ad0c4a414          19486676 bytes, md5 = 5bcb725c90209479cd7ead8ad0c4a414
1507    
1508  </pre>  </pre>
1509    <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>
1510          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>
1511          partition table (!), and then one or more ext2 partitions.  
1512          (Use loopback mount, or similar. This is probably easiest to do on a Linux host.)  </pre>
1513          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
1514            (!) partition table, and then an ext2 partition. This is what Linux
1515            will then see as /dev/sda1.
1516            <p>I recommend you run fdisk and mke2fs and untar the archive from within
1517            Debian/DECstation or <a href="#debiancats">Debian/CATS</a> running
1518            inside the emulator. (Alternatively, if you are on a Linux host,
1519            you could use a loopback mount, or similar. This might require
1520            root access. See e.g.
1521            <a href="http://www.mega-tokyo.com/osfaq2/index.php/Disk%20Images%20Under%20Linux">http://www.mega-tokyo.com/osfaq2/index.php/Disk%20Images%20Under%20Linux</a>.)
1522            <p>
1523            In order to actually boot the system you need to modify /etc/fstab.
1524          Change<pre>          Change<pre>
1525          /dev/root               /               nfs     defaults        1 1          /dev/root               /               nfs     defaults        1 1
1526          #/dev/sdc1              /               ext2    defaults        1 1          #/dev/sdc1              /               ext2    defaults        1 1
# Line 1281  The following steps should let you run R Line 1534  The following steps should let you run R
1534          none                    /dev/pts        devpts  mode=0622       0 0          none                    /dev/pts        devpts  mode=0622       0 0
1535    
1536  </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 -M128 -o \  
             "console=ttyS3 root=/dev/sda1 ro" -d redhat.img vmlinux-2.4.27-r3k-kn02</b>  
   
 </pre>  
1537  </ol>  </ol>
1538    
1539  <p>  <p>To boot Redhat linux from the disk image, use the following command line:<pre>
1540  If you need to boot into single user mode, try the following:<pre>          <b>gxemul -X -e3max -o "root=/dev/sda1 ro" -d redhat_mips.img vmlinux-2.4.31</b>
         $ <b>gxemul -E dec -e 3max -U -o "console=ttyS3 root=/dev/sda1 rw init=/bin/sh" \  
             -d redhat.img vmlinux-2.4.27-r3k-kn02</b>  
1541    
1542  </pre>  </pre>
1543    If you need to boot into single user mode, change options to
1544    <tt><b>-o "root=/dev/sda1 rw init=/bin/sh"</b></tt>.
1545    
 <p>Redhat Linux on DECstation in R3000 mode should work fine with dynamic  
 binary translation, but if things are buggy, it can be disabled by  
 using the <b><tt>-B</tt></b> command line option.  
   
 <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. :-(  
   
 <p>  
 [&nbsp;<font color="#ff0000">UPDATE 2005-01-22:</font>&nbsp;  
 Read the 2005-01-19 update in the Debian section above, and then, if  
 you do not need ethernet support, try Kaj-Michael Lang's kernel compiled  
 from <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;]  
1546    
1547    
1548    
# Line 1355  for DECstation in the emulator: Line 1584  for DECstation in the emulator:
1584  <p>  <p>
1585  <ol>  <ol>
1586    <li>Compile gxemul with cache emulation: (<b>NOTE: --enable-caches</b>)<pre>    <li>Compile gxemul with cache emulation: (<b>NOTE: --enable-caches</b>)<pre>
1587          $ <b>./configure --enable-caches; make</b>          <b>./configure --enable-caches; make</b>
1588    
1589  </pre>  </pre>
1590    <li>Download the pmax binary distribution for Mach 3.0:<pre>    <li>Download the pmax binary distribution for Mach 3.0:<pre>
1591          <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>
1592                <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>
1593          7263343 bytes, md5 = f9d76c240a6e169921a1df99ad560cc0          7263343 bytes, md5 = f9d76c240a6e169921a1df99ad560cc0
1594    
1595  </pre>  </pre>
1596    <li>Extract the Mach kernel:<pre>    <li>Extract the Mach kernel:<pre>
1597          $ <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>
1598    
1599  </pre>  </pre>
1600    <li>Create an empty disk image:<pre>    <li>Create an empty disk image:<pre>
1601          $ <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>
1602    
1603  </pre>  </pre>
1604    <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 1385  for DECstation in the emulator: Line 1615  for DECstation in the emulator:
1615          cd /; sync; umount /mnt</i>)          cd /; sync; umount /mnt</i>)
1616          <p>          <p>
1617    <li>Start the emulator with the following command:<pre>    <li>Start the emulator with the following command:<pre>
1618          $ <b>gxemul -E dec -e 3max -X -d disk.img \          <b>gxemul -e 3max -X -d disk.img \
1619              pmax_mach/special/mach.boot.MK83.STD+ANY</b>              pmax_mach/special/mach.boot.MK83.STD+ANY</b>
1620    
1621  </pre>  </pre>
# Line 1414  it works.</font> Line 1644  it works.</font>
1644    
1645  <p>GXemul does not yet emulate the AHC PCI SCSI controller in the O2. (I have  <p>GXemul does not yet emulate the AHC PCI SCSI controller in the O2. (I have
1646  mailed Adaptec several times, asking for documentation, but never received  mailed Adaptec several times, asking for documentation, but never received
1647  any reply.) OpenBSD/sgi can still run, as long as it doesn't use SCSI. For  any reply.) OpenBSD/sgi can still run in the emulator, as long as it doesn't
1648  a simple test with the ramdisk (install) kernel, try dowloading<pre>  use SCSI. For a simple test with the ramdisk (install) kernel, try dowloading<pre>
1649          <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>          <a href="ftp://ftp.se.openbsd.org/pub/OpenBSD/3.9/sgi/">ftp://ftp.se.openbsd.org/pub/OpenBSD/3.9/sgi</a>/<a href="ftp://ftp.se.openbsd.org/pub/OpenBSD/3.9/sgi/bsd.rd">bsd.rd</a>
1650    
1651  </pre>and run <b><tt>gxemul -E sgi -e o2 bsd.rd</tt></b>.  </pre>and run <b><tt>gxemul -xeo2 bsd.rd</tt></b>.
1652    
1653  <p>It might also be possible to netboot. Another emulated machine must  <p>It might also be possible to netboot. Another emulated machine must
1654  then be used as the nfs root server, and the emulated O2 machine must boot  then be used as the nfs root server, and the emulated O2 machine must boot
1655  as a <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=diskless&manpath=OpenBSD+Current&format=html">diskless</a>  as a <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=diskless&amp;manpath=OpenBSD+Current&amp;format=html">diskless</a>
1656  client. Performing this setup is quite time consuming, but necessary:  client. Performing this setup is quite time consuming, but necessary:
1657    
1658  <p>  <p>
1659  <ol>  <ol>
1660    <li>First of all, the "<tt>nfs server</tt>" machine must be set up.    <li>First of all, the "<tt>nfs server</tt>" machine must be set up.
1661          This needs to have a 800 MB <tt>/tftpboot</tt> partition.          This needs to have a 800 MB <tt>/tftpboot</tt> partition.
1662          <a href="#netbsdinstall">Install NetBSD/pmax 2.0.2 from CDROM</a>          <a href="#netbsdpmaxinstall">Install NetBSD/pmax 3.0 from CDROM</a>.
1663          inside the emulator. (Don't forget to add the extra partition!)          (Don't forget to add the extra partition!)
1664    <p>    <p>
1665    <li>Configure the nfs server machine to act as an nfs server.    <li>Configure the nfs server machine to act as an nfs server.
1666          Start up the emulated DECstation:<pre>          Start up the emulated DECstation:<pre>
1667          $ <b>gxemul -M64 -Edec -e3max -d nbsd_pmax.img</b>          <b>gxemul -e 3max -d nbsd_pmax.img</b>
1668  </pre>and enter the following commands as <tt>root</tt>  </pre>and enter the following commands as <tt>root</tt>
1669          inside the emulator:          inside the emulator:
1670  <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>  <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
# Line 1452  echo "10:20:30:00:00:10 client" &gt; /et Line 1682  echo "10:20:30:00:00:10 client" &gt; /et
1682  echo 10.0.0.1 client &gt; /etc/hosts  echo 10.0.0.1 client &gt; /etc/hosts
1683  reboot</b>  reboot</b>
1684  </pre></td></tr></table>  </pre></td></tr></table>
1685    <li>Start the DECstation emulation again, and download the    <li>Start the DECstation emulation again, and enter the following
1686          OpenBSD/sgi distribution:<br>(NOTE: This          commands to download the OpenBSD/sgi distribution:<br>(NOTE: This
1687          takes quite some time, even if you have a fast network connection.)          takes quite some time, even if you have a fast network connection.)
1688  <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>  <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1689  <b>cd /tftpboot; ftp -i ftp.se.openbsd.org</b>  <b>cd /tftpboot; ftp -i ftp.se.openbsd.org</b>
1690  (log in as anonymous...)  (log in as anonymous...)
1691  <b>cd pub/OpenBSD/3.7/sgi  <b>cd pub/OpenBSD/3.9/sgi
1692  mget b* c* e* g* m*  mget b*tgz c*tgz e* g* m*
1693  quit  quit
1694  sh  sh
1695  for a in *.tgz; do echo $a; tar zxfp $a; done  for a in *.tgz; do echo $a; tar zxfp $a; done
1696  echo 10.0.0.2:/tftpboot / nfs rw 0 0 &gt; /tftpboot/etc/fstab  echo 10.0.0.2:/tftpboot / nfs rw 0 0 &gt; /tftpboot/etc/fstab
1697    rm *.tgz
1698  dd if=/dev/zero of=swap bs=1024 count=32768  dd if=/dev/zero of=swap bs=1024 count=32768
1699  halt</b>  halt</b>
1700  </pre></td></tr></table>  </pre></td></tr></table>
1701    <li>Download the OpenBSD/sgi GENERIC and RAMDISK kernels:<pre>    <li>Download the OpenBSD/sgi GENERIC and RAMDISK kernels:<pre>
1702          <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>          <a href="ftp://ftp.se.openbsd.org/pub/OpenBSD/3.9/sgi/bsd">ftp://ftp.se.openbsd.org/pub/OpenBSD/3.9/sgi/bsd</a>
1703          MD5 (bsd) = f16eaf3dcbd51876db7c25f70e6d8a08          <a href="ftp://ftp.se.openbsd.org/pub/OpenBSD/3.9/sgi/bsd.rd">ftp://ftp.se.openbsd.org/pub/OpenBSD/3.9/sgi/bsd.rd</a>
         <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>  
         MD5 (bsd.rd) = 4843e6139d8dd04b03d5f0e33e9a4f7b  
1704    
1705  </pre>  </pre>
1706    <li>Create a configuration file called <tt>config_client</tt>:    <li>Create a configuration file called <tt>config_client</tt>:
1707  <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>  <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1708  <font color="#2020cf">!!gxemul  <font color="#2020cf">!  Configuration file for running OpenBSD/sgi diskless with
 !  
 !  Configuration file for running OpenBSD/sgi diskless with  
1709  !  a NetBSD/pmax machine as the nfs server.  !  a NetBSD/pmax machine as the nfs server.
1710  !  !
1711  !  This config file is for the client.</font>  !  This config file is for the client.</font>
1712    
1713  <b>emul(  <b>    net(
1714      net(          add_remote("localhost:12444")   </b>! the server<b>
         add_remote("127.0.0.1:12444")   </b>! the server<b>  
1715          local_port(12445)               </b>! the client<b>          local_port(12445)               </b>! the client<b>
1716      )      )
1717    
# Line 1499  halt</b> Line 1725  halt</b>
1725          </b>! load("bsd")<b>          </b>! load("bsd")<b>
1726          load("bsd.rd")          load("bsd.rd")
1727      )      )
1728  )</b>  </b>
1729  </pre></td></tr></table>  </pre></td></tr></table>
1730          ... and another configuration file for the server,          ... and another configuration file for the server,
1731          <tt>config_server</tt>:          <tt>config_server</tt>:
1732  <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>  <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1733  <font color="#2020cf">!!gxemul</font>  <b>    net(
 <b>emul(  
     net(  
1734          local_port(12444)               </b>! the server<b>          local_port(12444)               </b>! the server<b>
1735          add_remote("127.0.0.1:12445")   </b>! the client<b>          add_remote("localhost:12445")   </b>! the client<b>
1736      )      )
1737    
1738      machine(      machine(
# Line 1520  halt</b> Line 1744  halt</b>
1744    
1745          disk("nbsd_pmax.img")          disk("nbsd_pmax.img")
1746      )      )
1747  )</b>  </b>
1748  </pre></td></tr></table>  </pre></td></tr></table>
1749    <li>Boot the "<tt>nfs server</tt>" and the OpenBSD/sgi    <li>Boot the "<tt>nfs server</tt>" and the OpenBSD/sgi
1750          "<tt>client machine</tt>" as two separate emulator instances:<pre>          "<tt>client machine</tt>" as two separate emulator instances:<pre>
1751          in one xterm:          in one xterm:
1752          $ <b>gxemul @config_server</b>          <b>gxemul @config_server</b>
1753    
1754          and then, in another xterm:          and then, in another xterm:
1755          $ <b>gxemul @config_client</b>          <b>gxemul @config_client</b>
1756    
1757  </pre>  </pre>
1758    <li>In the OpenBSD/sgi window, choose "S" (for Shell), and type:    <li>In the OpenBSD/sgi window, choose "<tt>s</tt>" (for Shell), and type:
1759  <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>  <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1760  <b>ifconfig mec0 10.0.0.1; route add default 10.0.0.254  <b>ifconfig mec0 10.0.0.1; route add default 10.0.0.254
1761  mount -v 10.0.0.2:/tftpboot /mnt  mount -v 10.0.0.2:/tftpboot /mnt
1762  cd /mnt/dev; ./MAKEDEV all; cd /; umount /mnt  cd /mnt/dev; ./MAKEDEV all; cd /; umount /mnt
1763  halt</b>  halt</b>
1764  </pre></td></tr></table>  </pre></td></tr></table>
1765            You might want to log in as <tt>root</tt> on the server machine, and
1766            run <tt>tcpdump -lnvv</tt> or similar, to see that what the client
1767            machine actually does on the network. The <tt>MAKEDEV</tt> script
1768            takes almost forever, so be patient.
1769  </ol>  </ol>
1770    
 <p>You might want to log in as <tt>root</tt> on the server machine, and  
 run <tt>tcpdump -lnvv</tt> or similar, to see that what the client machine  
 actually does on the network. The <tt>MAKEDEV</tt> script takes almost  
 forever, so be patient.  
1771    
1772  <p><font color="#ff0000">NOTE: Everything up to this point should work.  <p><font color="#ff0000">NOTE: Everything up to this point should work.
1773  However, the next step (in gray) doesn't actually work:</font>  However, the next step (in gray) doesn't actually work:</font>
# Line 1575  fetch several cups of coffee for each of Line 1799  fetch several cups of coffee for each of
1799    
1800    
1801    
1802    
1803    
1804    
1805    <p><br>
1806    <a name="openbsdarcinstall"></a>
1807    <h3>OpenBSD/arc:</h3>
1808    
1809    It is (almost) possible to install and run OpenBSD/arc on an emulated Acer
1810    PICA-61 in the emulator.
1811    
1812    <p><font color="#e00000">Earlier, I had this guest OS listed as
1813    officially working in the emulator, but for several reasons, it has
1814    been moved down here to the "informative-but-not-really-working"
1815    section.</font>
1816    
1817    <p>
1818    <ul>
1819      <li>The last OpenBSD/arc release was 2.3. This means that it is very
1820            old, it would not give a fair picture of what OpenBSD is (if you
1821            are just looking to find out what it is like), and it is not
1822            worth experimenting with it. See
1823            <a href="http://www.openbsd.org/arc.html">http://www.openbsd.org/arc.html</a>
1824            for more information.
1825      <li>OpenBSD/arc was (if I understood things correctly) never really
1826            stable, even on real hardare. Problems with too small an interrupt
1827            stack. Bugs are triggered in the emulator that have to do with
1828            issues such as this.
1829    </ul>
1830    
1831    <p>
1832    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1833    <a href="20041024-openbsd-arc-installed.gif"><img src="20041024-openbsd-arc-installed_small.gif"></a>
1834    
1835    <p>
1836    <font color="#e00000">Currently, I don't test for every release whether
1837    or not OpenBSD/arc can be installed. Releases prior to 0.3.7
1838    (but probably <i>not</i> 0.3.7) should work. Anyway, here are the
1839    old installation instructions:</font>
1840    
1841    <p>To install OpenBSD/arc onto an emulated harddisk image, follow these
1842    instructions:
1843    
1844    <p>
1845    <ol>
1846      <li>Create an empty harddisk image, which will be the root disk
1847            that OpenBSD installs itself onto:<pre>
1848            <b>dd if=/dev/zero of=obsd_arc.img bs=1024 count=1 seek=700000</b>
1849    
1850    </pre>
1851      <li>Download the entire arc directory from the ftp server: (approx. 75 MB)<pre>
1852            <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>
1853    
1854    </pre>
1855    
1856      <li>You now need to make an ISO image of the entire directory you downloaded.
1857            (I recommend using <tt>mkisofs</tt> for that purpose. If you don't
1858            already have <tt>mkisofs</tt> installed on your system, you need
1859            to install it in order to do this.)<pre>
1860            <b>mkisofs -o openbsd_arc_2.3.iso ftp.se.openbsd.org/pub/OpenBSD/</b>
1861    
1862    </pre>
1863      <li>Start the emulator using this command line:<pre>
1864            <b>gxemul -e pica -X -d obsd_arc.img -d b:openbsd_arc_2.3.iso -j 2.3/arc/bsd.rd</b>
1865    
1866    </pre>
1867            and proceed like you would do if you were installing OpenBSD
1868            on a real Acer PICA-61. (Answer 'no' when asked if you want to
1869            configure networking, and then install from CD-ROM.)
1870    </ol>
1871    
1872    <p>
1873    Once the install has finished, the following command should let you
1874    boot from the harddisk image:
1875    <p>
1876    <pre>
1877            <b>gxemul -X -e pica -d obsd_arc.img ftp.se.openbsd.org/pub/OpenBSD/2.3/arc/bsd</b>
1878    
1879    </pre>
1880    
1881    The system is very sensitive to (I think) kernel stack overflow, so it
1882    crashes easily. If I remember correctly from mailing lists, this also
1883    happened on real hardware.
1884    
1885    
1886    
1887    
1888    
1889    
1890    
1891    
1892    
1893    
1894    
1895    <p><br>
1896    <a name="debiancats"></a>
1897    <h3>Debian GNU/Linux for CATS:</h3>
1898    
1899    Debian GNU/Linux for CATS (ARM) could <i>theoretically</i> run in GXemul,
1900    however:
1901    
1902    <ul>
1903      <li>The DEC 21143 NIC is not emulated well enough for Linux to accept it.
1904      <li>Development of Debian for CATS seems to have died? The latest
1905            install kernel is quite old.
1906    </ul>
1907    
1908    <p><font color="#ff0000">IT DOES <b>NOT</b> WORK YET!</font>
1909    
1910    <p>The following installation instructions would theoretically work:
1911    
1912    <p>
1913    <ol>
1914      <li>Create an empty harddisk image, which will be the root disk
1915            that Debian installs itself onto:<pre>
1916            <b>dd if=/dev/zero of=debian_cats.img bs=1024 count=1 seek=3300000</b>
1917    
1918    </pre>
1919      <li>Download the tftpboot install kernel:<pre>
1920            <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>
1921    
1922    </pre>
1923      <li>Start the installation using the following command line:<pre>
1924            <b>gxemul -XEcats -d debian_cats.img tftpboot.img</b>
1925    
1926    </pre>
1927    </ol>
1928    
1929    <p>It doesn't work, though, because the NIC isn't working well enough.
1930    
1931    <p>The only use of Debian/CATS in the emulator right now is as a way to
1932    manipulate Linux disk images, if you are on a non-Linux host. By choosing
1933    "Execute a shell" in the installer's menu, you can have access to tools such as
1934    fdisk and mke2fs, which are useful for creating Linux paritions on disk images.
1935    
1936    
1937    
1938    
1939    
1940    
1941    
1942    
1943    <p><br>
1944    <a name="linux_qemu_mips"></a>
1945    <h3>Linux/QEMU_MIPS:</h3>
1946    
1947    I've added a semi-bogus machine mode which tries to
1948    mimic the MIPS machine mode used in Fabrice Bellard's
1949    <a href="http://fabrice.bellard.free.fr/qemu/">QEMU</a>.
1950    
1951    <p>Follow these steps to download and run the Linux/QEMU_MIPS test
1952    ramdisk kernel:
1953    
1954    <p><ol>
1955      <li>Download <a href="http://fabrice.bellard.free.fr/qemu/mips-test-0.1.tar.gz">mips-test-0.1.tar.gz</a>
1956            from <a href="http://fabrice.bellard.free.fr/qemu/download.html">http://fabrice.bellard.free.fr/qemu/download.html</a>,
1957            and extract its contents (<tt>tar zxvf mips-test-0.1.tar.gz</tt>).
1958      <p>
1959      <li>Test it in GXemul using the following command line:<pre>
1960            <b>gxemul -E qemu_mips -o 'console=ttyS0 root=/dev/ram
1961                    rd_start=0x80800000 rd_size=10000000 init=/bin/sh'
1962                    0x80800000:mips-test/initrd mips-test/vmlinux-r1</b>
1963    
1964    </pre>
1965    </ol>
1966    
1967    <p><i>"QEMU is a FAST! processor emulator"</i> according to <a
1968    href="http://fabrice.bellard.free.fr/qemu/qemu-doc.html">http://fabrice.bellard.free.fr/qemu/qemu-doc.html</a>.
1969    Sometimes QEMU is faster than GXemul, sometimes it is the other way
1970    around. A quick (and quite unfair) test on my laptop (1.8 GHz Turion ML32,
1971    I think, in AMD64 mode) comparing QEMU 0.8.1 installed as a binary package
1972    from FreeBSD ports with GXemul gave the following result:
1973    
1974    <p><pre>
1975            <b>while true; do ls -l > /dev/null; echo -n .; done</b>
1976            (80 x 36 dots)
1977            QEMU 0.8.1:       13 min 48 sec
1978            GXemul 20060711:   7 min 54 sec
1979            GXemul 0.4.1:      4 min 59 sec
1980    
1981            <b>while true; do /usr/bin/md5sum /usr/bin/* > /dev/null; echo -n .; done</b>
1982            (80 dots)
1983            QEMU 0.8.1:        2 min  9 sec
1984            GXemul 20060711:   8 min 49 sec
1985            GXemul 0.4.1:      6 min 54 sec
1986    
1987            <b>while true; do grep hej lib/libtextwrap.so.1 > /dev/null; echo -n .; done</b>
1988            (80 dots)
1989            QEMU 0.8.1:       10 min  5 sec
1990            GXemul 20060711:   3 min  8 sec
1991            GXemul 0.4.1:      1 min 42 sec
1992    </pre>
1993    
1994    <p>The commands were run inside the emulators, using the ramdisk kernel
1995    mentioned above. (For GXemul, 2006-07-11 was the date when the QEMU_MIPS
1996    mode was added. Performance has since gotten a bit better in general, for
1997    non-R3000 MIPS emulation.)
1998    
1999    
2000    
2001    
2002    
2003    
2004    
2005    
2006    <p><br>
2007    <a name="windows_nt_mips"></a>
2008    <h3>Windows NT/MIPS:</h3>
2009    
2010    Old versions of Windows NT could run on MIPS hardware, e.g.
2011    the PICA 61. It is theoretically possible that the emulation provided by
2012    GXemul some day could be stable/complete enough to emulate
2013    such hardware well enough to fool Windows NT into thinking
2014    that it is running on a real machine.
2015    <font color="#ff0000">IT DOES <b>NOT</b> WORK YET!</font>
2016    
2017    <p>Something like this would be done to install
2018    Windows NT onto a disk image:
2019    
2020    <ol>
2021            <li>Put a "Windows NT 4.0 for MIPS" CDROM (or similar) into
2022                    your CDROM drive. (On FreeBSD systems, it is
2023                    usually called <tt>/dev/cd0c</tt> or similar. Change
2024                    that to whatever the CDROM is called on your system,
2025                    or the name of a raw .iso image. I have tried this
2026                    with the Swedish version, but it might work with
2027                    other versions too.)
2028            <p>
2029            <li>Create an empty harddisk image, which will be the disk image
2030                    that you will install Windows NT onto:<pre>
2031            $ <b><tt>dd if=/dev/zero of=winnt_test.img bs=1024 count=1 seek=999000</tt></b>
2032    
2033    </pre>
2034            <li>Run the ARC installer, to partition the disk image:<pre>
2035            $ <b><tt>gxemul -X -e pica -d winnt_test.img -d bc6:/dev/cd0c -j MIPS\\ARCINST</tt></b>
2036    </pre>
2037            Note that <tt>ARCINST</tt> <i>almost</i> works, but not quite.
2038            <p>
2039            <li>Run the SETUP program:<pre>
2040            $ <b><tt>gxemul -X -e pica -d winnt_test.img -d bc6:/dev/cd0c -j MIPS\\SETUPLDR</tt></b>
2041    </pre>
2042    </ol>
2043    
2044    <p><tt>SETUPLDR</tt> manages to load some drivers from the cdrom,
2045    but then it crashes because of incomplete emulation of some hardware devices.
2046    
2047    
2048    
2049    
2050    
2051    
2052    
2053    <p><br>
2054    <a name="netbsdnetwinderinstall"></a>
2055    <h3>NetBSD/netwinder:</h3>
2056    
2057    <a href="http://www.netbsd.org/Ports/netwinder/">NetBSD/netwinder</a>
2058    could possibly run in GXemul.
2059    <font color="#ff0000">IT DOES <b>NOT</b> WORK YET!</font>
2060    
2061    <p>It is tricky to install, because there is (as far as I know) no INSTALL
2062    kernel. One way to install the NetBSD/netwinder distribution onto a disk
2063    image is to install the files using another (emulated) machine.
2064    
2065    <p>
2066    The following instructions will let you install the NetBSD/netwinder
2067    distribution onto a disk image, from an emulated DECstation 3MAX machine:
2068    
2069    <p>
2070    <ol>
2071      <li>Install NetBSD/pmax 3.0 according to instructions
2072            <a href="#netbsdpmaxinstall">further up on this page</a>.
2073      <p>
2074      <li>Create an empty harddisk image, which will be the disk image
2075            that you will install NetBSD onto:<pre>
2076            <b>dd if=/dev/zero of=nbsd_netwinder.img bs=1024 count=1 seek=999000</b>
2077    
2078    </pre>
2079      <li>Download the generic kernel and the 2.1 ISO image:<pre>
2080            <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>
2081            <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>
2082    
2083    </pre>
2084      <p>
2085      <li>Start NetBSD/pmax like this:<pre>
2086            <b>gxemul -e 3max -d nbsd_pmax.img -d nbsd_netwinder.img -d netwinder.iso</b>
2087    
2088    </pre>and execute the following commands as <tt>root</tt>:
2089    <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
2090    <b>newfs /dev/sd1c
2091    mount /dev/cd0c /mnt
2092    mkdir /mnt2; mount /dev/sd1c /mnt2
2093    cd /mnt2; sh
2094    for a in /mnt/netwinder/binary/sets/*.tgz; do echo $a; tar zxfp $a; done
2095    exit
2096    cd dev; sh ./MAKEDEV all; cd ../etc
2097    echo rc_configured=YES >> rc.conf
2098    echo "/dev/wd0c / ffs rw 1 1" > fstab
2099    cd /; umount /mnt; umount /mnt2; halt</b>
2100    </pre></td></tr></table>
2101    </ol>
2102    
2103    <p>NetBSD/netwinder is now installed on the disk image. But actually
2104    running it does <b>not work yet</b>. Sorry.
2105    
2106    <p>Something like the following command line would be used to start
2107    NetBSD, if it worked:<pre>
2108            <b>gxemul -E netwinder -d nbsd_netwinder.img netbsd-GENERIC.gz</b>
2109    </pre>
2110    
2111    <p>Note: The installation instructions above create a filesystem
2112    <i>without</i> a disklabel, so there is only one ffs partition and no
2113    swap. You will need to enter the following things when booting with the
2114    generic kernel:<pre>
2115            root device (default wd0a): <b>wd0c</b>
2116            dump device (default wd0b): <b>none</b>
2117            file system (default generic):    <i>(just press enter)</i>
2118            init path (default /sbin/init):   <i>(just press enter)</i>
2119    </pre>
2120    
2121    
2122    
2123    
2124    
2125    
2126    
2127    
2128    <p><br>
2129    <a name="netbsdmacppcinstall"></a>
2130    <h3>NetBSD/macppc:</h3>
2131    
2132    It is <font color="#ff0000"><b>ALMOST</b></font> possible to install and run
2133    <a href="http://www.netbsd.org/Ports/macppc/">NetBSD/macppc</a> in GXemul
2134    on an emulated generic PowerPC machine. No specific Machintosh model
2135    is emulated, but it is enough to for NetBSD to recognize it.
2136    
2137    <p>To install NetBSD/macppc onto a disk image, follow these instructions:
2138    
2139    <p>
2140    <ol start="1">
2141      <li>Create an empty harddisk image, which will be the root disk
2142            that you will install NetBSD/macppc onto:<pre>
2143        <b>dd if=/dev/zero of=nbsd_macppc.img bs=1024 count=1 seek=2000000</b>
2144    
2145    </pre>
2146      <li>Download the NetBSD/macppc 3.0 ISO image and a generic kernel:<pre>
2147        <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/3.0/macppccd-3.0.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/3.0/macppccd-3.0.iso</a>
2148        <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.0/macppc/binary/kernel/">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.0/macppc/binary/kernel</a>/<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-3.0/macppc/binary/kernel/netbsd-GENERIC.MP.gz">netbsd-GENERIC.MP.gz</a>
2149    
2150    </pre>
2151      <p>
2152      <li>Start the installation like this:<pre>
2153        <b>gxemul -x -e g4 -d nbsd_macppc.img -d b:macppccd-3.0.iso -j macppc/binary/kernel/netbsd-INSTALL.gz</b>
2154    
2155    </pre>
2156    </ol>
2157    
2158    <p>If everything worked, NetBSD/macppc should now be installed on the disk image.
2159    
2160    <p><font color="#ff0000"><b>2006-02-26:</b></font> That's it. The installation
2161    succeeds, but it is not possible to start from the newly installed disk.
2162    /sbin/init dies, so the following command doesn't really work yet:
2163    
2164    <p>Use the following command line to boot the emulated machine:<pre>
2165            <b>gxemul -x -e g4 -d nbsd_macppc.img netbsd-GENERIC.MP.gz</b>
2166    
2167    </pre>
2168    
2169    
2170    
2171    
2172    
2173  </p>  </p>

Legend:
Removed from v.10  
changed lines
  Added in v.28

  ViewVC Help
Powered by ViewVC 1.1.26