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

Legend:
Removed from v.2  
changed lines
  Added in v.30

  ViewVC Help
Powered by ViewVC 1.1.26