/[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 32 - (hide annotations)
Mon Oct 8 16:20:58 2007 UTC (16 years, 6 months ago) by dpavlin
File MIME type: text/html
File size: 91462 byte(s)
++ trunk/HISTORY	(local)
$Id: HISTORY,v 1.1421 2006/11/06 05:32:37 debug Exp $
20060816	Adding a framework for emulated/virtual timers (src/timer.c),
		using only setitimer().
		Rewriting the mc146818 to use the new timer framework.
20060817	Adding a call to gettimeofday() every now and then (once every
		second, at the moment) to resynch the timer if it drifts.
		Beginning to convert the ISA timer interrupt mechanism (8253
		and 8259) to use the new timer framework.
		Removing the -I command line option.
20060819	Adding the -I command line option again, with new semantics.
		Working on Footbridge timer interrupts; NetBSD/NetWinder and
		NetBSD/CATS now run at correct speed, but unfortunately with
		HUGE delays during bootup.
20060821	Some minor m68k updates. Adding the first instruction: nop. :)
		Minor Alpha emulation updates.
20060822	Adding a FreeBSD development specific YAMON environment
		variable ("khz") (as suggested by Bruce M. Simpson).
		Moving YAMON environment variable initialization from
		machine_evbmips.c into promemul/yamon.c, and adding some more
		variables.
		Continuing on the LCA PCI bus controller (for Alpha machines).
20060823	Continuing on the timer stuff: experimenting with MIPS count/
		compare interrupts connected to the timer framework.
20060825	Adding bogus SCSI commands 0x51 (SCSICDROM_READ_DISCINFO) and
		0x52 (SCSICDROM_READ_TRACKINFO) to the SCSI emulation layer,
		to allow NetBSD/pmax 4.0_BETA to be installed from CDROM.
		Minor updates to the LCA PCI controller.
20060827	Implementing a CHIP8 cpu mode, and a corresponding CHIP8
		machine, for fun. Disassembly support for all instructions,
		and most of the common instructions have been implemented: mvi,
		mov_imm, add_imm, jmp, rand, cls, sprite, skeq_imm, jsr,
		skne_imm, bcd, rts, ldr, str, mov, or, and, xor, add, sub,
		font, ssound, sdelay, gdelay, bogus skup/skpr, skeq, skne.
20060828	Beginning to convert the CHIP8 cpu in the CHIP8 machine to a
		(more correct) RCA 180x cpu. (Disassembly for all 1802
		instructions has been implemented, but no execution yet, and
		no 1805 extended instructions.)
20060829	Minor Alpha emulation updates.
20060830	Beginning to experiment a little with PCI IDE for SGI O2.
		Fixing the cursor key mappings for MobilePro 770 emulation.
		Fixing the LK201 warning caused by recent NetBSD/pmax.
		The MIPS R41xx standby, suspend, and hibernate instructions now
		behave like the RM52xx/MIPS32/MIPS64 wait instruction.
		Fixing dev_wdc so it calculates correct (64-bit) offsets before
		giving them to diskimage_access().
20060831	Continuing on Alpha emulation (OSF1 PALcode).
20060901	Minor Alpha updates; beginning on virtual memory pagetables.
		Removed the limit for max nr of devices (in preparation for
		allowing devices' base addresses to be changed during runtime).
		Adding a hack for MIPS [d]mfc0 select 0 (except the count
		register), so that the coproc register is simply copied.
		The MIPS suspend instruction now exits the emulator, instead
		of being treated as a wait instruction (this causes NetBSD/
		hpcmips to get correct 'halt' behavior).
		The VR41xx RTC now returns correct time.
		Connecting the VR41xx timer to the timer framework (fixed at
		128 Hz, for now).
		Continuing on SPARC emulation, adding more instructions:
		restore, ba_xcc, ble. The rectangle drawing demo works :)
		Removing the last traces of the old ENABLE_CACHE_EMULATION
		MIPS stuff (not usable with dyntrans anyway).
20060902	Splitting up src/net.c into several smaller files in its own
		subdirectory (src/net/).
20060903	Cleanup of the files in src/net/, to make them less ugly.
20060904	Continuing on the 'settings' subsystem.
		Minor progress on the SPARC emulation mode.
