/[gxemul]/trunk/doc/configfiles.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/configfiles.html

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

revision 4 by dpavlin, Mon Oct 8 16:18:00 2007 UTC revision 22 by dpavlin, Mon Oct 8 16:19:37 2007 UTC
# Line 1  Line 1 
1  <html>  <html><head><title>Gavare's eXperimental Emulator:&nbsp;&nbsp;&nbsp;Configuration files</title>
2  <head><title>GXemul documentation: Configuration files</title>  <meta name="robots" content="noarchive,nofollow,noindex"></head>
 </head>  
3  <body bgcolor="#f8f8f8" text="#000000" link="#4040f0" vlink="#404040" alink="#ff0000">  <body bgcolor="#f8f8f8" text="#000000" link="#4040f0" vlink="#404040" alink="#ff0000">
4  <table border=0 width=100% bgcolor="#d0d0d0"><tr>  <table border=0 width=100% bgcolor="#d0d0d0"><tr>
5  <td width=100% align=center valign=center><table border=0 width=100%><tr>  <td width=100% align=center valign=center><table border=0 width=100%><tr>
6  <td align="left" valign=center bgcolor="#d0efff"><font color="#6060e0" size="6">  <td align="left" valign=center bgcolor="#d0efff"><font color="#6060e0" size="6">
7  <b>GXemul documentation:</b></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <b>Gavare's eXperimental Emulator:</b></font><br>
8  <font color="#000000" size="6"><b>Configuration files</b>  <font color="#000000" size="6"><b>Configuration files</b>
9  </font></td></tr></table></td></tr></table><p>  </font></td></tr></table></td></tr></table><p>
 <!-- The first 10 lines are cut away by the homepage updating script.  -->  
   
