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

Diff of /trunk/doc/guestoses.html

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

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

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

  ViewVC Help
Powered by ViewVC 1.1.26