20060905	Cleanup of various things, and connecting the settings
		infrastructure to various subsystems (emul, machine, cpu, etc).
		Changing the lk201 mouse update routine to not rely on any
		emulated hardware framebuffer cursor coordinates, but instead
		always do (semi-usable) relative movements.
20060906	Continuing on the lk201 mouse stuff. Mouse behaviour with
		multiple framebuffers (which was working in Ultrix) is now
		semi-broken (but it still works, in a way).
		Moving the documentation about networking into its own file
		(networking.html), and refreshing it a bit. Adding an example
		of how to use ethernet frame direct-access (udp_snoop).
20060907	Continuing on the settings infrastructure.
20060908	Minor updates to SH emulation: for 32-bit emulation: delay
		slots and the 'jsr @Rn' instruction. I'm putting 64-bit SH5 on
		ice, for now.
20060909-10	Implementing some more 32-bit SH instructions. Removing the
		64-bit mode completely. Enough has now been implemented to run
		the rectangle drawing demo. :-)
20060912	Adding more SH instructions.
20060916	Continuing on SH emulation (some more instructions: div0u,
		div1, rotcl/rotcr, more mov instructions, dt, braf, sets, sett,
		tst_imm, dmuls.l, subc, ldc_rm_vbr, movt, clrt, clrs, clrmac).
		Continuing on the settings subsystem (beginning on reading/
		writing settings, removing bugs, and connecting more cpus to
		the framework).
20060919	More work on SH emulation; adding an ldc banked instruction,
		and attaching a 640x480 framebuffer to the Dreamcast machine
		mode (NetBSD/dreamcast prints the NetBSD copyright banner :-),
		and then panics).
20060920	Continuing on the settings subsystem.
20060921	Fixing the Footbridge timer stuff so that NetBSD/cats and
		NetBSD/netwinder boot up without the delays.
20060922	Temporarily hardcoding MIPS timer interrupt to 100 Hz. With
		'wait' support disabled, NetBSD/malta and Linux/malta run at
		correct speed.
20060923	Connecting dev_gt to the timer framework, so that NetBSD/cobalt
		runs at correct speed.
		Moving SH4-specific memory mapped registers into its own
		device (dev_sh4.c).
		Running with -N now prints "idling" instead of bogus nr of
		instrs/second (which isn't valid anyway) while idling.
20060924	Algor emulation should now run at correct speed.
		Adding disassembly support for some MIPS64 revision 2
		instructions: ext, dext, dextm, dextu.
20060926	The timer framework now works also when the MIPS wait
		instruction is used.
20060928	Re-implementing checks for coprocessor availability for MIPS
		cop0 instructions. (Thanks to Carl van Schaik for noticing the
		lack of cop0 availability checks.)
20060929	Implementing an instruction combination hack which treats
		NetBSD/pmax' idle loop as a wait-like instruction.
20060930	The ENTRYHI_R_MASK was missing in (at least) memory_mips_v2p.c,
		causing TLB lookups to sometimes succeed when they should have
		failed. (A big thank you to Juli Mallett for noticing the
		problem.)
		Adding disassembly support for more MIPS64 revision 2 opcodes
		(seb, seh, wsbh, jalr.hb, jr.hb, synci, ins, dins, dinsu,
		dinsm, dsbh, dshd, ror, dror, rorv, drorv, dror32). Also
		implementing seb, seh, dsbh, dshd, and wsbh.
		Implementing an instruction combination hack for Linux/pmax'
		idle loop, similar to the NetBSD/pmax case.
20061001	Changing the NetBSD/sgimips install instructions to extract
		files from an iso image, instead of downloading them via ftp.
20061002	More-than-31-bit userland addresses in memory_mips_v2p.c were
		not actually working; applying a fix from Carl van Schaik to
		enable them to work + making some other updates (adding kuseg
		support).
		Fixing hpcmips (vr41xx) timer initialization.
		Experimenting with O(n)->O(1) reduction in the MIPS TLB lookup
		loop. Seems to work both for R3000 and non-R3000.
20061003	Continuing a little on SH emulation (adding more control
		registers; mini-cleanup of memory_sh.c).
20061004	Beginning on a dev_rtc, a clock/timer device for the test
		machines; also adding a demo, and some documentation.
		Fixing a bug in SH "mov.w @(disp,pc),Rn" (the result wasn't
		sign-extended), and adding the addc and ldtlb instructions.
20061005	Contining on SH emulation: virtual to physical address
		translation, and a skeleton exception mechanism.
20061006	Adding more SH instructions (various loads and stores, rte,
		negc, muls.w, various privileged register-move instructions).
20061007	More SH instructions: various move instructions, trapa, div0s,
		float, fdiv, ftrc.
		Continuing on dev_rtc; removing the rtc demo.
20061008	Adding a dummy Dreamcast PROM module. (Homebrew Dreamcast
		programs using KOS libs need this.)
		Adding more SH instructions: "stc vbr,rn", rotl, rotr, fsca,
		fmul, fadd, various floating-point moves, etc. A 256-byte
		demo for Dreamcast runs :-)
