/[gxemul]/trunk/doc/guestoses.html
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Annotation of /trunk/doc/guestoses.html

Parent Directory Parent Directory | Revision Log Revision Log


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

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

  ViewVC Help
Powered by ViewVC 1.1.26