/[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

Annotation of /trunk/doc/guestoses.html

Parent Directory Parent Directory | Revision Log Revision Log


Revision 30 - (hide annotations)
Mon Oct 8 16:20:40 2007 UTC (13 years, 3 months ago) by dpavlin
File MIME type: text/html
File size: 88137 byte(s)
++ trunk/HISTORY	(local)
$Id: HISTORY,v 1.1325 2006/08/15 15:38:37 debug Exp $
20060723	More Transputer instructions (pfix, nfix, opr, mint, ldl, ldlp,
		eqc, rev, ajw, stl, stlf, sthf, sub, ldnl, ldnlp, ldpi, move,
		wcnt, add, bcnt).
		Adding more SPARC instructions (andcc, addcc, bl, rdpr).
		Progress on the igsfb framebuffer used by NetBSD/netwinder.
		Enabling 8-bit fills in dev_fb.
		NetBSD/netwinder 3.0.1 can now run from a disk image :-)
20060724	Cleanup/performance fix for 64-bit virtual translation table
		updates (by removing the "timestamp" stuff). A full NetBSD/pmax
		3.0.1 install for R4400 has dropped from 667 seconds to 584 :)
		Fixing the igsfb "almost vga" color (it is 24-bit, not 18-bit).
		Adding some MIPS instruction combinations (3*lw, and 3*addu).
		The 8048 keyboard now turns off interrupt enable between the
		KBR_ACK and the KBR_RSTDONE, to work better with Linux 2.6.
		Not causing PPC DEC interrupts if PPC_NO_DEC is set for a
		specific CPU; NetBSD/bebox gets slightly further than before.
		Adding some more SPARC instructions: branches, udiv.
20060725	Refreshing dev_pckbc.c a little.
		Cleanups for the SH emulation mode, and adding the first
		"compact" (16-bit) instructions: various simple movs, nop,
		shll, stc, or, ldc.
20060726	Adding dummy "pcn" (AMD PCnet NIC) PCI glue.
20060727	Various cleanups; removing stuff from cpu.h, such as
		running_translated (not really meaningful anymore), and
		page flags (breaking into the debugger clears all translations
		anyway).
		Minor MIPS instruction combination updates.
20060807	Expanding the 3*sw and 3*lw MIPS instruction combinations to
		work with 2* and 4* too, resulting in a minor performance gain.
		Implementing a usleep hack for the RM52xx/MIPS32/MIPS64 "wait"
		instruction (when emulating 1 cpu).
20060808	Experimenting with some more MIPS instruction combinations.
		Implementing support for showing a (hardcoded 12x22) text
		cursor in igsfb.
20060809	Simplifying the NetBSD/evbmips (Malta) install instructions
		somewhat (by using a NetBSD/pmax ramdisk install kernel).
20060812	Experimenting more with the MIPS 'wait' instruction.
		PCI configuration register writes can now be handled, which
		allow PCI IDE controllers to work with NetBSD/Malta 3.0.1 and
		NetBSD/cobalt 3.0.1. (Previously only NetBSD 2.1 worked.)
20060813	Updating dev_gt.c based on numbers from Alec Voropay, to enable
		Linux 2.6 to use PCI on Malta.
		Continuing on Algor interrupt stuff.
20060814	Adding support for routing ISA interrupts to two different
		interrupts, making it possible to run NetBSD/algor :-)
20060814-15	Testing for the release.

==============  RELEASE 0.4.2  ==============


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

  ViewVC Help
Powered by ViewVC 1.1.26