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

Legend:
Removed from v.8  
changed lines
  Added in v.40

  ViewVC Help
Powered by ViewVC 1.1.26