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

Contents of /trunk/doc/guestoses.html

Parent Directory Parent Directory | Revision Log Revision Log


Revision 38 - (show annotations)
Mon Oct 8 16:21:53 2007 UTC (16 years, 6 months ago) by dpavlin
File MIME type: text/html
File size: 96062 byte(s)
++ trunk/HISTORY	(local)
$Id: HISTORY,v 1.1515 2007/04/14 05:39:46 debug Exp $
20070324	Adding a "--debug" option to the configure script, to disable
		optimizations in unstable development builds.
		Moving out SCSI-specific stuff from diskimage.c into a new
		diskimage_scsicmd.c.
		Applying Hĺvard Eidnes' patch for SCSICDROM_READ_DISKINFO and
		SCSICDROM_READ_TRACKINFO. (Not really tested yet.)
		Implementing disk image "overlays" (to allow simple roll-back
		to previous disk state). Adding a 'V' disk flag for this, and
		updating the man page and misc.html.
20070325	Stability fix to cpu_dyntrans.c, when multiple physical pages
		share the same initial table entry. (The ppp == NULL check
		should be physpage_ofs == 0.) Bug found by analysing GXemul
		against a version patched for Godson.
		Fixing a second occurance of the same problem (also in
		cpu_dyntrans.c).
		Fixing a MAJOR physical page leak in cpu_dyntrans.c; pages
		weren't _added_ to the set of translated pages, they _replaced_
		all previous pages. It's amazing that this bug has been able
		to live for this long. (Triggered when emulating >128MB RAM.)
20070326	Removing the GDB debugging stub support; it was too hackish
		and ugly.
20070328	Moving around some native code generation skeleton code.
20070329	The -lm check in the configure script now also checks for sin()
		in addition to sqrt(). (Thanks to Nigel Horne for noticing that
		sqrt was not enough on Fedora Core 6.) (Not verified yet.)
20070330	Fixing an indexing bug in dev_sh4.c, found by using gcc version
		4.3.0 20070323.
20070331	Some more experimentation with native code generation.
20070404	Attempting to fix some more SH4 SCIF interrupt bugs; rewriting
		the SH interrupt assertion/deassertion code somewhat.
20070410	Splitting src/file.c into separate files in src/file/.
		Cleanup: Removing the dummy TS7200, Walnut, PB1000, and
		Meshcube emulation modes, and dev_epcom and dev_au1x00.
		Removing the experimental CHIP8/RCA180x code; it wasn't really
		working much lately, anyway. It was fun while it lasted.
		Also removing the experimental Transputer CPU support.
20070412	Moving the section about how the dynamic translation system
		works from intro.html to a separate translation.html file.
		Minor SH fixes; attempting to get OpenBSD/landisk to run
		without randomly bugging out, but no success yet.
20070413	SH SCI (serial bit interface) should now work together with a
		(new) RS5C313 clock device (for Landisk emulation).
20070414	Moving Redhat/MIPS down from supported to experimental, in
		guestoses.html.
		Preparing for a new release; doing some regression testing etc.

==============  RELEASE 0.4.5  ==============


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

  ViewVC Help
Powered by ViewVC 1.1.26