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

Contents of /trunk/doc/guestoses.html

Parent Directory Parent Directory | Revision Log Revision Log


Revision 20 - (show annotations)
Mon Oct 8 16:19:23 2007 UTC (13 years, 3 months ago) by dpavlin
File MIME type: text/html
File size: 69353 byte(s)
++ trunk/HISTORY	(local)
$Id: HISTORY,v 1.1055 2005/11/25 22:48:36 debug Exp $
20051031	Adding disassembly support for more ARM instructions (clz,
		smul* etc), and adding a hack to support "new tiny" pages
		for StrongARM.
20051101	Minor documentation updates (NetBSD 2.0.2 -> 2.1, and OpenBSD
		3.7 -> 3.8, and lots of testing).
		Changing from 1-sector PIO mode 0 transfers to 128-sector PIO
		mode 3 (in dev_wdc).
		Various minor ARM dyntrans updates (pc-relative loads from
		within the same page as the instruction are now treated as
		constant "mov").
20051102	Re-enabling instruction combinations (they were accidentally
		disabled).
		Dyntrans TLB entries are now overwritten using a round-robin
		scheme instead of randomly. This increases performance.
		Fixing a typo in file.c (thanks to Chuan-Hua Chang for
		noticing it).
		Experimenting with adding ATAPI support to dev_wdc (to make
		emulated *BSD detect cdroms as cdroms, not harddisks).
20051104	Various minor updates.
20051105	Continuing on the ATAPI emulation. Seems to work well enough
		for a NetBSD/cats installation, but not OpenBSD/cats.
		Various other updates.
20051106	Modifying the -Y command line option to allow scaleup with
		certain graphic controllers (only dev_vga so far), not just
		scaledown.
		Some minor dyntrans cleanups.
20051107	Beginning a cleanup up the PCI subsystem (removing the
		read_register hack, etc).
20051108	Continuing the cleanup; splitting up some pci devices into a
		normal autodev device and some separate pci glue code.
20051109	Continuing on the PCI bus stuff; all old pci_*.c have been
		incorporated into normal devices and/or rewritten as glue code
		only, adding a dummy Intel 82371AB PIIX4 for Malta (not really
		tested yet).
		Minor pckbc fix so that Linux doesn't complain.
		Working on the DEC 21143 NIC (ethernet mac rom stuff mostly).
		Various other minor fixes.
20051110	Some more ARM dyntrans fine-tuning (e.g. some instruction
		combinations (cmps followed by conditional branch within the
		same page) and special cases for DPIs with regform when the
		shifter isn't used).
20051111	ARM dyntrans updates: O(n)->O(1) for just-mark-as-non-
		writable in the generic pc_to_pointers function, and some other
		minor hacks.
		Merging Cobalt and evbmips (Malta) ISA interrupt handling,
		and some minor fixes to allow Linux to accept harddisk irqs.
20051112	Minor device updates (pckbc, dec21143, lpt, ...), most
		importantly fixing the ALI M1543/M5229 so that harddisk irqs
		work with Linux/CATS.
20051113	Some more generalizations of the PCI subsystem.
		Finally took the time to add a hack for SCSI CDROM TOCs; this
		enables OpenBSD to use partition 'a' (as needed by the OpenBSD
		installer), and Windows NT's installer to get a bit further.
		Also fixing dev_wdc to allow Linux to detect ATAPI CDROMs.
		Continuing on the DEC 21143.
20051114	Minor ARM dyntrans tweaks; ARM cmps+branch optimization when
		comparing with 0, and generalizing the xchg instr. comb.
		Adding disassembly of ARM mrrc/mcrr and q{,d}{add,sub}.
20051115	Continuing on various PPC things (BATs, other address trans-
		lation things, various loads/stores, BeBox emulation, etc.).
		Beginning to work on PPC interrupt/exception support.
20051116	Factoring out some code which initializes legacy ISA devices
		from those machines that use them (bus_isa).
		Continuing on PPC interrupt/exception support.
20051117	Minor Malta fixes: RTC year offset = 80, disabling a speed hack
		which caused NetBSD to detect a too fast cpu, and adding a new
		hack to make Linux detect a faster cpu.
		Continuing on the Artesyn PM/PPC emulation mode.
		Adding an Algor emulation skeleton (P4032 and P5064);
		implementing some of the basics.
		Continuing on PPC emulation in general; usage of unimplemented
		SPRs is now easier to track, continuing on memory/exception
		related issues, etc.
20051118	More work on PPC emulation (tgpr0..3, exception handling,
		memory stuff, syscalls, etc.).
20051119	Changing the ARM dyntrans code to mostly use cpu->pc, and not
		necessarily use arm reg 15. Seems to work.
		Various PPC updates; continuing on the PReP emulation mode.
20051120	Adding a workaround/hack to dev_mc146818 to allow NetBSD/prep
		to detect the clock.
20051121	More cleanup of the PCI bus (memory and I/O bases, etc).
		Continuing on various PPC things (decrementer and timebase,
		WDCs on obio (on PReP) use irq 13, not 14/15).
20051122	Continuing on the CPC700 controller (interrupts etc) for PMPPC,
		and on PPC stuff in general.
		Finally! After some bug fixes to the virtual to physical addr
		translation, NetBSD/{prep,pmppc} 2.1 reach userland and are
		stable enough to be interacted with.
		More PCI updates; reverse-endian device access for PowerPC etc.
20051123	Generalizing the IEEE floating point subsystem (moving it out
		from src/cpus/cpu_mips_coproc.c into a new src/float_emul.c).
		Input via slave xterms was sometimes not really working; fixing
		this for ns16550, and a warning message is now displayed if
		multiple non-xterm consoles are active.
		Adding some PPC floating point support, etc.
		Various interrupt related updates (dev_wdc, _ns16550, _8259,
		and the isa32 common code in machine.c).
		NetBSD/prep can now be installed! :-) (Well, with some manual
		commands necessary before running sysinst.) Updating the
		documentation and various other things to reflect this.
20051124	Various minor documentation updates.
		Continuing the work on the DEC 21143 NIC.
20051125	LOTS of work on the 21143. Both OpenBSD and NetBSD work fine
		with it now, except that OpenBSD sometimes gives a time-out
		warning.
		Minor documentation updates.

==============  RELEASE 0.3.7  ==============


