/[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 44 - (show annotations)
Mon Oct 8 16:22:56 2007 UTC (16 years, 5 months ago) by dpavlin
File MIME type: text/html
File size: 98913 byte(s)
++ trunk/HISTORY	(local)
$Id: HISTORY,v 1.1632 2007/09/11 21:46:35 debug Exp $
20070616	Implementing the MIPS32/64 revision 2 "ror" instruction.
20070617	Adding a struct for each physpage which keeps track of which
		ranges within that page (base offset, length) that are
		continuously translatable. When running with native code
		generation enabled (-b), a range is added after each read-
		ahead loop.
		Experimenting with using the physical program counter sample
		data (implemented 20070608) together with the "translatable
		range" information, to figure out which physical address ranges
		would be worth translating to native code (if the number of
		samples falling within a range is above a certain threshold).
20070618	Adding automagic building of .index comment files for
		src/file/, src/promemul/, src src/useremul/ as well.
		Adding a "has been translated" bit to the ranges, so that only
		not-yet-translated ranges will be sampled.
20070619	Moving src/cpu.c and src/memory_rw.c into src/cpus/,
		src/device.c into src/devices/, and src/machine.c into
		src/machines/.
		Creating a skeleton cc/ld native backend module; beginning on
		the function which will detect cc command line, etc.
20070620	Continuing on the native code generation infrastructure.
20070621	Moving src/x11.c and src/console.c into a new src/console/
		subdir (for everything that is console or framebuffer related).
		Moving src/symbol*.c into a new src/symbol/, which should
		contain anything that is symbol handling related.
20070624	Making the program counter sampling threshold a "settings
		variable" (sampling_threshold), i.e. it can now be changed
		during runtime.
		Switching the RELEASE notes format from plain text to HTML.
		If the TMPDIR environment variable is set, it is used instead
		of "/tmp" for temporary files.
		Continuing on the cc/ld backend: simple .c code is generated,
		the compiler and linker are called, etc.
		Adding detection of host architecture to the configure script
		(again), and adding icache invalidation support (only
		implemented for Alpha hosts so far).
20070625	Simplifying the program counter sampling mechanism.
20070626	Removing the cc/ld native code generation stuff, program
		counter sampling, etc; it would not have worked well in the
		general case.
20070627	Removing everything related to native code generation.
20070629	Removing the (practically unusable) support for multiple
		emulations. (The single emulation allowed now still supports
		multiple simultaneous machines, as before.)
		Beginning on PCCTWO and M88K interrupts.
20070723	Adding a dummy skeleton for emulation of M32R processors.
20070901	Fixing a warning found by "gcc version 4.3.0 20070817
		(experimental)" on amd64.
20070905	Removing some more traces of the old "multiple emulations"
		code.
		Also looking in /usr/local/include and /usr/local/lib for
		X11 libs, when running configure.
20070909	Minor updates to the guest OS install instructions, in
		preparation for the NetBSD 4.0 release.
20070918	More testing of NetBSD 4.0 RC1.

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

  ViewVC Help
Powered by ViewVC 1.1.26