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

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


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

  ViewVC Help
Powered by ViewVC 1.1.26