1 <html><head><title>Gavare's eXperimental Emulator:&nbsp;&nbsp;&nbsp;Installing and running "guest OSes"</title>
2 <meta name="robots" content="noarchive,nofollow,noindex"></head>
3 <body bgcolor="#f8f8f8" text="#000000" link="#4040f0" vlink="#404040" alink="#ff0000">
4 <table border=0 width=100% bgcolor="#d0d0d0"><tr>
5 <td width=100% align=center valign=center><table border=0 width=100%><tr>
6 <td align="left" valign=center bgcolor="#d0efff"><font color="#6060e0" size="6">
7 <b>Gavare's eXperimental Emulator:&nbsp;&nbsp;&nbsp;</b></font>
8 <font color="#000000" size="6"><b>Installing and running "guest OSes"</b>
9 </font></td></tr></table></td></tr></table><p>
10
11 <!--
12
13 $Id: guestoses.html,v 1.108 2005/11/25 22:50:32 debug Exp $
14
15 Copyright (C) 2003-2005 Anders Gavare. All rights reserved.
16
17 Redistribution and use in source and binary forms, with or without
18 modification, are permitted provided that the following conditions are met:
19
20 1. Redistributions of source code must retain the above copyright
21 notice, this list of conditions and the following disclaimer.
22 2. Redistributions in binary form must reproduce the above copyright
23 notice, this list of conditions and the following disclaimer in the
24 documentation and/or other materials provided with the distribution.
25 3. The name of the author may not be used to endorse or promote products
26 derived from this software without specific prior written permission.
27
28 THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
29 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
30 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
31 ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
32 FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
33 DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
34 OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
35 HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
36 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
37 OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
38 SUCH DAMAGE.
39
40 -->
41
42
43 <a href="./">Back to the index</a>
44
45 <p><br>
46 <h2>Installing and running "guest OSes"</h2>
47
48 <p>
49 <ul>
50 <li><a href="#generalnotes">General notes on running "guest OSes"</a>
51 <li><a href="#netbsdinstall">NetBSD/pmax</a>
52 <li><a href="#netbsdarcinstall">NetBSD/arc</a>
53 <li><a href="#netbsdhpcmipsinstall">NetBSD/hpcmips</a>
54 <li><a href="#netbsdcobaltinstall">NetBSD/cobalt</a>
55 <li><a href="#netbsdevbmipsinstall">NetBSD/evbmips</a>
56 <li><a href="#netbsdsgimips">NetBSD/sgimips</a>
57 <li><a href="#netbsdcatsinstall">NetBSD/cats</a>
58 <li><a href="#netbsdprepinstall">NetBSD/prep</a>
59 <li><a href="#openbsdinstall">OpenBSD/pmax</a>
60 <li><a href="#openbsdarcinstall">OpenBSD/arc</a>
61 <li><a href="#openbsdcatsinstall">OpenBSD/cats</a>
62 <li><a href="#ultrixinstall">Ultrix/RISC</a>
63 <li><a href="#sprite">Sprite for DECstation</a>
64 <li><a href="#declinux">Debian GNU/Linux for DECstation</a>
65 <li><a href="#declinuxredhat">Redhat Linux for DECstation</a>
66 </ul>
67
68 <p>In addition to the "working" guest operating systems listed above,
69 you might find the following information interesting:
70 <ul>
71 <li><a href="#mach">Mach/PMAX</a>
72 <li><a href="#openbsdsgiinstall">OpenBSD/sgi</a>
73 <li><a href="#netbsdnetwinderinstall">NetBSD/netwinder</a>
74 </ul>
75
76
77
78
79
80
81 <p><br>
82 <a name="generalnotes"></a>
83 <h3>General notes on running "guest OSes":</h3>
84
85 The emulator works well enough to run complete operating systems. These
86 are often refered to as "guest" operating systems.
87
88 <p>
89 Although it is possible to let a guest OS access real hardware, such as
90 harddisks, it is much more flexible and attractive to simulate harddisks
91 using files residing in the host's filesystem. On Unix-like systems, files
92 may contain holes, which makes this really simple. To the guest operating
93 system, the harddisk image looks and acts like a real disk.
94
95
96
97
98
99
100
101
102 <p><br>
103 <a name="netbsdinstall"></a>
104 <h3>NetBSD/pmax:</h3>
105
106 <p>
107 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
108 <a href="20050317-example.png"><img src="20050317-example_small.png"></a>
109
110 <p>To install <a href="http://www.netbsd.org/Ports/pmax/">NetBSD/pmax</a>
111 onto a harddisk image in the emulator, follow these instructions:
112
113 <p><ol start="1">
114 <li>Create an empty harddisk image, which will be the root disk
115 that NetBSD installs itself onto:<pre>
116 <b>dd if=/dev/zero of=nbsd_pmax.img bs=1 count=512 seek=1900000000</b>
117
118 </pre>
119 </ol>
120
121 <p>
122 From this point, there are two separate ways to continue the installation.
123 You can either download a CD-ROM iso image (and let the installation
124 program copy files from the CD-ROM image to the harddisk image), or you
125 can install via ftp. For an installation from a CD-ROM image, follow these
126 steps:
127 <p>
128 <ol start="2">
129
130 <li>Download a NetBSD CD-ROM iso image:<pre>
131 <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/1.6.2/pmaxcd.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/1.6.2/pmaxcd.iso</a>
132 or
133 <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/pmaxcd.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/pmaxcd.iso</a>
134
135 </pre>
136 <li>Start the emulator like this:<pre>
137 <b>gxemul -e 3max -A -d nbsd_pmax.img -d bc:pmaxcd.iso</b>
138 </pre>
139 and proceed like you would do if you were installing NetBSD on a real
140 DECstation. Remember to choose <tt>vt100</tt> as your terminal
141 type, and not <tt>rcons</tt>.
142 </ol>
143 <p>
144 For an ftp install, substitute steps 2 and 3 above with these:
145 <p>
146 <ol start="2">
147
148 <li>Download a NetBSD pmax INSTALL kernel:<pre>
149 <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-1.6.2/pmax/binary/kernel/netbsd-INSTALL.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-1.6.2/pmax/binary/kernel/netbsd-INSTALL.gz</a>
150 or
151 <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/pmax/binary/kernel/netbsd-INSTALL.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/pmax/binary/kernel/netbsd-INSTALL.gz</a>
152
153 </pre>
154 <li>Start the emulator like this:<pre>
155 <b>gxemul -e 3max -A -d nbsd_pmax.img -O netbsd-INSTALL.gz</b>
156 </pre>
157 and proceed like you would do if you were installing NetBSD on a real
158 DECstation. Remember to choose <tt>vt100</tt> as your terminal
159 type, and not <tt>rcons</tt>. Suitable networking parameters are as
160 follows:<pre>
161 Which device shall I use? [le0]: <b>le0</b>
162 ..
163 Your DNS domain: <b>mydomain.com</b>
164 Your host name: <b>foo</b>
165 Your IPv4 number: <b>10.0.0.1</b>
166 IPv4 Netmask [0xff000000]: <b>0xff000000</b>
167 IPv4 gateway: <b>10.0.0.254</b>
168 IPv4 name server: <b>10.0.0.254</b>
169 </pre>
170 (If using 10.0.0.254 as the nameserver fails, then try entering the
171 IP number of a real-world nameserver instead.)
172 </ol>
173
174 <p>If you want to use a graphical framebuffer during the install, you can
175 add <b><tt>-X -Y2</tt></b> to the command line, and choose <tt>rcons</tt>
176 instead of <tt>vt100</tt> when prompted with which terminal type to use.
177 (By just using <tt><b>-X</b></tt>, you will get a full-size framebuffer
178 window.)
179
180 <p>When the installation is finished, the following command should start
181 NetBSD from the harddisk image:<pre>
182 <b>gxemul -e 3max -d nbsd_pmax.img</b>
183 </pre>
184
185 <p><font color="#ff0000">NOTE:</font> For some reason, NetBSD 2.x
186 doesn't work with X out-of-the-box on pmax. It seems that this has to do
187 with NetBSD switching console system to "WSCONS" somewhere between 1.6.2
188 and 2.0. For now, if you want X, then try NetBSD 1.6.2.
189
190 <p>With NetBSD/pmax 1.6.2, try the following to start with a framebuffer:<pre>
191 <b>gxemul -X -e 3max -d nbsd_pmax.img</b>
192 </pre>
193 and log in as <tt>root</tt> and type <tt>startx</tt> to start X windows.
194
195
196
197
198
199
200
201
202 <p><br>
203 <a name="netbsdarcinstall"></a>
204 <h3>NetBSD/arc:</h3>
205
206 It is possible to install and run <a
207 href="http://www.netbsd.org/Ports/arc/">NetBSD/arc</a>
208 on an emulated Acer PICA-61 in the emulator.
209
210 <p>
211 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
212 <a href="20041024-netbsd-arc-installed.gif"><img src="20041024-netbsd-arc-installed_small.gif"></a>
213
214 <p>
215 To install NetBSD/arc from a CDROM image onto an emulated harddisk image,
216 follow these instructions:
217
218 <p>
219 <ol start="1">
220 <li>Create an empty harddisk image, which will be the root disk
221 that NetBSD installs itself onto:<pre>
222 <b>dd if=/dev/zero of=nbsd_arc.img bs=1024 count=1 seek=900000</b>
223
224 </pre>
225 <li>Download a NetBSD/arc 1.6.2 CDROM image, and a generic NetBSD/arc
226 kernel:<pre>
227 <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/1.6.2/arccd.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/1.6.2/arccd.iso</a>
228
229 <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-1.6.2/arc/binary/kernel/netbsd-GENERIC.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-1.6.2/arc/binary/kernel/netbsd-GENERIC.gz</a>
230 </pre>
231 <li>Start the emulator using this command line:<pre>
232 <b>gxemul -e pica -x -d nbsd_arc.img -d bc:arccd.iso \
233 -j arc/binary/kernel/netbsd.RAMDISK.gz</b>
234
235 </pre>
236 (Try removing <tt>-x</tt> if you have problems with the xterm.)
237 <p>
238 <li>From now on, you have to use your imagination, as there is no
239 automatic installation program for NetBSD/arc. Here are some tips
240 and hints on how you can proceed with the install:
241 <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
242 <b>mount /dev/cd0a /mnt2
243 disklabel -i -I sd0</b> (for example 'a', '4.2BSD', '1c',
244 '700M', 'b', 'swap', '701M', '$', 'P', 'W', 'y', and 'Q')
245 <b>newfs /dev/sd0a
246 mount /dev/sd0a /mnt
247 cd /mnt
248 for a in /mnt2/arc/binary/sets/*.tgz; do echo $a; tar xzpf $a; done
249 cd dev; sh MAKEDEV all
250 cd ../etc; echo "rc_configured=YES" &gt;&gt; rc.conf
251 cat > /mnt/etc/fstab
252 /dev/sd0a / ffs rw 1 1
253 /dev/sd0b none swap sw 0 0
254 </b>(press ctrl-d)<b>
255 <b>cd /; umount /mnt; umount /mnt2
256 halt</b>
257 </pre></td></tr></table>
258 </ol>
259
260 <p>You can now use the generic NetBSD/arc kernel to boot from the harddisk
261 image, using the following command:<pre>
262 <b>gxemul -e pica -x -d nbsd_arc.img netbsd-GENERIC.gz</b>
263
264 </pre>
265
266 <p>When asked for "<tt>root device: </tt>", enter <b><tt>sd0</tt></b>.
267
268
269
270
271
272
273
274 <p><br>
275 <a name="netbsdhpcmipsinstall"></a>
276 <h3>NetBSD/hpcmips:</h3>
277
278 It is possible to install <a
279 href="http://www.netbsd.org/Ports/hpcmips/">NetBSD/hpcmips</a> onto a disk
280 image, on an an emulated MobilePro 770, 780, 800, or 880. The emulator
281 treats the different machine models as being almost identical; the most
282 important difference is regarding the framebuffer.
283
284 <p><table border="0">
285 <tr>
286 <td width="80">&nbsp;</td>
287 <td><u>Model:</u></td>
288 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
289 <td><u>Framebuffer size/depth:</u></td>
290 <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
291 <td><u>Framebuffer address:</u></td>
292 </tr>
293 <tr>
294 <td></td>
295 <td>MobilePro 770 (<super>*2</super>)</td>
296 <td></td>
297 <td>640 x 240, 16 bits</td>
298 <td></td>
299 <td>0xa000000</td>
300 </tr>
301 <tr>
302 <td></td>
303 <td>MobilePro 780</td>
304 <td></td>
305 <td>640 x 240, 16 bits</td>
306 <td></td>
307 <td>0xa180100 (<super>*</super>)</td>
308 </tr>
309 <tr>
310 <td></td>
311 <td>MobilePro 800</td>
312 <td></td>
313 <td>800 x 600, 16 bits</td>
314 <td></td>
315 <td>0xa000000</td>
316 </tr>
317 <tr>
318 <td></td>
319 <td>MobilePro 880</td>
320 <td></td>
321 <td>800 x 600, 16 bits</td>
322 <td></td>
323 <td>0xa0ea600 (<super>*</super>)</td>
324 </tr>
325 </table>
326
327 <p>
328 (<super>*</super>) = not aligned at a 4 KB boundary, so it will not work
329 efficiently with the current bintrans system. Using this mode will still
330 work, but each load and store will be emulated much more slowly than is
331 possible with an aligned framebuffer.
332
333 <p>
334 (<super>*2</super>) = The MobilePro 770's cursor keys work differently
335 than the other models, for some reason. (This is a known bug.)
336
337 <p>
338 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
339 <a href="20050427-netbsd-hpcmips-1.png"><img src="20050427-netbsd-hpcmips-1_small.png"></a>
340 &nbsp;&nbsp;&nbsp;
341 <a href="20050427-netbsd-hpcmips-2.png"><img src="20050427-netbsd-hpcmips-2_small.png"></a>
342
343 <p>
344 These instructions show an example of how to install
345 NetBSD/hpcmips on an emulated MobilePro 770:
346
347 <p>
348 <ol start="1">
349 <li>Create an empty harddisk image, which will be the root disk
350 that you will install NetBSD/hpcmips onto:<pre>
351 <b>dd if=/dev/zero of=nbsd_hpcmips.img bs=1024 count=1 seek=1990000</b>
352
353 </pre>
354 <li>Download the NetBSD/hpcmips 2.1 ISO image, and a generic kernel:<pre>
355 <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/">ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1</a>/<a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/hpcmipscd.iso">hpcmipscd.iso</a>
356
357 <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/hpcmips/binary/kernel/">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/hpcmips/binary/kernel</a>/<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/hpcmips/binary/kernel/netbsd-GENERIC.gz">netbsd-GENERIC.gz</a>
358
359 </pre>
360 <p>
361 <li>Start the installation like this:<pre>
362 <b>gxemul -e mobilepro770 -X -A -d nbsd_hpcmips.img \
363 -d b:hpcmipscd.iso -j hpcmips/installation/netbsd.gz</b>
364
365 </pre>
366 and proceed like you would do if you were installing NetBSD on a real
367 MobilePro 770. (Install onto wd0, choose "Use entire disk" when
368 doing the MBR partitioning, and choose to install from CD-ROM.)
369 </ol>
370
371 <p>
372 If everything worked, NetBSD should now be installed on the disk image.
373 Use the following command line to boot the emulated hpcmips machine:<pre>
374 <b>gxemul -e mobilepro770 -X -d nbsd_hpcmips.img netbsd-GENERIC.gz</b>
375
376 </pre>
377
378 <p>If you change your mind at this point regarding which machine type to
379 emulate, you might for example prefer a MobilePro 800, then you can change
380 that at any time. NetBSD/hpcmips is designed to be able to boot on many
381 types, without any need to change the kernel.
382
383 <p>When you have logged in as <tt>root</tt>, you can use <tt>startx</tt> to
384 start X Windows, but there is no mouse support yet so only keyboard input
385 is available. This makes it a bit akward to use X.
386
387
388
389
390
391
392
393
394 <p><br>
395 <a name="netbsdcobaltinstall"></a>
396 <h3>NetBSD/cobalt:</h3>
397
398 <a href="http://www.netbsd.org/Ports/cobalt/">NetBSD/cobalt</a> is tricky
399 to install, because the Cobalt machines were designed for Linux, and not
400 very flexible. There is no INSTALL kernel for NetBSD/cobalt. One way to
401 install the NetBSD/cobalt distribution onto a disk image is to do it from
402 another (emulated) machine.
403
404 <p>
405 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
406 <a href="20050413-netbsd-cobalt.png"><img src="20050413-netbsd-cobalt_small.png"></a>
407
408 <p>
409 The following instructions will let you install NetBSD/cobalt onto a disk
410 image, from an emulated DECstation 3MAX machine:
411
412 <p>
413 <ol>
414 <li>Create an empty harddisk image, which will be the disk image
415 that you will install NetBSD/cobalt onto:<pre>
416 <b>dd if=/dev/zero of=nbsd_cobalt.img bs=1024 count=1 seek=1999000</b>
417
418 </pre>
419 <li>Download the generic kernel for Cobalt and the 2.1 ISO image:<pre>
420 <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/cobalt/binary/kernel/netbsd-GENERIC.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/cobalt/binary/kernel/netbsd-GENERIC.gz</a>
421 <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/cobaltcd.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/cobaltcd.iso</a>
422
423 </pre>
424 <p>
425 <li>Install NetBSD/pmax 2.1 according to instructions
426 <a href="#netbsdinstall">further up on this page</a>.
427 <p>
428 <li>Start NetBSD/pmax like this:<pre>
429 <b>gxemul -e3max -A -d nbsd_pmax.img -d cobaltcd.iso -d nbsd_cobalt.img</b>
430
431 </pre>
432 <li>Log in as root (on the emulated 3MAX machine), and execute the
433 following commands: (adjust according to taste)
434 <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
435 <b>newfs /dev/sd1c
436 mount /dev/cd0c /mnt
437 mkdir /mnt2; mount /dev/sd1c /mnt2
438 cd /mnt2; sh
439 for a in /mnt/cobalt/binary/sets/*.tgz; do echo $a; tar zxfp $a; done
440 exit
441 cd dev; sh ./MAKEDEV all; cd ../etc
442 echo rc_configured=YES &gt;&gt; rc.conf
443 echo "/dev/wd0d / ffs rw 1 1" > fstab
444 cd /; umount /mnt; umount /mnt2; halt</b>
445 </pre></td></tr></table>
446 </ol>
447
448 <p>
449 You should now be able to boot NetBSD/cobalt like this:<pre>
450 <b>gxemul -M128 -E cobalt -d nbsd_cobalt.img netbsd-GENERIC.gz</b>
451 </pre>
452
453 Note that the installation instructions above create a filesystem
454 <i>without</i> a disklabel, so there is only one ffs partition and no
455 swap. You will need to enter the following things when booting with the
456 generic kernel:<pre>
457 root device (default wd0a): <b>wd0d</b>
458 dump device (default wd0b): <b>none</b>
459 file system (default generic): <b>ffs</b>
460 init path (default /sbin/init): <i>(just press enter here)</i>
461 </pre>
462
463
464
465
466
467
468
469 <p><br>
470 <a name="netbsdevbmipsinstall"></a>
471 <h3>NetBSD/evbmips:</h3>
472
473 <a href="http://www.netbsd.org/Ports/evbmips/">NetBSD/evbmips</a> can run
474 in GXemul on an emulated Malta evaluation board (with a 5Kc or 4Kc CPU).
475
476 <p>
477 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
478 <a href="20050622-netbsd-evbmips-malta.png"><img src="20050622-netbsd-evbmips-malta_small.png"></a>
479
480 <p>It is tricky to install, because there is (as far as I know) no INSTALL
481 kernel. One way to install the NetBSD/evbmips distribution onto a disk
482 image is to install the files using another (emulated) machine.
483
484 <p>
485 The following instructions will let you install NetBSD/evbmips onto a disk
486 image, from an emulated DECstation 3MAX machine:
487
488 <p>
489 <ol>
490 <li>Install NetBSD/pmax 2.1 according to instructions
491 <a href="#netbsdinstall">further up on this page</a>.
492 <p>
493 <li>Create an empty harddisk image, which will be the disk image
494 that you will install NetBSD onto:<pre>
495 <b>dd if=/dev/zero of=nbsd_malta.img bs=1024 count=1 seek=999000</b>
496
497 </pre>
498 <li>Download the generic kernel and the 2.1 ISO image:<pre>
499 <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/evbmips-mipsel/binary/kernel/netbsd-MALTA.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/evbmips-mipsel/binary/kernel/netbsd-MALTA.gz</a>
500 <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/evbmips-mipselcd.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/evbmips-mipselcd.iso</a>
501
502 </pre>
503 <p>
504 <li>Start NetBSD/pmax like this:<pre>
505 <b>gxemul -e 3max -A -d nbsd_pmax.img -d nbsd_malta.img -d evbmips-mipselcd.iso</b>
506
507 </pre>and execute the following commands as <tt>root</tt>:
508 <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
509 <b>newfs /dev/sd1c
510 mount /dev/cd0c /mnt
511 mkdir /mnt2; mount /dev/sd1c /mnt2
512 cd /mnt2; sh
513 for a in /mnt/evbmips-mipsel/binary/sets/*.tgz; do echo $a; tar zxfp $a; done
514 exit
515 cd dev; sh ./MAKEDEV all; cd ../etc
516 echo rc_configured=YES >> rc.conf
517 echo "/dev/wd0c / ffs rw 1 1" > fstab
518 cd /; umount /mnt; umount /mnt2; halt</b>
519 </pre></td></tr></table>
520 </ol>
521
522 <p>You should now be able to boot NetBSD/evbmips using this command:<pre>
523 <b>gxemul -e malta -d nbsd_malta.img netbsd-MALTA.gz</b>
524 </pre>
525
526 <p>NOTE: To select a 4Kc (MIPS32) CPU instead of the default 5Kc
527 (MIPS64) CPU, add <tt><b>-C 4Kc</b></tt> to the command line. With NetBSD
528 2.1, however, there will be little or no difference in functionality, as
529 NetBSD still runs in 32-bit mode on 64-bit MIPS CPUs. There are two things
530 that differ:<ol>
531 <li>GXemul's binary translation subsystem might run a bit faster
532 in 32-bit mode (because there are some optimizations that don't
533 work with 64-bit emulation)
534 <li>4Kc only has 16 TLB entries, whereas 5Kc has 48. This makes 4Kc
535 slower.
536 </ol>
537
538 <p>The installation instructions above create a filesystem
539 <i>without</i> a disklabel, so there is only one ffs partition and no
540 swap. You will need to enter the following things when booting with the
541 generic kernel:<pre>
542 root device (default wd0a): <b>wd0c</b>
543 dump device (default wd0b): <b>none</b>
544 file system (default generic): <b>ffs</b>
545 init path (default /sbin/init): <i>(just press enter here)</i>
546 </pre>
547
548
549
550
551
552
553
554 <p><br>
555 <a name="netbsdsgimips"></a>
556 <h3>NetBSD/sgimips:</h3>
557
558 <p>
559 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
560 <a href="20050626-netbsd-sgimips-netboot.png"><img src="20050626-netbsd-sgimips-netboot_small.png"></a>
561
562 <p><a href="http://www.netbsd.org/Ports/sgimips/">NetBSD/sgimips</a> can run
563 in GXemul on an emulated O2 (SGI-IP32). However, GXemul does not yet
564 emulate the AHC PCI SCSI controller in the O2. (I have mailed Adaptec
565 several times, asking for documentation, but never received any reply.)
566 NetBSD can still run in the emulator, as long as it doesn't use SCSI.
567
568 <p>For a simple test with the 2.1 ramdisk (install) kernel, try
569 dowloading<pre>
570 <a href="ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-2.1/sgimips/binary/kernel/netbsd-INSTALL32_IP3x.gz">ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-2.1/sgimips/binary/kernel/netbsd-INSTALL32_IP3x.gz</a>
571
572 </pre>and run&nbsp;&nbsp;<b><tt>gxemul -e o2 netbsd-INSTALL32_IP3x.gz</tt></b>.
573
574 <p>It is possible to set up an environment for netbooting the emulated SGI
575 machine off of another emulated machine. Performing this setup is quite
576 time consuming, but necessary:
577
578 <p>
579 <ol>
580 <li>First of all, the "<tt>nfs server</tt>" machine must be set up.
581 This needs to have a 750 MB <tt>/tftpboot</tt> partition.
582 <a href="#netbsdinstall">Install NetBSD/pmax 2.1 from CDROM</a>.
583 (Don't forget to add the extra partition!)
584 <p>
585 <li>Configure the nfs server machine to act as an nfs server.
586 Start up the emulated DECstation:<pre>
587 <b>gxemul -e 3max -A -d nbsd_pmax.img</b>
588 </pre>and enter the following commands as <tt>root</tt>
589 inside the emulator:
590 <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
591 <b>echo hostname=server &gt;&gt; /etc/rc.conf
592 echo ifconfig_le0=\"inet 10.0.0.2\" &gt;&gt; /etc/rc.conf
593 echo nameserver 10.0.0.254 &gt;&gt; /etc/resolv.conf
594 echo 10.0.0.254 &gt; /etc/mygate
595 echo /tftpboot -maproot=root 10.0.0.1 &gt; /etc/exports
596 echo rpcbind=YES &gt;&gt; /etc/rc.conf
597 echo nfs_server=YES &gt;&gt; /etc/rc.conf
598 echo mountd=YES &gt;&gt; /etc/rc.conf
599 echo bootparamd=YES &gt;&gt; /etc/rc.conf
600 printf "client root=10.0.0.2:/tftpboot \\\n swap=10.0.0.2:/tftpboot/swap\n" &gt; /etc/bootparams
601 echo "bootps dgram udp wait root /usr/sbin/bootpd bootpd -d 4 -h 10.0.0.2" &gt;&gt; /etc/inetd.conf
602 cat &gt;&gt; /etc/bootptab
603 client:\
604 :ht=ether:\
605 :ha=102030000010:\
606 :sm=255.0.0.0:\
607 :lg=10.0.0.254:\
608 :ip=10.0.0.1:\
609 :rp=/tftpboot:
610 </b>(press CTRL-D)
611 <b>echo "10:20:30:00:00:10 client" &gt; /etc/ethers
612 echo 10.0.0.1 client &gt; /etc/hosts
613 reboot</b>
614 </pre></td></tr></table>
615 <li>Start the DECstation emulation again, and download the
616 NetBSD/sgimips distribution sets:<br>(NOTE: This
617 takes quite some time, even if you have a fast network connection.)
618 <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
619 <b>cd /tftpboot; ftp -i ftp.uk.netbsd.org</b>
620 (log in as anonymous...)
621 <b>cd /pub/NetBSD/NetBSD-2.1/sgimips/binary/sets
622 mget base.tgz comp.tgz etc.tgz games.tgz man.tgz misc.tgz text.tgz
623 quit
624 sh
625 for a in *.tgz; do echo $a; tar zxfp $a; rm -f $a; done
626 echo 10.0.0.2:/tftpboot / nfs rw 0 0 &gt; /tftpboot/etc/fstab
627 echo rc_configured=YES &gt;&gt; /tftpboot/etc/rc.conf
628 dd if=/dev/zero of=swap bs=1024 count=32768
629 halt</b>
630 </pre></td></tr></table>
631 <li>Download the NetBSD/sgimips GENERIC and INSTALL kernels:<pre>
632 <a href="ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-2.1/sgimips/binary/kernel/netbsd-GENERIC32_IP3x.gz">ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-2.1/sgimips/binary/kernel/netbsd-GENERIC32_IP3x.gz</a>
633 <a href="ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-2.1/sgimips/binary/kernel/netbsd-INSTALL32_IP3x.gz">ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-2.1/sgimips/binary/kernel/netbsd-INSTALL32_IP3x.gz</a>
634
635 </pre>
636 <li>Create a configuration file called <tt>config_client</tt>:
637 <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
638 <font color="#2020cf">!!gxemul
639 !
640 ! Configuration file for running NetBSD/sgimips diskless with
641 ! a NetBSD/pmax machine as the nfs server.</font>
642
643 <b>emul(
644 net(
645 add_remote("localhost:12444") </b>! the server<b>
646 local_port(12445) </b>! the client<b>
647 )
648
649 machine(
650 name("client machine")
651 serial_nr(1)
652
653 type("sgi")
654 subtype("o2")
655
656 load("netbsd-INSTALL32_IP3x.gz")</b>
657 ! load("netbsd-GENERIC32_IP3x.gz")<b>
658 )
659 )</b>
660 </pre></td></tr></table>
661 ... and another configuration file for the server,
662 <tt>config_server</tt>:
663 <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
664 <font color="#2020cf">!!gxemul</font>
665 <b>emul(
666 net(
667 local_port(12444) </b>! the server<b>
668 add_remote("localhost:12445") </b>! the client<b>
669 )
670
671 machine(
672 name("nfs server")
673 serial_nr(2)
674
675 type("dec")
676 subtype("5000/200")
677
678 disk("nbsd_pmax.img")
679 )
680 )</b>
681 </pre></td></tr></table>
682 <li>Boot the "<tt>nfs server</tt>" and the NetBSD/sgimips
683 "<tt>client machine</tt>" as two separate emulator instances:<pre>
684 in one xterm:
685 <b>gxemul @config_server</b>
686
687 and then, in another xterm:
688 <b>gxemul @config_client</b>
689
690 </pre>
691 <li>In the NetBSD/sgimips window, choose "<tt>x: Exit Install System</tt>"
692 in the installer's main menu, and then type:<pre>
693 <b>ifconfig mec0 10.0.0.1; route add default 10.0.0.254</b>
694 <b>mount -v 10.0.0.2:/tftpboot /mnt</b>
695 <b>cd /mnt/dev; ./MAKEDEV all; cd /; umount /mnt</b>
696 <b>halt</b>
697 </pre>Then, once the client machine has halted, log in as <tt>root</tt>
698 on the server machine and type <tt><b>reboot</b></tt>.
699 <p>
700 <li>Once everything has been set up correctly, change
701 <tt>netbsd-INSTALL32_IP3x.gz</tt> in <tt>config_client</tt> to
702 <tt>netbsd-GENERIC32_IP3x.gz</tt> (the GENERIC kernel).
703 </ol>
704
705 <p>You might want to log in as <tt>root</tt> on the server machine, and
706 run <tt>tcpdump -lnvv</tt> or similar, to see that what the client machine
707 actually does on the network.
708
709 <p>It should now be possible to boot NetBSD/sgimips using the NetBSD/pmax
710 nfs server, using the following commands: (NOTE! Execute these two
711 commands in separate xterms!)<pre>
712 <b>gxemul @config_server</b>
713 <b>gxemul @config_client</b>
714 </pre>
715
716 <p>When asked for "<tt>root device:</tt>" etc. on the client machine, enter
717 the following values:<pre>
718 root device: <b>mec0</b>
719 dump device: <b>(leave blank)</b>
720 file system (default generic): <b>(leave blank)</b>
721 ..
722 init path (default /sbin/init): <b>(leave blank)</b>
723 Enter pathname of shell or RETURN for /bin/sh: <b>(leave blank)</b>
724 Terminal type? [unknown] <b>xterm</b>
725 ..
726 # <b>exit</b> (to leave the single-user shell)
727 </pre>
728
729 <p>Note: Netbooting like this is very slow, so you need a lot of patience.
730 For example, when NetBSD says "<tt>nfs_boot: trying DHCP/BOOTP</tt>",
731 there will be a long pause, even on a very fast host machine. The reason
732 for this is mostly because the emulator doesn't deal with timing issues
733 very well, but also because NetBSD tries IPv6 first, before falling back
734 to IPv4.
735
736
737
738
739
740
741 <p><br>
742 <a name="netbsdcatsinstall"></a>
743 <h3>NetBSD/cats:</h3>
744
745 It is possible to install and run
746 <a href="http://www.netbsd.org/Ports/cats/">NetBSD/cats</a> in GXemul.
747
748 <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
749 <a href="20051007-netbsd-cats-installed.png"><img src="20051007-netbsd-cats-installed_small.png"></a>
750
751 <p>
752 To install NetBSD/cats onto a disk image, follow these instructions:
753
754 <p>
755 <ol start="1">
756 <li>Create an empty harddisk image, which will be the root disk
757 that you will install NetBSD/cats onto:<pre>
758 <b>dd if=/dev/zero of=nbsd_cats.img bs=1024 count=1 seek=2000000</b>
759
760 </pre>
761 <li>Download the NetBSD/cats 2.1 ISO image and the generic and install kernels:<pre>
762 <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/catscd.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/catscd.iso</a>
763 <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/cats/binary/kernel/netbsd.aout-GENERIC.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/cats/binary/kernel/netbsd.aout-GENERIC.gz</a>
764 <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/cats/binary/kernel/netbsd.aout-INSTALL.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/cats/binary/kernel/netbsd.aout-INSTALL.gz</a>
765
766 </pre>
767 <p>
768 <li>Start the installation like this:<pre>
769 <b>gxemul -XEcats -d nbsd_cats.img -d catscd.iso netbsd.aout-INSTALL.gz</b>
770
771 </pre>
772 and proceed like you would do if you were installing NetBSD on a real
773 CATS from CDROM.
774 </ol>
775
776 <p>Alternatively, to install from FTP, you can skip downloading the ISO,
777 and start the install without <tt>-d catscd.iso</tt>. Suitable network
778 settings are IP 10.0.0.1, gateway/default route 10.0.0.254, netmask
779 255.0.0.0, nameserver 10.0.0.254.
780
781 <p>If everything worked, NetBSD should now be installed on the disk image.
782 Use the following command line to boot the emulated CATS machine:<pre>
783 <b>gxemul -XEcats -d nbsd_cats.img netbsd.aout-GENERIC.gz</b>
784
785 </pre>
786
787
788
789
790
791
792 <p><br>
793 <a name="netbsdprepinstall"></a>
794 <h3>NetBSD/prep:</h3>
795
796 It is possible to install and run
797 <a href="http://www.netbsd.org/Ports/prep/">NetBSD/prep</a> in GXemul.
798
799 <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
800 <a href="20051123-netbsd-prep.png"><img src="20051123-netbsd-prep_small.png"></a>
801
802 <p>To install NetBSD/prep onto a disk image, follow these instructions:
803
804 <p>
805 <ol start="1">
806 <li>Create an empty harddisk image, which will be the root disk
807 that you will install NetBSD/prep onto:<pre>
808 <b>dd if=/dev/zero of=nbsd_prep.img bs=1024 count=1 seek=1000000</b>
809
810 </pre>
811 <li>Download the NetBSD/prep 2.1 ISO image and the generic kernel:<pre>
812 <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>
813 <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>
814
815 </pre>
816 <p>
817 <li>Start the installation like this:<pre>
818 <b>gxemul -x -Eprep -d nbsd_prep.img -d rdb:prepcd.iso -j prep/binary/kernel/netbsd-INSTALL.gz</b>
819
820 </pre>
821 <p>
822 <li>Installation is a bit unsmooth, probably due to bugs in GXemul.
823 Creating an MBR slice and a disklabel with sysinst bugs out, so
824 some things have to be done manually.<p>
825 At "<tt>(I)nstall, (S)hell, or (H)alt</tt>", choose
826 <tt><b><u>s</u></b></tt>.
827 <br><tt># <b><u>fdisk -u wd0</u></b></tt>
828 <br><tt>Do you want to change our idea of what BIOS thinks? [n]</tt>
829 (just press <b>ENTER</b>)
830 <br><tt>Which partition do you want to change?: [none] <b><u>0</u></b></tt>
831 <br><tt>sysid: ... </tt> (just press <B>ENTER</b>)
832 <br><tt>start: ... <b><u>1cyl</u></b></tt>
833 <br><tt>size: ... </tt> (just press <B>ENTER</b>)
834 <br><tt>Which partition do you want to change?: [none]</tt> (press <b>ENTER</b>)
835 <br><tt>Should we write new partition table? [n] <b><u>y</u></b></tt>
836 <br><tt># <b><u>disklabel -I -i wd0</u></b></tt>
837 <br><tt>partition&gt; <b><u>a</u></b></tt>
838 <br><tt>Filesystem type [?] [unused]: <b><u>4.2BSD</u></b></tt>
839 <br><tt>Start offset ('x' to start after partition 'x') [0c, 0s, 0M]: <b><u>1c</u></b></tt>
840 <br><tt>Partition size ('$' for all remaining) [0c, 0s, 0M]: <b><u>900M</u></b></tt>
841 <br><tt>partition&gt; <b><u>b</u></b></tt>
842 <br><tt>Filesystem type [?] [unused]: <b><u>swap</u></b></tt>
843 <br><tt>Start offset ('x' to start after partition 'x') [0c, 0s, 0M]: <b><u>a</u></b></tt>
844 <br><tt>Partition size ('$' for all remaining) [0c, 0s, 0M]: <b><u>$</u></b></tt>
845 <br><tt>partition&gt; <b><u>W</u></b></tt>
846 <br><tt>Label disk [n]? <b><u>y</u></b></tt>
847 <br><tt>partition&gt; <b><u>Q</u></b></tt>
848 <br><tt># <b><u>newfs wd0a</u></b></tt>
849 <br><tt># <b><u>sysinst</u></b></tt>
850 <br>Choose to install onto <b>wd0</b>. Choose
851 "<tt>a: Edit the MBR partition table</tt>"
852 when presented with that option.
853 <br>Choose the 'a' partition/slice,
854 set the 'e' ("active") and 'f' ("install") fields to <b>Yes</b>,
855 and then choose "<tt>x: Partition table OK</tt>".
856 <br>Choose "<tt>b: Use existing partition sizes</tt>" in the next
857 menu.
858 <br>Select partition 'a' and press ENTER. Set field 'k' (mount point)
859 to '<tt><b>/</b></tt>'.
860 <br>Get out of the partitioner by selecting
861 "<tt>x: Partition sizes ok</tt>" twice.
862 <br>At "<tt>Write outside MBR partition? [n]:</tt>", just press
863 <b>ENTER</b>.
864 <br>Install from CD-ROM, device <b>wd1c</b>.
865 </ol>
866
867 <p>If everything worked, NetBSD should now be installed on the disk image.
868 Use the following command line to boot the emulated machine:<pre>
869 <b>gxemul -x -Eprep -d nbsd_prep.img netbsd-GENERIC.gz</b>
870
871 </pre>
872
873 <p>When asked which the root device is, type <tt><b>wd0</b></tt> and
874 just press ENTER to select the default values for dump device, file
875 system type, and init path.
876
877
878
879
880
881
882 <p><br>
883 <a name="openbsdinstall"></a>
884 <h3>OpenBSD/pmax:</h3>
885
886 Installing <a href="http://www.openbsd.org/pmax.html">OpenBSD/pmax</a> is
887 a bit harder than installing NetBSD/pmax. You should first read the <a
888 href="#netbsdinstall">section above</a> on how to install NetBSD/pmax,
889 before continuing here. If you have never installed OpenBSD on any
890 architecture, then you need a great deal of patience to do this. If, on
891 the other hand you are used to installing OpenBSD, then this should be no
892 problem for you.
893
894 <p>
895 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
896 <a href="20040710-openbsd-pmax.png"><img src="20040710-openbsd-pmax_small.png"></a>
897 &nbsp;&nbsp;&nbsp;
898 <a href="openbsd-pmax-20040710.png"><img src="openbsd-pmax-20040710_small.png"></a>
899
900 <p>
901 OpenBSD/pmax died at release 2.8 of OpenBSD, so you should be
902 aware of the fact that this will not give you an up-to-date OpenBSD
903 system.
904
905 <p>
906 Following these instructions <i>might</i> work. If not, then use
907 common sense and imagination to modify them as you see fit.
908
909 <p>
910 <ol>
911 <li>Create an empty harddisk image, which will be the root disk
912 that OpenBSD installs itself onto:<pre>
913 <b>dd if=/dev/zero of=obsd_pmax.img bs=1 count=512 seek=900000000</b>
914
915 </pre>
916 <li>Download the entire pmax directory from the ftp server: (approx. 99 MB)<pre>
917 <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>
918
919 </pre>
920
921 <li>Execute the following commands:
922 <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
923 <b>mv ftp.se.openbsd.org/pub/OpenBSD/2.8/pmax/simpleroot28.fs.gz .
924 gunzip simpleroot28.fs.gz
925 chmod +w simpleroot28.fs</b> &lt;--- make sure
926 </pre></td></tr></table>
927 <li>You now need to make an ISO image of the entire directory you downloaded.
928 (I recommend using <tt>mkisofs</tt> for that purpose. If you don't
929 already have <tt>mkisofs</tt> installed on your system, you need
930 to install it in order to do this.)<pre>
931 <b>mkisofs -o openbsd_pmax_2.8.iso ftp.se.openbsd.org/pub/OpenBSD/2.8/pmax</b>
932
933 </pre>
934 <li>Start the emulator with all three (!) disk images:<pre>
935 <b>gxemul -e 3max -A -M64 -d obsd_pmax.img -d b:simpleroot28.fs -j bsd -d c:openbsd_pmax_2.8.iso</b>
936
937 </pre>
938 (If you add <tt>-X</tt>, you will run with the graphical
939 framebuffer. This is <i>REALLY</i> slow because the console has to
940 scroll a lot during the install. I don't recommend it.)
941 <p>
942 <li>Go on with the installation as you would do if you were installing on a real machine.
943 If you are not used to the OpenBSD installer, then this will most likely
944 be a very uncomfortable experience. Some important things to keep in mind are:
945 <ul>
946 <li>rz0 is the rootdisk you wish to install onto.
947 <li>rz1 is the simpleroot image.
948 <li>rz2 is the CDROM containing the "install sets".
949 <li>When asked for the "<b>root device?</b>", enter <b>rz1</b>.
950 <li>At "<b>Enter pathname of shell or RETURN for sh:</b>", press enter.
951 <li>At the # prompt, do the following:<pre>
952 <b>fsck /dev/rz1a</b> (and mark the filesystem as clean)
953 <b>mount /dev/rz1a /</b>
954 <b>mount -t kernfs kern kern</b>
955 <b>./install</b>
956
957 </pre>
958 and proceed with the install. Good luck. :-)
959 <li>Answer "<b>y</b>" when asked if you wish to configure the network.
960 (See the section about installing NetBSD/pmax for suitable
961 network settings.)
962 <li>Install from "<b>c</b>" (cdrom), choose "<b>rz2</b>" as the cdrom device, and "<b>/</b>" as
963 the directory containing the install sets.
964 </ul>
965 <p>
966 <li>For some unknown reason, the install script does not set the root
967 password! The first time you boot up OpenBSD after the install, you
968 need to go into single user mode and run <b>passwd root</b> to set
969 the root password, or you will not be able to log in at all!<pre>
970 <b>gxemul -e 3max -A -d obsd_pmax.img -d 2c:openbsd_pmax_2.8.iso -j bsd -o '-s'</b>
971 </pre>
972 While you are at it, you might want to extract the X11 install sets
973 as well, as the installer seems to ignore them too. (Perhaps due to a bug
974 in the installer, perhaps because of the way I used mkisofs.)
975 <p>
976 Execute the following commands in the emulator:
977 <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
978 <b>fsck /dev/rz0a
979 mount /
980 passwd root
981
982 cd /; mount -t cd9660 /dev/rz2c /mnt; sh
983 for a in /mnt/[xX]*; do tar zxvf $a; done
984 ln -s /usr/X11R6/bin/Xcfbpmax /usr/X11R6/bin/X
985 ln -s /dev/fb0 /dev/mouse
986 echo /usr/X11R6/lib &gt;&gt; /etc/ld.so.conf
987 ldconfig
988
989 sync
990 halt</b>
991 </pre></td></tr></table>
992 </ol>
993
994 <p>
995 NOTE: It is also possible to install via ftp instead of using a CDROM image.
996 This is not much less awkward, you still need the simpleroot filesystem
997 image, and you still have to manually add the X11 install sets and set the
998 root password, and so on.
999
1000 <p>
1001 Once you have completed the installation procedure, the following command
1002 will let you boot from the new rootdisk image:
1003 <pre>
1004 <b>gxemul -e 3max -X -M64 -o '-aN' -d obsd_pmax.img -j bsd</b>
1005 </pre>
1006
1007 <p>
1008 (Normally, you would be asked about which root device to use (<tt>rz0</tt>),
1009 but using <b><tt>-o '-aN'</tt></b> supresses that.)
1010
1011 <p>
1012 When asked for which terminal type to use, when logging in as root,
1013 enter <b><tt>rcons</tt></b> if you are using the graphical framebuffer,
1014 <b><tt>vt100</tt></b> for text-mode.
1015 <br>Use <b><tt>startx</tt></b> to start X windows.
1016
1017
1018
1019
1020
1021
1022
1023 <p><br>
1024 <a name="openbsdarcinstall"></a>
1025 <h3>OpenBSD/arc:</h3>
1026
1027 It is possible to install and run OpenBSD/arc on an emulated Acer PICA-61
1028 in the emulator.
1029
1030 <p>
1031 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1032 <a href="20041024-openbsd-arc-installed.gif"><img src="20041024-openbsd-arc-installed_small.gif"></a>
1033
1034 <p>
1035 (You should be aware of the fact that OpenBSD for the ARC platform died at
1036 release 2.3, so this will not give you an up-to-date OpenBSD system.
1037 See
1038 <a href="http://www.openbsd.org/arc.html">http://www.openbsd.org/arc.html</a>
1039 for more information.)
1040
1041 <p>
1042 To install OpenBSD/arc onto an emulated harddisk image, follow these
1043 instructions:
1044
1045 <p>
1046 <ol>
1047 <li>Create an empty harddisk image, which will be the root disk
1048 that OpenBSD installs itself onto:<pre>
1049 <b>dd if=/dev/zero of=obsd_arc.img bs=1024 count=1 seek=700000</b>
1050
1051 </pre>
1052 <li>Download the entire arc directory from the ftp server: (approx. 75 MB)<pre>
1053 <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>
1054
1055 </pre>
1056
1057 <li>You now need to make an ISO image of the entire directory you downloaded.
1058 (I recommend using <tt>mkisofs</tt> for that purpose. If you don't
1059 already have <tt>mkisofs</tt> installed on your system, you need
1060 to install it in order to do this.)<pre>
1061 <b>mkisofs -o openbsd_arc_2.3.iso ftp.se.openbsd.org/pub/OpenBSD/</b>
1062
1063 </pre>
1064 <li>Start the emulator using this command line:<pre>
1065 <b>gxemul -e pica -X -A -d obsd_arc.img -d b:openbsd_arc_2.3.iso -j 2.3/arc/bsd.rd</b>
1066
1067 </pre>
1068 and proceed like you would do if you were installing OpenBSD
1069 on a real Acer PICA-61. (Answer 'no' when asked if you want to
1070 configure networking, and then install from CD-ROM.)
1071 </ol>
1072
1073 <p>
1074 Once the install has finished, the following command should let you
1075 boot from the harddisk image:
1076 <p>
1077 <pre>
1078 <b>gxemul -X -e pica -d obsd_arc.img ftp.se.openbsd.org/pub/OpenBSD/2.3/arc/bsd</b>
1079
1080 </pre>
1081
1082
1083
1084
1085
1086
1087
1088
1089 <p><br>
1090 <a name="openbsdcatsinstall"></a>
1091 <h3>OpenBSD/cats:</h3>
1092
1093 It is possible to install and run
1094 <a href="http://www.openbsd.org/cats.html">OpenBSD/cats</a>
1095 in GXemul.
1096
1097 <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1098 <a href="20051007-openbsd-cats-installed.png"><img src="20051007-openbsd-cats-installed_small.png"></a>
1099
1100 <p>To install OpenBSD/cats onto an emulated harddisk image,
1101 follow these instructions:
1102
1103 <p>
1104 <ol>
1105 <li>Create an empty harddisk image, which will be the root disk
1106 that OpenBSD installs itself onto:<pre>
1107 <b>dd if=/dev/zero of=obsd_cats.img bs=1024 count=1 seek=1900000</b>
1108
1109 </pre>
1110 <li>Download the entire cats directory from the ftp server:<pre>
1111 <b>wget -np -l 0 -r <a href="ftp://ftp.openbsd.org/pub/OpenBSD/3.8/cats/">ftp://ftp.openbsd.org/pub/OpenBSD/3.8/cats/</a></b>
1112 <b>cp ftp.openbsd.org/pub/OpenBSD/3.8/cats/bsd .</b>
1113 <b>cp ftp.openbsd.org/pub/OpenBSD/3.8/cats/bsd.rd .</b>
1114
1115 </pre>
1116
1117 <li>You now need to make an ISO image of the entire directory you downloaded.
1118 (I recommend using <tt>mkisofs</tt> for that purpose. If you don't
1119 already have <tt>mkisofs</tt> installed on your system, you need
1120 to install it in order to do this.)<pre>
1121 <b>mkisofs -allow-lowercase -o openbsd_cats_3.8.iso ftp.openbsd.org/pub/OpenBSD/</b>
1122
1123 </pre>
1124 <li>Start the emulator using this command line:<pre>
1125 <b>gxemul -XEcats -d obsd_cats.img -d openbsd_cats_3.8.iso bsd.rd</b>
1126
1127 </pre>
1128 and proceed like you would do if you were installing OpenBSD
1129 on a real CATS. (Install onto <tt>wd0</tt>, don't configure the
1130 network, install from CD.)
1131 </ol>
1132
1133 <p>(Although it <i>is</i> possible to configure the network, IPv4 address
1134 10.0.0.1, netmask 255.0.0.0, gateway/default route 10.0.0.254, and
1135 nameserver 10.0.0.254, the userland NAT-like networking layer is not
1136 stable enough yet to support a full install via ftp.)
1137
1138 <p><b>NOTE:</b> Make sure that you <tt>sync</tt> and <tt>reboot</tt>
1139 correctly once the installation is finished, or the <tt>/dev</tt> nodes
1140 may not have been written correctly to disk.
1141
1142 <p>Once the install has finished, the following command should let you
1143 boot from the harddisk image:
1144
1145 <p><pre>
1146 <b>gxemul -X -x -Ecats -d obsd_cats.img bsd</b>
1147
1148 </pre>
1149
1150
1151
1152
1153
1154
1155
1156 <p><br>
1157 <a name="ultrixinstall"></a>
1158 <h3>Ultrix/RISC:</h3>
1159
1160 Ultrix 4.x can run in GXemul on an emulated DECstation 5000/200.
1161 (Ultrix was the native OS for these machines, but NetBSD/pmax is
1162 also usable.)
1163
1164 <p>
1165 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1166 <a href="20040504-ultrix45-boot1.png"><img src="20040504-ultrix45-boot1_small.gif"></a>
1167 &nbsp;&nbsp;&nbsp;
1168 <a href="ultrix4.5-20040706.png"><img src="ultrix4.5-20040706_small.gif"></a>
1169
1170 <p>
1171 The following instructions should let you install Ultrix onto a disk image:
1172
1173 <ol>
1174 <li>Create an empty harddisk image, which will be the root disk
1175 that Ultrix installs itself onto:<pre>
1176 <b>dd if=/dev/zero of=rootdisk.img bs=1024 count=1 seek=800000</b>
1177
1178 </pre>
1179 <li>Place your Ultrix installation media in your CDROM drive.
1180 (On FreeBSD and similar systems, it is called <tt>/dev/cd0c</tt>.
1181 Replace that with the name of your CDROM drive, or the name of a
1182 .iso image file.) Then, start the emulator like this:<pre>
1183 <b>gxemul -X -A -M64 -e 3max -d rootdisk.img -d bc:/dev/cd0c -j vmunix</b>
1184
1185 </pre>
1186 <li>Once the first stage of the installation is done (restoring the root
1187 filesystem), you need to restart the emulator, booting from the
1188 new rootdisk, to continue the installation process.
1189 This is done by removing the bootflag ('<tt>b</tt>') from the second
1190 diskimage argument:<pre>
1191 <b>gxemul -X -A -M64 -e 3max -d rootdisk.img -d c:/dev/cd0c -j vmunix</b>
1192
1193 </pre>
1194 </ol>
1195
1196 <p>
1197 When the installation is completed, the following command should start
1198 Ultrix from the harddisk image:<pre>
1199 <b>gxemul -X -A -M64 -e 3max -j vmunix -d rootdisk.img</b>
1200 </pre>
1201
1202 <p>Ultrix mostly seems to work with dynamic binary translation (which can
1203 be disabled by the <b><tt>-B</tt></b> command line option). If you have a
1204 very fast host machine, and use bintrans, you might experience a weird
1205 timer related bug, which makes it impossible to logon to the system. It is
1206 triggered when the emulation goes faster than any real DECstation machine
1207 was capable of running. A temporary workaround is to add
1208 <b><tt>-I33000000</tt></b> to fix the emulated clock speed to 33 million
1209 instructions per emulated second. (When using <tt><b>-CR4400</b></tt>,
1210 <b><tt>-I16000000</tt></b> should be used instead.)
1211
1212 <p>
1213 You can experiment with adding <b><tt>-Z2</tt></b> (for emulating a
1214 dual-headed workstation) or even <b><tt>-Z3</tt></b> (tripple-headed), and
1215 also the <b><tt>-Y2</tt></b> option for scaling down the framebuffer
1216 windows by a factor 2x2.
1217 There is also a <b><tt>-z</tt></b> option for supplying names of X11
1218 displays to use. The following example starts Ultrix on an emulated
1219 tripple-headed workstation, on three different displays (<tt>remote1:0.0</tt>,
1220 <tt>localhost:0.0</tt>, and <tt>remote2:0.0</tt>), using no scaledown:<pre>
1221 <b>gxemul -M64 -N -e 3max -jgenvmunix -d rootdisk.img \
1222 -XZ3 -z remote1:0.0 -z localhost:0.0 -z remote2:0.0</b>
1223 </pre>
1224
1225 <p>
1226 The photo below shows a single Ultrix session running tripple-headed in
1227 GXemul on an Alpha 21164PC, with displays on a Sun Ultra1 (to the left),
1228 on the Alpha itself (in the middle), and on an HP700/RX X-terminal (8-bit
1229 color depth, running off the Alpha) to the right.
1230
1231 <p>
1232 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1233 <a href="20041209-ultrix-tripplehead.jpg"><img src="20041209-ultrix-tripplehead_small.jpg"></a>
1234
1235 <p>
1236 The X11 displays may differ in bit depth and endianness. Unfortunately,
1237 there is no way yet to set the scaledown factor on a per-window basis, so
1238 the scaledown factor affects all windows.
1239
1240 <p>
1241 (If you didn't use <tt><b>-Z<i>n</i></b></tt> during the installation, and
1242 compiled your own <tt>/vmunix</tt>, then it will not contain support for
1243 multiple graphics cards. To overcome this problem, use the generic kernel,
1244 <tt><b>-j genvmunix</b></tt>, whenever you are running the emulator with a
1245 different setup than the one you used when Ultrix was installed.)
1246
1247 <p>
1248 A note for the historically interested: OSF/1 for MIPS was quite similar
1249 to Ultrix, so that is possible to run as well. If you are unsuccessful
1250 in installing Ultrix or OSF/1 directly in the emulator, you can always
1251 install it on your real machine onto a real SCSI disk, and then copy the
1252 contents of that SCSI disk into a file (using <b><tt>dd(1)</tt></b>), and use
1253 that file as a disk image file in the emulator.
1254
1255
1256
1257
1258
1259
1260 <p><br>
1261 <a name="sprite"></a>
1262 <h3>Sprite for DECstation:</h3>
1263
1264 Sprite was a research operating system at the University of Berkeley.
1265 The Unix Heritage Society (TUHS, <a href="http://www.tuhs.org">www.tuhs.org</a>)
1266 has made available a copy of a Sprite harddisk image for a DECstation 5000/200.
1267 If you want to find out more about Sprite in general, read
1268 <a href="http://www.cs.berkeley.edu/projects/sprite/retrospective.html">
1269 http://www.cs.berkeley.edu/projects/sprite/retrospective.html</a>.
1270
1271 <p>
1272 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1273 <a href="20040711-sprite-1.png"><img src="20040711-sprite-1_small.png"></a>
1274 &nbsp;&nbsp;&nbsp;
1275 <a href="sprite-20040711.png"><img src="sprite-20040711_small.png"></a>
1276
1277 <p>
1278 The following instructions should let you run Sprite in the emulator:
1279
1280 <p>
1281 <ol>
1282 <li>Download the Sprite harddisk image:<pre>
1283 <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>
1284 83973120 bytes, MD5 = ec84eeeb20fe77b758370d5e312e4a5e
1285
1286 </pre>
1287 <li>Start the emulator with the following command line:<pre>
1288 <b>gxemul -X -e 3max -M128 -d ds5000.bt -j vmsprite -o ''</b>
1289
1290 </pre>
1291 </ol>
1292
1293 <p>
1294 The first time you boot up with the disk image, you will be asked a number
1295 of questions regarding network settings. If you feel like entering correct
1296 values, then you should use the following:
1297 <p>
1298
1299 <pre>
1300 Your machine's Ethernet address: 10:20:30:00:00:10
1301 Your machine's IP: 10.0.0.1
1302 Subnet mask: 0xff000000
1303 Gateway's Ethernet address: 60:50:40:30:20:10
1304 Gateway's IP: 10.0.0.254
1305 </pre>
1306
1307 <p>
1308 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>,
1309 the following sad statement can be found:
1310 <pre>
1311 The bootable Sprite image is meant to be a demonstration of Sprite, not
1312 a robust Sprite system. There are several missing things, such as
1313 floating point and network support.
1314 </pre>
1315
1316 <p>Once you are logged in as root, running <b><tt>xinit</tt></b> will
1317 start the X11 environment.
1318
1319
1320
1321
1322
1323
1324 <p><br>
1325 <a name="declinux"></a>
1326 <h3>Debian GNU/Linux for DECstation:</h3>
1327
1328 <font color="#ef0000">NOTE: This is experimental, and <i>extremely</i>
1329 unstable. During my tests, even pressing the wrong key during the install
1330 (for example the wrong cursor key) can cause a kernel Oops. My success
1331 rate is probably around 50%.</font>
1332
1333 <p><font color="#ef0000">I <i>think</i> this has to do with interrupts
1334 from the serial controller. Hopefully using the <tt><b>-U</b></tt> command
1335 line option will reduce the risk for such crashes. (I haven't had time to
1336 come up with a clean solution to this yet; it feels like a buffer overflow
1337 in Linux' serial driver for the 5000/200, but it is also likely that it is
1338 a bug in GXemul.)</font>
1339
1340 <p><font color="#ef0000">Everything runs extremely slow. Even if you have
1341 a very fast host machine, an install attempt can still take several hours!
1342 </font>
1343
1344 <p>
1345 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1346 <a href="20041212-debian_1.png"><img src="20041212-debian_1_small.gif"></a>
1347 &nbsp;&nbsp;&nbsp;
1348 <a href="20041212-debian_2.png"><img src="20041212-debian_2_small.gif"></a>
1349 &nbsp;&nbsp;&nbsp;
1350 <a href="20041213-debian_3.png"><img src="20041213-debian_3_small.gif"></a>
1351 &nbsp;&nbsp;&nbsp;
1352 <a href="20041213-debian_4.png"><img src="20041213-debian_4_small.gif"></a>
1353
1354 <p>
1355 The following steps should let you install Debian GNU/Linux for DECstation
1356 onto a harddisk image:
1357
1358 <p>
1359 <ol>
1360 <li>Create an empty harddisk image, which will be the root disk
1361 that Debian installs itself onto:<pre>
1362 <b>dd if=/dev/zero of=debian.img bs=1024 count=1 seek=3000000</b>
1363
1364 </pre>
1365 <li>Download an install kernel:<pre>
1366 <a href="http://ftp.egr.msu.edu/debian/dists/stable/main/installer-mipsel/current/images/r3k-kn02/boot.img">http://ftp.egr.msu.edu/debian/dists/stable/main/</a>
1367 <a href="http://ftp.egr.msu.edu/debian/dists/stable/main/installer-mipsel/current/images/r3k-kn02/boot.img">installer-mipsel/current/images/r3k-kn02/boot.img</a>
1368
1369 </pre>
1370 <p>
1371 <li>For a text-mode installation, start the emulator like this:<pre>
1372 <b>gxemul -e 3max -U -M64 -o 'console=ttyS3' -d debian.img -O boot.img</b>
1373
1374 </pre>
1375 (If you want to, you can try <b><tt>-X</tt></b> instead of
1376 <b><tt>-o 'console=ttyS3'</tt></b> on the command line. This will
1377 cause Linux to use the graphical framebuffer. Unfortunately, Linux
1378 does not seem to have a driver for the DZ11 keyboard controller yet,
1379 so you cannot interact with the system. You will see the penguin in
1380 the upper lefthand corner while booting, and nicely rendered Unicode
1381 characters, but that's about it.)
1382 <p>
1383 You need to enter some values during the installation procedure, for
1384 example network settings. The following should work:<pre>
1385 DHCP: No, choose "<b>Configure network manually</b>"
1386 IP address: <b>10.0.0.1</b>
1387 Netmask: <b>255.0.0.0</b>
1388 Gateway: <b>10.0.0.254</b>
1389 Name server addresses: <b>10.0.0.254</b>
1390 </pre>
1391 <li>Once the first phase of the install has finished, the following command
1392 should let you boot into Debian, and perform post-install
1393 configuration:<pre>
1394 <b>gxemul -e 3max -U -M64 -o 'console=ttyS3' -d debian.img</b>
1395
1396 </pre>Note: All these steps take a lot of time, so you will have plenty
1397 of time to drink lots of cups of coffee.
1398 <p>
1399 <li>It seems that there's a problem with getting a login prompt on serial
1400 console (at least when I've done test installs), so when the
1401 installation is finished and you're supposed to get a login prompt,
1402 you need to press CTRL-C and type <b><tt>quit</tt></b>, and then:
1403 download a normal kernel (<i>not</i> a RAMDISK kernel):<pre>
1404 <a href="http://ftp.egr.msu.edu/debian/dists/stable/main/installer-mipsel/current/images/cdrom/vmlinux-2.4.27-r3k-kn02">http://ftp.egr.msu.edu/debian/dists/stable/main/installer-mipsel/</a>
1405 <a href="http://ftp.egr.msu.edu/debian/dists/stable/main/installer-mipsel/current/images/cdrom/vmlinux-2.4.27-r3k-kn02">current/images/cdrom/vmlinux-2.4.27-r3k-kn02</a>
1406
1407 </pre>and boot Debian using the following command line:<pre>
1408 <b>gxemul -e 3max -U -M64 -o \
1409 'console=ttyS3 root=/dev/sda1 rw init=/bin/sh' \
1410 -d debian.img vmlinux-2.4.27-r3k-kn02</b>
1411
1412 </pre>
1413 You'll enter single-user mode. You need to add a line to
1414 /etc/inittab, to enable logins via serial console.<pre>
1415 sh-2.05b# <b>echo 'T3:23:respawn:/sbin/getty -L ttyS3 9600 vt100' >> /etc/inittab</b>
1416 sh-2.05b# <b>echo 'ttyS3' >> /etc/securetty</b>
1417 sh-2.05b# <b>sync; umount /</b>
1418 sh-2.05b# <b>halt</b>
1419 </pre>
1420 </ol>
1421
1422 <p>
1423 The system should now be ready for everyday use.
1424
1425 <p>
1426 Use this command to boot from the completely installed disk image:<pre>
1427 <b>gxemul -e 3max -U -M64 -o 'console=ttyS3' -d debian.img</b>
1428
1429 </pre>
1430
1431 <p>
1432 [&nbsp;<font color="#ff0000">UPDATE 2005-01-19:</font>&nbsp;
1433 Kaj-Michael Lang noticed that the current CVS-version of
1434 <a href="http://www.linux-mips.org/">linux-mips</a> has
1435 support for keyboards now, on DECstation 5000/200, so it is
1436 possible to run Debian GNU/Linux with framebuffer/keyboard.
1437 (Add <b><tt>-X</tt></b> (or <b><tt>-XY2</tt></b>) and remove the
1438 <b><tt>console=ttyS3</tt></b> option.) He has made a kernel available here:
1439 <a href="http://home.tal.org/~milang/o2/kernels/">http://home.tal.org/~milang/o2/kernels</a>/<a href="http://home.tal.org/~milang/o2/kernels/vmlinux-2.4.29-rc2-r3k-mipsel-decstation">vmlinux-2.4.29-rc2-r3k-mipsel-decstation</a>
1440 It has other problems (ethernet doesn't seem to work, for
1441 example), but at least it doesn't Oops that often.&nbsp;]
1442
1443
1444
1445
1446
1447
1448 <p><br>
1449 <a name="declinuxredhat"></a>
1450 <h3>Redhat Linux for DECstation:</h3>
1451
1452 <font color="#ff0000">NOTE: This is experimental, and <i>extremely</i>
1453 unstable. Read the note about <b><tt>-U</tt></b> in the section on how to
1454 install Debian.
1455 </font>
1456
1457 <p>
1458 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1459 <a href="20041129-redhat_mips.png"><img src="20041129-redhat_mips_small.png"></a>
1460
1461 <p>
1462 The following steps should let you run Redhat Linux for DECstation in GXemul:
1463
1464 <p>
1465 <ol>
1466 <li>Download a kernel. This is a Debian kernel, but it works fine:<pre>
1467 <a href="http://ftp.egr.msu.edu/debian/dists/stable/main/installer-mipsel/current/images/cdrom/vmlinux-2.4.27-r3k-kn02">http://ftp.egr.msu.edu/debian/dists/stable/main/</a>
1468 <a href="http://ftp.egr.msu.edu/debian/dists/stable/main/installer-mipsel/current/images/cdrom/vmlinux-2.4.27-r3k-kn02">installer-mipsel/current/images/cdrom/vmlinux-2.4.27-r3k-kn02</a>
1469
1470 </pre>
1471 <li>Download a root filesystem tree:<pre>
1472 <a href="ftp://ftp.uni-wuppertal.de/pub/linux/mips/mipsel-linux/root/mipsel-root-20011216.tgz">ftp://ftp.uni-wuppertal.de/pub/linux/mips/</a>
1473 <a href="ftp://ftp.uni-wuppertal.de/pub/linux/mips/mipsel-linux/root/mipsel-root-20011216.tgz">mipsel-linux/root/mipsel-root-20011216.tgz</a>
1474 19486676 bytes, md5 = 5bcb725c90209479cd7ead8ad0c4a414
1475
1476 </pre>
1477 <li>This is the tricky part: Create an ext2 filesystem image called redhat.img using
1478 the filesystem tree you just downloaded. The disk image should have a MS-DOS
1479 partition table (!), and then one or more ext2 partitions.
1480 (Use loopback mount, or similar. This is probably easiest to do on a Linux host.)
1481 However, in order to actually boot the system you need to modify /etc/fstab.
1482 Change<pre>
1483 /dev/root / nfs defaults 1 1
1484 #/dev/sdc1 / ext2 defaults 1 1
1485 none /proc proc defaults 0 0
1486 none /dev/pts devpts mode=0622 0 0
1487
1488 </pre>to<pre>
1489 #/dev/root / nfs defaults 1 1
1490 /dev/sda1 / ext2 defaults 1 1
1491 none /proc proc defaults 0 0
1492 none /dev/pts devpts mode=0622 0 0
1493
1494 </pre>(Note sda1 instead of sdc1.)
1495 <p>
1496 <li>To boot Linux, start the emulator like this:<pre>
1497 <b>gxemul -e 3max -U -M128 -o \
1498 "console=ttyS3 root=/dev/sda1 ro" -d redhat.img vmlinux-2.4.27-r3k-kn02</b>
1499
1500 </pre>
1501 </ol>
1502
1503 <p>
1504 If you need to boot into single user mode, try the following:<pre>
1505 <b>gxemul -e 3max -U -o "console=ttyS3 root=/dev/sda1 rw init=/bin/sh" \
1506 -d redhat.img vmlinux-2.4.27-r3k-kn02</b>
1507
1508 </pre>
1509
1510 <p>Redhat Linux on DECstation in R3000 mode should work fine with dynamic
1511 binary translation, but if things are buggy, it can be disabled by
1512 using the <b><tt>-B</tt></b> command line option.
1513
1514 <p>
1515 NOTE: You can add <b>-X</b> and remove <b>console=ttyS3</b> from the command
1516 line, if you want to use a graphical framebuffer. Unfortunately, Linux
1517 doesn't have support for keyboards on DECstation 5000/200 yet, so you cannot
1518 actually interact with the sytem. :-(
1519
1520 <p>
1521 [&nbsp;<font color="#ff0000">UPDATE 2005-01-22:</font>&nbsp;
1522 Read the 2005-01-19 update in the Debian section above, and then, if
1523 you do not need ethernet support, try Kaj-Michael Lang's kernel compiled
1524 from <a href="http://www.linux-mips.org/">linux-mips</a>' CVS.
1525 <a href="http://home.tal.org/~milang/o2/kernels/">http://home.tal.org/~milang/o2/kernels</a>/<a href="http://home.tal.org/~milang/o2/kernels/vmlinux-2.4.29-rc2-r3k-mipsel-decstation">vmlinux-2.4.29-rc2-r3k-mipsel-decstation</a>
1526 It should work with framebuffer/keyboard.&nbsp;]
1527
1528
1529
1530
1531
1532
1533 <p><br>
1534 <hr>
1535
1536
1537
1538
1539
1540
1541
1542 <p><br>
1543 <a name="mach"></a>
1544 <h3>Mach/PMAX:</h3>
1545
1546 Read the following link if you want to know more about Mach in general:
1547 <a href="http://www-2.cs.cmu.edu/afs/cs/project/mach/public/www/mach.html">
1548 http://www-2.cs.cmu.edu/afs/cs/project/mach/public/www/mach.html</a>
1549
1550 <p>
1551 <font color="#ff0000">NOTE: Mach for DECstation requires some files
1552 (called 'startup' and 'emulator') which I haven't been able to find
1553 on the web. Without these, Mach will not get very far. These
1554 installation instructions are preliminary.
1555 </font>
1556
1557 <p>
1558 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1559 <a href="20041018-mach_pmax.png"><img src="20041018-mach_pmax_small.png"></a>
1560
1561 <p>
1562 The following steps should let you experiment with running Mach
1563 for DECstation in the emulator:
1564
1565 <p>
1566 <ol>
1567 <li>Compile gxemul with cache emulation: (<b>NOTE: --enable-caches</b>)<pre>
1568 <b>./configure --enable-caches; make</b>
1569
1570 </pre>
1571 <li>Download the pmax binary distribution for Mach 3.0:<pre>
1572 <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>
1573 <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>
1574 7263343 bytes, md5 = f9d76c240a6e169921a1df99ad560cc0
1575
1576 </pre>
1577 <li>Extract the Mach kernel:<pre>
1578 <b>tar xfvz pmax.tar.Z pmax_mach/special/mach.boot.MK83.STD+ANY</b>
1579
1580 </pre>
1581 <li>Create an empty disk image:<pre>
1582 <b>dd if=/dev/zero of=disk.img bs=1 count=512 seek=400000000</b>
1583
1584 </pre>
1585 <li>Load the contents of pmax.tar.Z onto the disk image. This is
1586 complicated, and should be described in more detail some time.
1587 For now, use your imagination. (For example using OpenBSD/pmax:
1588 <i>disklabel -E rz1; newfs -O /dev/rz1a;
1589 mount /dev/rz1a /mnt; cd /mnt; download pmax.tar.Z using ftp;
1590 tar xzvf pmax.tar.Z; mv pmax_mach/* .; rmdir pmax_mach;
1591 mkdir mach_servers;
1592 cd mach_servers;
1593 cp ../etc/mach_init .;
1594 cp ../tests/test_service startup;
1595 dd if=/dev/zero of=paging_file bs=65536 count=400;
1596 cd /; sync; umount /mnt</i>)
1597 <p>
1598 <li>Start the emulator with the following command:<pre>
1599 <b>gxemul -e 3max -X -d disk.img \
1600 pmax_mach/special/mach.boot.MK83.STD+ANY</b>
1601
1602 </pre>
1603 </ol>
1604
1605
1606
1607
1608
1609
1610
1611 <p><br>
1612 <a name="openbsdsgiinstall"></a>
1613 <h3>OpenBSD/sgi:</h3>
1614
1615 <a href="http://www.openbsd.org/sgi.html">OpenBSD/sgi</a>
1616 can (almost) run in GXemul on an emulated O2 (SGI-IP32) with root on nfs.
1617
1618 <p>
1619 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1620 <a href="20050617-openbsd-sgi.png"><img src="20050617-openbsd-sgi_small.png"></a>
1621
1622 <p><font color="#ff0000">NOTE: I haven't succeeded all the way with
1623 this yet, and this shows/triggers many bugs in the emulator, but some of
1624 it works.</font>
1625
1626 <p>GXemul does not yet emulate the AHC PCI SCSI controller in the O2. (I have
1627 mailed Adaptec several times, asking for documentation, but never received
1628 any reply.) OpenBSD/sgi can still run in the emulator, as long as it doesn't
1629 use SCSI. For a simple test with the ramdisk (install) kernel, try dowloading<pre>
1630 <a href="ftp://ftp.se.openbsd.org/pub/OpenBSD/3.7/sgi/bsd.rd">ftp://ftp.se.openbsd.org/pub/OpenBSD/3.7/sgi/bsd.rd</a>
1631
1632 </pre>and run <b><tt>gxemul -e o2 bsd.rd</tt></b>.
1633
1634 <p>It might also be possible to netboot. Another emulated machine must
1635 then be used as the nfs root server, and the emulated O2 machine must boot
1636 as a <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=diskless&amp;manpath=OpenBSD+Current&amp;format=html">diskless</a>
1637 client. Performing this setup is quite time consuming, but necessary:
1638
1639 <p>
1640 <ol>
1641 <li>First of all, the "<tt>nfs server</tt>" machine must be set up.
1642 This needs to have a 800 MB <tt>/tftpboot</tt> partition.
1643 <a href="#netbsdinstall">Install NetBSD/pmax 2.1 from CDROM</a>.
1644 (Don't forget to add the extra partition!)
1645 <p>
1646 <li>Configure the nfs server machine to act as an nfs server.
1647 Start up the emulated DECstation:<pre>
1648 <b>gxemul -e 3max -A -d nbsd_pmax.img</b>
1649 </pre>and enter the following commands as <tt>root</tt>
1650 inside the emulator:
1651 <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1652 <b>echo hostname=server &gt;&gt; /etc/rc.conf
1653 echo ifconfig_le0=\"inet 10.0.0.2\" &gt;&gt; /etc/rc.conf
1654 echo nameserver 10.0.0.254 &gt;&gt; /etc/resolv.conf
1655 echo 10.0.0.254 &gt; /etc/mygate
1656 echo /tftpboot -maproot=root 10.0.0.1 &gt; /etc/exports
1657 echo rpcbind=YES &gt;&gt; /etc/rc.conf
1658 echo nfs_server=YES &gt;&gt; /etc/rc.conf
1659 echo mountd=YES &gt;&gt; /etc/rc.conf
1660 echo bootparamd=YES &gt;&gt; /etc/rc.conf
1661 printf "client root=10.0.0.2:/tftpboot \\\n swap=10.0.0.2:/tftpboot/swap\n" &gt; /etc/bootparams
1662 echo "10:20:30:00:00:10 client" &gt; /etc/ethers
1663 echo 10.0.0.1 client &gt; /etc/hosts
1664 reboot</b>
1665 </pre></td></tr></table>
1666 <li>Start the DECstation emulation again, and enter the following
1667 commands to download the OpenBSD/sgi distribution:<br>(NOTE: This
1668 takes quite some time, even if you have a fast network connection.)
1669 <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1670 <b>cd /tftpboot; ftp -i ftp.se.openbsd.org</b>
1671 (log in as anonymous...)
1672 <b>cd pub/OpenBSD/3.7/sgi
1673 mget b*tgz c* e* g* m*
1674 quit
1675 sh
1676 for a in *.tgz; do echo $a; tar zxfp $a; done
1677 echo 10.0.0.2:/tftpboot / nfs rw 0 0 &gt; /tftpboot/etc/fstab
1678 rm *.tgz
1679 dd if=/dev/zero of=swap bs=1024 count=32768
1680 halt</b>
1681 </pre></td></tr></table>
1682 <li>Download the OpenBSD/sgi GENERIC and RAMDISK kernels:<pre>
1683 <a href="ftp://ftp.se.openbsd.org/pub/OpenBSD/3.7/sgi/bsd">ftp://ftp.se.openbsd.org/pub/OpenBSD/3.7/sgi/bsd</a>
1684 MD5 (bsd) = f16eaf3dcbd51876db7c25f70e6d8a08
1685 <a href="ftp://ftp.se.openbsd.org/pub/OpenBSD/3.7/sgi/bsd.rd">ftp://ftp.se.openbsd.org/pub/OpenBSD/3.7/sgi/bsd.rd</a>
1686 MD5 (bsd.rd) = 4843e6139d8dd04b03d5f0e33e9a4f7b
1687
1688 </pre>
1689 <li>Create a configuration file called <tt>config_client</tt>:
1690 <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1691 <font color="#2020cf">!!gxemul
1692 !
1693 ! Configuration file for running OpenBSD/sgi diskless with
1694 ! a NetBSD/pmax machine as the nfs server.
1695 !
1696 ! This config file is for the client.</font>
1697
1698 <b>emul(
1699 net(
1700 add_remote("localhost:12444") </b>! the server<b>
1701 local_port(12445) </b>! the client<b>
1702 )
1703
1704 machine(
1705 name("client machine")
1706 serial_nr(1)
1707
1708 type("sgi")
1709 subtype("o2")
1710
1711 </b>! load("bsd")<b>
1712 load("bsd.rd")
1713 )
1714 )</b>
1715 </pre></td></tr></table>
1716 ... and another configuration file for the server,
1717 <tt>config_server</tt>:
1718 <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1719 <font color="#2020cf">!!gxemul</font>
1720 <b>emul(
1721 net(
1722 local_port(12444) </b>! the server<b>
1723 add_remote("localhost:12445") </b>! the client<b>
1724 )
1725
1726 machine(
1727 name("nfs server")
1728 serial_nr(2)
1729
1730 type("dec")
1731 subtype("5000/200")
1732
1733 disk("nbsd_pmax.img")
1734 )
1735 )</b>
1736 </pre></td></tr></table>
1737 <li>Boot the "<tt>nfs server</tt>" and the OpenBSD/sgi
1738 "<tt>client machine</tt>" as two separate emulator instances:<pre>
1739 in one xterm:
1740 <b>gxemul @config_server</b>
1741
1742 and then, in another xterm:
1743 <b>gxemul @config_client</b>
1744
1745 </pre>
1746 <li>In the OpenBSD/sgi window, choose "<tt>s</tt>" (for Shell), and type:
1747 <table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1748 <b>ifconfig mec0 10.0.0.1; route add default 10.0.0.254
1749 mount -v 10.0.0.2:/tftpboot /mnt
1750 cd /mnt/dev; ./MAKEDEV all; cd /; umount /mnt
1751 halt</b>
1752 </pre></td></tr></table>
1753 You might want to log in as <tt>root</tt> on the server machine, and
1754 run <tt>tcpdump -lnvv</tt> or similar, to see that what the client
1755 machine actually does on the network. The <tt>MAKEDEV</tt> script
1756 takes almost forever, so be patient.
1757 </ol>
1758
1759
1760 <p><font color="#ff0000">NOTE: Everything up to this point should work.
1761 However, the next step (in gray) doesn't actually work:</font>
1762
1763 <p><font color="#888888">Once everything has been set up correctly, change
1764 <tt>bsd.rd</tt> in <tt>config_client</tt> to just <tt>bsd</tt> (the GENERIC
1765 kernel). It should now be possible to boot OpenBSD/sgi using the NetBSD/pmax
1766 nfs server. (When asked for "<tt>root device :</tt>" on the OpenBSD machine,
1767 enter <tt><b>mec0</b></tt>.)</font>
1768
1769 <p><font color="#ff0000">But it doesn't work. Probably because GXemul's
1770 implementation of the mec (ethernet card used in the O2) is too much of
1771 a quick hack. For now, use the <tt>bsd.rd</tt> kernel, and (at every
1772 boot) type:</font><pre>
1773 <b>s</b> (for Shell)
1774 <b>ifconfig mec0 10.0.0.1; route add default 10.0.0.254</b>
1775 <b>mount -v 10.0.0.2:/tftpboot /mnt</b>
1776 <b>cd /mnt; usr/sbin/chroot .</b>
1777 <b>sh etc/rc</b>
1778 </pre>
1779
1780 <p><font color="#ff0000">This will not cause OpenBSD to be booted
1781 normally, but at least a few basic things will work.
1782 By the way, the emulator performs so poorly, that you will have time to
1783 fetch several cups of coffee for each of the steps above.</font>
1784
1785
1786
1787
1788
1789
1790
1791
1792 <p><br>
1793 <a name="netbsdnetwinderinstall"></a>
1794 <h3>NetBSD/netwinder:</h3>
1795
1796 <a href="http://www.netbsd.org/Ports/netwinder/">NetBSD/netwinder</a>
1797 could possibly run in GXemul. <font color="#ff0000">IT DOES <b>NOT</b> WORK YET!</font>
1798
1799 <p>It is tricky to install, because there is (as far as I know) no INSTALL
1800 kernel. One way to install the NetBSD/netwinder distribution onto a disk
1801 image is to install the files using another (emulated) machine.
1802
1803 <p>
1804 The following instructions will let you install the NetBSD/netwinder
1805 distribution onto a disk image, from an emulated DECstation 3MAX machine:
1806
1807 <p>
1808 <ol>
1809 <li>Install NetBSD/pmax 2.1 according to instructions
1810 <a href="#netbsdinstall">further up on this page</a>.
1811 <p>
1812 <li>Create an empty harddisk image, which will be the disk image
1813 that you will install NetBSD onto:<pre>
1814 <b>dd if=/dev/zero of=nbsd_netwinder.img bs=1024 count=1 seek=999000</b>
1815
1816 </pre>
1817 <li>Download the generic kernel and the 2.1 ISO image:<pre>
1818 <a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/netwinder/binary/kernel/netbsd-GENERIC.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.1/netwinder/binary/kernel/netbsd-GENERIC.gz</a>
1819 <a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/netwindercd.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/2.1/netwindercd.iso</a>
1820
1821 </pre>
1822 <p>
1823 <li>Start NetBSD/pmax like this:<pre>
1824 <b>gxemul -e 3max -A -d nbsd_pmax.img -d nbsd_netwinder.img -d netwinder.iso</b>
1825
1826 </pre>and execute the following commands as <tt>root</tt>:
1827 <p><table border="0"><tr><td><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td><pre>
1828 <b>newfs /dev/sd1c
1829 mount /dev/cd0c /mnt
1830 mkdir /mnt2; mount /dev/sd1c /mnt2
1831 cd /mnt2; sh
1832 for a in /mnt/netwinder/binary/sets/*.tgz; do echo $a; tar zxfp $a; done
1833 exit
1834 cd dev; sh ./MAKEDEV all; cd ../etc
1835 echo rc_configured=YES >> rc.conf
1836 echo "/dev/wd0c / ffs rw 1 1" > fstab
1837 cd /; umount /mnt; umount /mnt2; halt</b>
1838 </pre></td></tr></table>
1839 </ol>
1840
1841 <p>NetBSD/netwinder is now installed on the disk image. But actually
1842 running it does <b>not work yet</b>. Sorry.
1843
1844 <p>Something like the following command line would be used to start
1845 NetBSD, if it worked:<pre>
1846 <b>gxemul -E netwinder -d nbsd_netwinder.img netbsd-GENERIC.gz</b>
1847 </pre>
1848
1849 <p>Note: The installation instructions above create a filesystem
1850 <i>without</i> a disklabel, so there is only one ffs partition and no
1851 swap. You will need to enter the following things when booting with the
1852 generic kernel:<pre>
1853 root device (default wd0a): <b>wd0c</b>
1854 dump device (default wd0b): <b>none</b>
1855 file system (default generic): <i>(just press enter)</i>
1856 init path (default /sbin/init): <i>(just press enter)</i>
1857 </pre>
1858
1859
1860
1861
1862
1863
1864
1865
1866 </p>
1867
1868 </body>
1869 </html>

  ViewVC Help
Powered by ViewVC 1.1.26