10    
11  <!--  <!--
12    
13  $Id: configfiles.html,v 1.6 2005/04/16 00:29:45 debug Exp $  $Id: configfiles.html,v 1.19 2006/02/18 15:18:15 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 51  SUCH DAMAGE. Line 48  SUCH DAMAGE.
48  <ul>  <ul>
49    <li><a href="#config">Configuration file syntax</a>    <li><a href="#config">Configuration file syntax</a>
50    <li><a href="#minimal">A minimal example</a>    <li><a href="#minimal">A minimal example</a>
51      <li><a href="#multihost">Network across multiple hosts</a>
52  </ul>  </ul>
53    
54    
# Line 79  through an example is good enough: Line 77  through an example is good enough:
77  <b>emul(</b>  <b>emul(</b>
78      <b>name(<font color="#ff003f">"my test emul"</font>)</b>     <font color="#2020cf">!  Optional name of this emulation</font>      <b>name(<font color="#ff003f">"my test emul"</font>)</b>     <font color="#2020cf">!  Optional name of this emulation</font>
79    
80      <font color="#2020cf">!  This creates a network (ethernet):</font>      <font color="#2020cf">!  This creates an ethernet network:</font>
81      <b>net(</b>      <b>net(</b>
82          <b>ipv4net(<font color="#ff003f">"10.2.0.0"</font>)</b>  <font color="#2020cf">!  The default is 10.0.0.0/8, but</font>          <b>ipv4net(<font color="#ff003f">"10.2.0.0"</font>)</b>  <font color="#2020cf">!  The default is 10.0.0.0/8, but</font>
83          <b>ipv4len(16)</b>          <font color="#2020cf">!  it can be overridden like this.</font>          <b>ipv4len(16)</b>          <font color="#2020cf">!  it can be overridden like this.</font>
84            <font color="#2020cf">!  local_port(12345)</font>
85            <font color="#2020cf">!  add_remote("localhost:12346")</font>
86      <b>)</b>      <b>)</b>
87    
88      <font color="#2020cf">!  This creates a machine:</font>      <font color="#2020cf">!  This creates a machine:</font>
# Line 96  through an example is good enough: Line 96  through an example is good enough:
96          <b>type(<font color="#ff003f">"dec"</font>)</b>         <font color="#2020cf">!  This is actually not optional</font>          <b>type(<font color="#ff003f">"dec"</font>)</b>         <font color="#2020cf">!  This is actually not optional</font>
97          <b>subtype(<font color="#ff003f">"5000/200"</font>)</b>          <b>subtype(<font color="#ff003f">"5000/200"</font>)</b>
98    
99          <b>cpu(R3000)</b>      <font color="#2020cf">!  Normally set implicitly to a reasonable</font>          <b>cpu(<font color="#ff003f">"R3000"</font>)</b>    <font color="#2020cf">!  Normally set implicitly to a reasonable</font>
100                          <font color="#2020cf">!  value, depending on <i>type</i> and <i>subtype</i></font>                          <font color="#2020cf">!  value, depending on <i>type</i> and <i>subtype</i></font>
101    
102          <font color="#2020cf">! ncpus(4)</font>          <font color="#2020cf">! ncpus(4)</font>
# Line 136  through an example is good enough: Line 136  through an example is good enough:
136          <font color="#2020cf">! force_netboot(yes)</font>          <font color="#2020cf">! force_netboot(yes)</font>
137          <font color="#2020cf">! start_paused(yes)</font>          <font color="#2020cf">! start_paused(yes)</font>
138    
139            <font color="#2020cf">! max_random_cycles(5)</font>
140    
141          <b>disk(<font color="#ff003f">"nbsd.img"</font>)</b>          <b>disk(<font color="#ff003f">"nbsd.img"</font>)</b>
142          <b>disk(<font color="#ff003f">"6c:cdrom.iso"</font>)</b>          <b>disk(<font color="#ff003f">"6c:cdrom.iso"</font>)</b>
143    
# Line 186  through an example is good enough: Line 188  through an example is good enough:
188  Starting the emulator with a configuration file is as simple as  Starting the emulator with a configuration file is as simple as
189    
190  <pre>  <pre>
191          $ <b>./gxemul @myconfig</b>          $ <b>gxemul @myconfig</b>
192  </pre>  </pre>
193    
194  if <b>myconfig</b> is the name of the configuration file.  if <b>myconfig</b> is the name of the configuration file.
# Line 196  if <b>myconfig</b> is the name of the co Line 198  if <b>myconfig</b> is the name of the co
198    
199    
200    
201    
202    
203  <p><br>  <p><br>
204  <a name="minimal"></a>  <a name="minimal"></a>
205  <h3>A minimal example:</h3>  <h3>A minimal example:</h3>
206    
207  Here is an example of what a minimal configuration file might look like:  Here is an example of what a minimal configuration file might look like:
208    
209  <p>  <p><table border="0"><tr><td width="40">&nbsp;</td><td><pre>
 <table border="0"><tr><td width="40">&nbsp;</td><td>  
 <pre>  
210  <font color="#2020cf">!!gxemul</font>  <font color="#2020cf">!!gxemul</font>
   
211  <b>emul(</b>  <b>emul(</b>
212      <b>machine(</b>      <b>machine(</b>
         <b>type(<font color="#ff003f">"dec"</font>)</b>  
213          <b>subtype(<font color="#ff003f">"3max"</font>)</b>          <b>subtype(<font color="#ff003f">"3max"</font>)</b>
214          <b>load(<font color="#ff003f">"netbsd-pmax-INSTALL-2.0"</font>)</b>          <b>load(<font color="#ff003f">"netbsd-pmax-INSTALL-2.0"</font>)</b>
215      <b>)</b>      <b>)</b>
# Line 217  Here is an example of what a minimal con Line 217  Here is an example of what a minimal con
217  </pre>  </pre>
218  </td></tr></table>  </td></tr></table>
219    
220  <p>  <p>For most machine types, <tt>type</tt> is needed. If only
221  For some machine types, specifying the <b>subtype</b> might not even be  <tt>subtype</tt> is specified, and the name is unique (i.e. there is only
222  necessary. Also, adding a <b>net</b> is quite useful, especially for  one major type which has such a subtype), then the <tt>type</tt> can be
223    omitted. Also, adding a <tt>net</tt> is quite useful, especially for
224  netbooting kernels.  netbooting kernels.
225    
226    
227    
228    
229    
230    
231    <p><br>
232    <a name="multihost"></a>
233    <h3>Network across multiple hosts:</h3>
234    
235    <p>It is possible to add multiple <tt>machine</tt> entries into one
236    configuration file. This will cause the emulator to try to run all those
237    machines simultaneously. An alternative (and better) solution for doing
238    this, which gives higher reliability (stability) and performance, is to
239    have one configuration file per emulated machine.
240    
241    <p><table border="0" width="100%"><tr><td width="40">&nbsp;</td>
242    <td><pre>
243    <font color="#2020cf">!!gxemul
244    !
245    !  Configuration file for a
246    !  "client" machine, netbooting
247    !  of another machine.</font>
248    
249    <b>emul(</b>
250        <b>net(</b>
251            <b>local_port(15000)</b>
252            <b>add_remote(<font color="#ff003f">"localhost:15001"</font>)</b>
253        <b>)</b>
254        <b>machine(</b>
255            <b>name(<font color="#ff003f">"client machine"</font>)</b>
256            <b>serial_nr(1)</b>     <font color="#2020cf">!  10.0.0.1</font>
257    
258            <b>type(<font color="#ff003f">"sgi"</font>)</b>
259            <b>subtype(<font color="#ff003f">"o2"</font>)</b>
260            <b>load(<font color="#ff003f">"netbsd-GENERIC32_IP3x.gz"</font>)</b>
261        <b>)</b>
262    <b>)</b></pre></td><td width="20">&nbsp;</td><td><pre>
263    <font color="#2020cf">!!gxemul
264    !
265    !  Configuration file for the
266    !  "server" machine.</font>
267    !
268    
269    <b>emul(</b>
270        <b>net(</b>
271            <b>local_port(15001)</b>
272            <b>add_remote(<font color="#ff003f">"localhost:15000"</font>)</b>
273        <b>)</b>
274        <b>machine(</b>
275            <b>name(<font color="#ff003f">"nfs server"</font>)</b>
276            <b>serial_nr(2)</b>     <font color="#2020cf">!  10.0.0.2</font>
277    
278            <b>type(<font color="#ff003f">"dec"</font>)</b>
279            <b>subtype(<font color="#ff003f">"3max"</font>)</b>
280            <b>disk(<font color="#ff003f">"nbsd_pmax.img"</font>)</b>
281        <b>)</b>
282    <b>)</b></pre></td><td width="20">&nbsp;</td></tr></table>
283    
284    <p>This example creates a network using the default settings (10.0.0.0/8),
285    but it also allows the network to be connected to other emulator
286    instances. <tt>local_port(15000)</tt> means that anything coming in to
287    UDP port 15000 on the host is added to the network. All ethernet packets
288    on the network are also sent out to all other connected machines (those
289    added with <tt>add_remote()</tt>).
290    
291    <p>As you can see in the example, this is a configuration file for
292    netbooting a NetBSD/sgimips diskless machine, with a NetBSD/pmax machine
293    acting as the nfs server. Note that the nfs server has ports 15000 and
294    15001 reversed!
295    
296    <p>"<tt>localhost</tt>" can be changed to the Internet hostname of a
297    remote machine, to run the simulation across a physical network.
298    
299    <p><font color="#ff0000"><b>NOTE:</b> There is no error checking or
300    security checking of any kind. All UDP packets arriving at the input port
301    are added to the emulated ethernet. This is not very good of course; use
302    this feature at your own risk.</font>
303    
304    
305    
306    
307  </p>  </p>
308    

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

  ViewVC Help
Powered by ViewVC 1.1.26