20061012	Adding the SH "lds Rm,pr" and bsr instructions.
20061013	More SH instructions: "sts fpscr,rn", tas.b, and some more
		floating point instructions, cmp/str, and more moves.
		Adding a dummy dev_pvr (Dreamcast graphics controller).
20061014	Generalizing the expression evaluator (used in the built-in
		debugger) to support parentheses and +-*/%^&|.
20061015	Removing the experimental tlb index hint code in
		mips_memory_v2p.c, since it didn't really have any effect.
20061017	Minor SH updates; adding the "sts pr,Rn", fcmp/gt, fneg,
		frchg, and some other instructions. Fixing missing sign-
		extension in an 8-bit load instruction.
20061019	Adding a simple dev_dreamcast_rtc.
		Implementing memory-mapped access to the SH ITLB/UTLB arrays.
20061021	Continuing on various SH and Dreamcast things: sh4 timers,
		debug messages for dev_pvr, fixing some virtual address
		translation bugs, adding the bsrf instruction.
		The NetBSD/dreamcast GENERIC_MD kernel now reaches userland :)
		Adding a dummy dev_dreamcast_asic.c (not really useful yet).
		Implementing simple support for Store Queues.
		Beginning on the PVR Tile Accelerator.
20061022	Generalizing the PVR framebuffer to support off-screen drawing,
		multiple bit-depths, etc. (A small speed penalty, but most
		likely worth it.)
		Adding more SH instructions (mulu.w, fcmp/eq, fsub, fmac,
		fschg, and some more); correcting bugs in "fsca" and "float".
20061024	Adding the SH ftrv (matrix * vector) instruction. Marcus
		Comstedt's "tatest" example runs :) (wireframe only).
		Correcting disassembly for SH floating point instructions that
		use the xd* registers.
		Adding the SH fsts instruction.
		In memory_device_dyntrans_access(), only the currently used
		range is now invalidated, and not the entire device range.
20061025	Adding a dummy AVR32 cpu mode skeleton.
20061026	Various Dreamcast updates; beginning on a Maple bus controller.
20061027	Continuing on the Maple bus. A bogus Controller, Keyboard, and
		Mouse can now be detected by NetBSD and KOS homebrew programs.
		Cleaning up the SH4 Timer Management Unit, and beginning on
		SH4 interrupts.
		Implementing the Dreamcast SYSASIC.
20061028	Continuing on the SYSASIC.
		Adding the SH fsqrt instruction.
		memory_sh.c now actually scans the ITLB.
		Fixing a bug in dev_sh4.c, related to associative writes into
		the memory-mapped UTLB array. NetBSD/dreamcast now reaches
		userland stably, and prints the "Terminal type?" message :-]
		Implementing enough of the Dreamcast keyboard to make NetBSD
		accept it for input.
		Enabling SuperH for stable (non-development) builds.
		Adding NetBSD/dreamcast to the documentation, although it
		doesn't support root-on-nfs yet.
20061029	Changing usleep(1) calls in the debugger to to usleep(10000)
		(according to Brian Foley, this makes GXemul run better on
		MacOS X).
		Making the Maple "Controller" do something (enough to barely
		interact with dcircus.elf).
20061030-31	Some progress on the PVR. More test programs start running (but
		with strange output).
		Various other SH4-related updates.
20061102	Various Dreamcast and SH4 updates; more KOS demos run now.
20061104	Adding a skeleton dev_mb8696x.c (the Dreamcast's LAN adapter).
20061105	Continuing on the MB8696x; NetBSD/dreamcast detects it as mbe0.
		Testing for the release.

==============  RELEASE 0.4.3  ==============


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

  ViewVC Help
Powered by ViewVC 1.1.26