1 |
<html> |
<html><head><title>Gavare's eXperimental Emulator: Installing and running "guest OSes"</title> |
2 |
<head><title>GXemul documentation: Installing and running "guest OSes"</title> |
<meta name="robots" content="noarchive,nofollow,noindex"></head> |
|
</head> |
|
3 |
<body bgcolor="#f8f8f8" text="#000000" link="#4040f0" vlink="#404040" alink="#ff0000"> |
<body bgcolor="#f8f8f8" text="#000000" link="#4040f0" vlink="#404040" alink="#ff0000"> |
4 |
<table border=0 width=100% bgcolor="#d0d0d0"><tr> |
<table border=0 width=100% bgcolor="#d0d0d0"><tr> |
5 |
<td width=100% align=center valign=center><table border=0 width=100%><tr> |
<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"> |
<td align="left" valign=center bgcolor="#d0efff"><font color="#6060e0" size="6"> |
7 |
<b>GXemul documentation:</b></font> |
<b>Gavare's eXperimental Emulator:</b></font><br> |
8 |
<font color="#000000" size="6"><b>Installing and running "guest OSes"</b> |
<font color="#000000" size="6"><b>Installing and running "guest OSes"</b> |
9 |
</font></td></tr></table></td></tr></table><p> |
</font></td></tr></table></td></tr></table><p> |
|
<!-- The first 10 lines are cut away by the homepage updating script. --> |
|
|
|
|
10 |
|
|
11 |
<!-- |
<!-- |
12 |
|
|
13 |
$Id: guestoses.html,v 1.48 2005/06/04 01:11:01 debug Exp $ |
$Id: guestoses.html,v 1.187 2006/11/06 05:31:38 debug Exp $ |
14 |
|
|
15 |
Copyright (C) 2003-2005 Anders Gavare. All rights reserved. |
Copyright (C) 2003-2006 Anders Gavare. All rights reserved. |
16 |
|
|
17 |
Redistribution and use in source and binary forms, with or without |
Redistribution and use in source and binary forms, with or without |
18 |
modification, are permitted provided that the following conditions are met: |
modification, are permitted provided that the following conditions are met: |
39 |
|
|
40 |
--> |
--> |
41 |
|
|
42 |
|
|
43 |
<a href="./">Back to the index</a> |
<a href="./">Back to the index</a> |
44 |
|
|
45 |
<p><br> |
<p><br> |
48 |
<p> |
<p> |
49 |
<ul> |
<ul> |
50 |
<li><a href="#generalnotes">General notes on running "guest OSes"</a> |
<li><a href="#generalnotes">General notes on running "guest OSes"</a> |
51 |
<li><a href="#netbsdinstall">Installing NetBSD/pmax in GXemul</a> |
<li><a href="#netbsdpmaxinstall">NetBSD/pmax 3.1 or 1.6.2</a> |
52 |
<li><a href="#netbsdarcinstall">Installing NetBSD/arc in GXemul</a> |
<li><a href="#netbsdarcinstall">NetBSD/arc 1.6.2</a> |
53 |
<li><a href="#netbsdhpcmipsinstall">Installing NetBSD/hpcmips in GXemul</a> |
<li><a href="#netbsdhpcmipsinstall">NetBSD/hpcmips 3.1</a> |
54 |
<li><a href="#netbsdcobaltinstall">Installing NetBSD/cobalt in GXemul</a> |
<li><a href="#netbsdcobaltinstall">NetBSD/cobalt 3.1</a> |
55 |
<!-- |
<li><a href="#netbsdevbmipsinstall">NetBSD/evbmips 3.1</a> |
56 |
<li><a href="#netbsdsgimips">Running NetBSD/sgimips in GXemul</a> |
<li><a href="#netbsdalgorinstall">NetBSD/algor 3.1</a> |
57 |
--> |
<li><a href="#netbsdsgimips">NetBSD/sgimips 3.1</a> |
58 |
<li><a href="#openbsdinstall">Installing OpenBSD/pmax in GXemul</a> |
<li><a href="#netbsdcatsinstall">NetBSD/cats 3.1</a> |
59 |
<li><a href="#openbsdarcinstall">Installing OpenBSD/arc in GXemul</a> |
<li><a href="#netbsdevbarminstall">NetBSD/evbarm 2.1</a> |
60 |
<!-- |
<li><a href="#netbsdnetwinderinstall">NetBSD/netwinder 3.1</a> |
61 |
<li><a href="#openbsdsgiinstall">Running OpenBSD/sgi in GXemul</a> |
<li><a href="#netbsdprepinstall">NetBSD/prep 2.1</a> |
62 |
--> |
<li><a href="#netbsddreamcast">NetBSD/dreamcast 3.1</a> |
63 |
<li><a href="#ultrixinstall">Installing Ultrix/RISC in GXemul</a> |
<li><a href="#openbsdpmaxinstall">OpenBSD/pmax 2.8-BETA</a> |
64 |
<li><a href="#sprite">Running Sprite for DECstation in GXemul</a> |
<li><a href="#openbsdcatsinstall">OpenBSD/cats 4.0</a> |
65 |
<li><a href="#declinux">Installing Debian GNU/Linux for DECstation in GXemul</a> |
<li><a href="#ultrixinstall">Ultrix/RISC 4.5</a> |
66 |
<li><a href="#declinuxredhat">Running Redhat Linux for DECstation in GXemul</a> |
<li><a href="#sprite">Sprite for DECstation</a> |
67 |
<li><a href="#mach">Running Mach/PMAX in GXemul</a> |
<li><a href="#declinux">Debian GNU/Linux for DECstation</a> |
68 |
|
<li><a href="#declinuxredhat">Redhat Linux for DECstation</a> |
69 |
</ul> |
</ul> |
70 |
|
|
71 |
|
|
78 |
<h3>General notes on running "guest OSes":</h3> |
<h3>General notes on running "guest OSes":</h3> |
79 |
|
|
80 |
The emulator works well enough to run complete operating systems. These |
The emulator works well enough to run complete operating systems. These |
81 |
are often refered to as "guest" operating systems. |
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 |
|
|
84 |
<p> |
<p>Although it is possible to let a guest OS access real hardware, such as |
85 |
Although it is possible to let a guest OS access real hardware, such as |
harddisks, it is much more flexible and attractive to simulate harddisks |
86 |
harddisks, it is much more flexible and attractive to simulate harddisks |
using files residing in the host's filesystem. On Unix-like systems, files |
87 |
using files residing in the host's filesystem. On Unix-like systems, files |
may contain holes, which makes this really simple. To the guest operating |
|
may contain holes, which makes this really simple. To the guest operating |
|
88 |
system, the harddisk image looks and acts like a real disk. |
system, the harddisk image looks and acts like a real disk. |
89 |
|
|
90 |
|
<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 |
|
|
95 |
|
<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 |
|
|
99 |
|
<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 |
|
<!-- <li><a href="#linux_malta">Linux/Malta</a> --> |
105 |
|
<li><a href="#linux_qemu_mips">Linux/QEMU_MIPS</a> |
106 |
|
<li><a href="#windows_nt_mips">Windows NT/MIPS</a> |
107 |
|
<li><a href="#netbsdmacppcinstall">NetBSD/macppc 3.0</a> |
108 |
|
<li><a href="#netbsdbeboxinstall">NetBSD/bebox 19981119</a> |
109 |
|
</ul> |
110 |
|
|
111 |
|
<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 |
|
|
116 |
|
|
117 |
|
|
120 |
|
|
121 |
|
|
122 |
<p><br> |
<p><br> |
123 |
<a name="netbsdinstall"></a> |
<a name="netbsdpmaxinstall"></a> |
124 |
<h3>Installing NetBSD/pmax in GXemul:</h3> |
<h3>NetBSD/pmax:</h3> |
125 |
|
|
126 |
<p> |
<p><a href="http://www.netbsd.org/Ports/pmax/">NetBSD/pmax</a> was the |
127 |
|
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 |
|
|
133 |
|
<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 |
|
|
138 |
|
<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 |
|
<p> |
144 |
<a href="20050317-example.png"><img src="20050317-example_small.png"></a> |
<a href="20050317-example.png"><img src="20050317-example_small.png"></a> |
145 |
|
|
146 |
<p> |
<p>To install NetBSD/pmax onto a harddisk image in the emulator, |
147 |
To install NetBSD/pmax onto a harddisk image in the emulator, follow these |
follow these instructions: |
|
instructions: |
|
148 |
|
|
149 |
<p> |
<p><ol start="1"> |
|
<ol start="1"> |
|
150 |
<li>Create an empty harddisk image, which will be the root disk |
<li>Create an empty harddisk image, which will be the root disk |
151 |
that NetBSD installs itself onto:<pre> |
that NetBSD installs itself onto:<pre> |
152 |
$ <b>dd if=/dev/zero of=nbsd_pmax.img bs=1 count=512 seek=1900000000</b> |
<b>dd if=/dev/zero of=nbsd_pmax.img bs=1024 count=1 seek=3000000</b> |
153 |
|
|
154 |
</pre> |
</pre> |
155 |
</ol> |
</ol> |
164 |
<ol start="2"> |
<ol start="2"> |
165 |
|
|
166 |
<li>Download a NetBSD CD-ROM iso image:<pre> |
<li>Download a NetBSD CD-ROM iso image:<pre> |
167 |
<a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/1.6.2/pmaxcd.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/1.6.2/pmaxcd.iso</a> |
<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 |
or |
or |
169 |
<a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/2.0/pmaxcd.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/2.0/pmaxcd.iso</a> |
<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 |
|
|
171 |
</pre> |
</pre> |
172 |
<li>Start the emulator like this:<pre> |
<li>Start the emulator like this:<pre> |
173 |
$ <b>gxemul -X -b -E dec -e 3max -d nbsd_pmax.img -d bc:pmaxcd.iso</b> |
<b>gxemul -e 3max -d nbsd_pmax.img -d bc:pmaxcd-3.1.iso</b> |
174 |
|
(or <b>pmaxcd.iso</b>) |
175 |
</pre> |
</pre> |
176 |
|
and proceed like you would do if you were installing NetBSD on a real |
177 |
|
DECstation. Remember to choose <tt>vt100</tt> as your terminal |
178 |
|
type, and not <tt>rcons</tt>. |
179 |
</ol> |
</ol> |
180 |
<p> |
<p> |
181 |
For an ftp install, substitute steps 2 and 3 above with these: |
For an ftp install, substitute steps 2 and 3 above with these: |
182 |
<p> |
<p> |
183 |
<ol start="2"> |
<ol start="2"> |
184 |
|
|
185 |
<li>Download a NetBSD pmax INSTALL kernel, and gunzip it:<pre> |
<li>Download a NetBSD pmax INSTALL kernel:<pre> |
186 |
<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-1.6.2/pmax/binary/kernel/netbsd-INSTALL.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-1.6.2/pmax/binary/kernel/netbsd-INSTALL.gz</a> |
<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 |
or |
or |
188 |
<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0/pmax/binary/kernel/netbsd-INSTALL.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0/pmax/binary/kernel/netbsd-INSTALL.gz</a> |
<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> |
|
|
|
|
$ <b>gunzip netbsd-INSTALL.gz</b> |
|
189 |
|
|
190 |
</pre> |
</pre> |
191 |
<li>Start the emulator like this:<pre> |
<li>Start the emulator like this:<pre> |
192 |
$ <b>gxemul -X -b -E dec -e 3max -d nbsd_pmax.img -O netbsd-INSTALL</b> |
<b>gxemul -e 3max -d nbsd_pmax.img -O netbsd-INSTALL.gz</b> |
193 |
</pre> |
</pre> |
194 |
</ol> |
and proceed like you would do if you were installing NetBSD on a real |
195 |
|
DECstation. Remember to choose <tt>vt100</tt> as your terminal |
196 |
<p> |
type, and not <tt>rcons</tt>. Suitable networking parameters are as |
197 |
(If you don't want to use a graphical framebuffer during the install, |
follows:<pre> |
|
you can remove <b>-X</b> from the command line, but then make sure you |
|
|
choose 'vt100' when prompted with which terminal type to use, and not |
|
|
'rcons'.) |
|
|
|
|
|
<p> |
|
|
Then proceed like you would do if you were installing NetBSD on a real |
|
|
DECstation. If you are installing from the network, then suitable networking |
|
|
parameters are as follows:<pre> |
|
198 |
Which device shall I use? [le0]: <b>le0</b> |
Which device shall I use? [le0]: <b>le0</b> |
199 |
.. |
.. |
200 |
Your DNS domain: <b>mydomain.com</b> |
Your DNS domain: <b>mydomain.com</b> |
204 |
IPv4 gateway: <b>10.0.0.254</b> |
IPv4 gateway: <b>10.0.0.254</b> |
205 |
IPv4 name server: <b>10.0.0.254</b> |
IPv4 name server: <b>10.0.0.254</b> |
206 |
</pre> |
</pre> |
207 |
|
(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 |
|
|
211 |
<p> |
<p>If you want to use a graphical framebuffer during the install, you can |
212 |
(If using 10.0.0.254 as the nameserver fails, then try entering the |
add <b><tt>-X -Y2</tt></b> to the command line, and choose <tt>rcons</tt> |
213 |
IP number of a real-world nameserver instead.) |
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 |
|
|
217 |
<p> |
<p>When the installation is finished, the following command should start |
|
When the installation is completed, the following command should start |
|
218 |
NetBSD from the harddisk image:<pre> |
NetBSD from the harddisk image:<pre> |
219 |
$ <b>gxemul -X -b -M64 -E dec -e 3max -d nbsd_pmax.img</b> |
<b>gxemul -e 3max -d nbsd_pmax.img</b> |
220 |
</pre> |
</pre> |
221 |
|
|
222 |
<p> |
<p>If you installed NetBSD/pmax 1.6.2, or 4.0_BETA, then try the |
223 |
Use <b>startx</b> to start X windows. |
following to start with a framebuffer:<pre> |
224 |
|
<b>gxemul -X -e 3max -d nbsd_pmax.img</b> |
|
<p> |
|
|
<font color="#ff0000">NOTE:</font> For some reason, NetBSD 2.0 doesn't |
|
|
work with X out-of-the-box on pmax. It seems that this has to do with a |
|
|
switch to WSCONS. For now, if you want X, then try NetBSD 1.6.2. |
|
|
|
|
|
<p> |
|
|
If you want to run without the X framebuffer, use this instead:<pre> |
|
|
$ <b>gxemul -E dec -e 3max -b -d nbsd_pmax.img</b> |
|
225 |
</pre> |
</pre> |
226 |
|
and log in as <tt>root</tt> and type <tt>startx</tt> to start X windows. |
227 |
|
|
228 |
|
|
229 |
|
|
230 |
|
|
234 |
|
|
235 |
<p><br> |
<p><br> |
236 |
<a name="netbsdarcinstall"></a> |
<a name="netbsdarcinstall"></a> |
237 |
<h3>Installing NetBSD/arc in GXemul:</h3> |
<h3>NetBSD/arc:</h3> |
238 |
|
|
239 |
It is possible to run NetBSD/arc on an emulated Acer PICA-61 in the emulator. |
It is possible to install and run an old version of <a |
240 |
|
href="http://www.netbsd.org/Ports/arc/">NetBSD/arc</a> |
241 |
|
on an emulated Acer PICA-61 in the emulator. |
242 |
|
|
243 |
<p> |
<p> |
244 |
|
|
245 |
<a href="20041024-netbsd-arc-installed.gif"><img src="20041024-netbsd-arc-installed_small.gif"></a> |
<a href="20041024-netbsd-arc-installed.gif"><img src="20041024-netbsd-arc-installed_small.gif"></a> |
246 |
|
|
247 |
<p> |
<p> |
248 |
To install NetBSD/arc from a CDROM image onto an emulated harddisk image, |
To install NetBSD/arc 1.6.2 from a CDROM image onto an emulated |
249 |
follow these instructions: |
harddisk image, follow these instructions: |
250 |
|
|
251 |
<p> |
<p> |
252 |
<ol start="1"> |
<ol start="1"> |
253 |
<li>Create an empty harddisk image, which will be the root disk |
<li>Create an empty harddisk image, which will be the root disk |
254 |
that NetBSD installs itself onto:<pre> |
that NetBSD installs itself onto:<pre> |
255 |
$ <b>dd if=/dev/zero of=nbsd_arc.img bs=1024 count=1 seek=900000</b> |
<b>dd if=/dev/zero of=nbsd_arc.img bs=1024 count=1 seek=2000000</b> |
256 |
|
|
257 |
</pre> |
</pre> |
258 |
<li>Download a NetBSD/arc 1.6.2 CDROM image from ftp:<pre> |
<li>Download a NetBSD/arc 1.6.2 CDROM image, and a generic NetBSD/arc |
259 |
<a href="ftp://ftp.netbsd.org/pub/NetBSD/iso/1.6.2/arccd.iso">ftp://ftp.netbsd.org/pub/NetBSD/iso/1.6.2/arccd.iso</a> |
kernel:<pre> |
260 |
|
<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 |
|
|
263 |
</pre> |
</pre> |
264 |
<li>Start the emulator using this command line:<pre> |
<li>Start the emulator using this command line:<pre> |
265 |
$ <b>gxemul -E arc -e pica -x -b -d nbsd_arc.img -d bc:arccd.iso \ |
<b>gxemul -e pica -x -d nbsd_arc.img -d bc:arccd.iso -j arc/binary/kernel/netbsd.RAMDISK.gz</b> |
|
-j arc/binary/kernel/netbsd.RAMDISK.gz</b> |
|
266 |
|
|
267 |
</pre> |
</pre> |
268 |
(Try removing <tt>-x</tt> if you have problems with the xterm.) |
(Try removing <tt>-x</tt> if you have problems with the xterm.) |
269 |
<p> |
<p> |
270 |
<li>From now on, you have to use your imagination, as there is no |
<li>From now on, you have to use your imagination, as there is no |
271 |
automatic installation program for NetBSD/arc. Here are some tips |
automatic installation program for NetBSD/arc 1.6.2. Here are |
272 |
and hints on how you can proceed with the install:<pre> |
some tips and hints on how you can proceed with the install: |
273 |
$ <b>mount /dev/cd0a /mnt2</b> |
<p><table border="0"><tr><td><tt> </tt></td><td><pre> |
274 |
$ <b>disklabel -i -I sd0</b> (for example 'a', '4.2BSD', '1c', |
<b>mount /dev/cd0a /mnt2 |
275 |
'700M', 'b', 'swap', '701M', '$', 'P', 'W', 'y', and 'Q') |
disklabel -i -I sd0</b> (for example 'a', '4.2BSD', '1c', |
276 |
$ <b>newfs /dev/sd0a</b> |
'700M', 'b', 'swap', '701M', '$', 'P', 'W', 'y', and 'Q') |
277 |
$ <b>mount /dev/sd0a /mnt</b> |
<b>newfs /dev/sd0a |
278 |
$ <b>cd /mnt</b> |
mount /dev/sd0a /mnt |
279 |
$ <b>for a in /mnt2/arc/binary/sets/*.tgz; do echo $a; tar xzpf $a; done</b> |
cd /mnt |
280 |
$ <b>cd dev; sh MAKEDEV all</b> |
for a in /mnt2/arc/binary/sets/*.tgz; do echo $a; tar xzpf $a; done |
281 |
$ <b>cd ../etc; echo "rc_configured=YES" >> rc.conf</b> |
cd dev; sh MAKEDEV all |
282 |
$ <b>cat > /mnt/etc/fstab</b> |
cd ../etc; echo "rc_configured=YES" >> rc.conf |
283 |
/dev/sd0a / ffs rw 1 1 |
cat > /mnt/etc/fstab |
284 |
/dev/sd0b none swap sw 0 0 |
/dev/sd0a / ffs rw 1 1 |
285 |
(ctrl-d) |
/dev/sd0b none swap sw 0 0 |
286 |
$ <b>cd /; umount /mnt; umount /mnt2</b> |
</b>(press ctrl-d) |
287 |
$ <b>halt</b> |
<b>cd /; umount /mnt; umount /mnt2 |
288 |
|
halt</b> |
289 |
</pre> |
</pre></td></tr></table> |
|
<li>Download a generic NetBSD/arc kernel, |
|
|
and gunzip it:<pre> |
|
|
<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-1.6.2/arc/binary/kernel/netbsd-GENERIC.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-1.6.2/arc/binary/kernel/netbsd-GENERIC.gz</a> |
|
|
|
|
|
</pre> |
|
290 |
</ol> |
</ol> |
291 |
|
|
292 |
<p> |
<p>You can now use the generic NetBSD/arc kernel to boot from the harddisk |
293 |
You can now use the generic NetBSD/arc kernel to boot from the harddisk |
image, using the following command:<pre> |
294 |
image, using the following command: |
<b>gxemul -e pica -x -d nbsd_arc.img netbsd-GENERIC.gz</b> |
|
<p> |
|
|
<pre> |
|
|
$ <b>gxemul -E arc -e pica -xb -d nbsd_arc.img netbsd-GENERIC</b> |
|
295 |
|
|
296 |
</pre> |
</pre> |
297 |
|
|
298 |
|
<p>When asked for "<tt>root device: </tt>", enter <b><tt>sd0</tt></b>. |
299 |
|
|
300 |
|
|
301 |
|
|
305 |
|
|
306 |
<p><br> |
<p><br> |
307 |
<a name="netbsdhpcmipsinstall"></a> |
<a name="netbsdhpcmipsinstall"></a> |
308 |
<h3>Installing NetBSD/hpcmips in GXemul:</h3> |
<h3>NetBSD/hpcmips:</h3> |
309 |
|
|
310 |
It is possible to install NetBSD/hpcmips onto a disk image, on an an |
It is possible to install <a |
311 |
emulated MobilePro 770, 780, 800, or 880. The emulator treats the |
href="http://www.netbsd.org/Ports/hpcmips/">NetBSD/hpcmips</a> onto a disk |
312 |
different machine models as being almost identical; the most important |
image, on an an emulated MobilePro 770 or 800. (MobilePro 780 and 880 might |
313 |
difference is regarding the framebuffer. |
work too, but I don't test those for every release of the emulator. They |
314 |
|
have unaligned framebuffers, and run a bit slower.) |
|
<p> |
|
|
<table border="0"> |
|
|
<tr> |
|
|
<td width="80"> </td> |
|
|
<td><u>Model:</u></td> |
|
|
<td> </td> |
|
|
<td><u>Framebuffer size/depth:</u></td> |
|
|
<td> </td> |
|
|
<td><u>Framebuffer address:</u></td> |
|
|
</tr> |
|
|
<tr> |
|
|
<td></td> |
|
|
<td>MobilePro 770 (<super>*2</super>)</td> |
|
|
<td></td> |
|
|
<td>640 x 240, 16 bits</td> |
|
|
<td></td> |
|
|
<td>0xa000000</td> |
|
|
</tr> |
|
|
<tr> |
|
|
<td></td> |
|
|
<td>MobilePro 780</td> |
|
|
<td></td> |
|
|
<td>640 x 240, 16 bits</td> |
|
|
<td></td> |
|
|
<td>0xa180100 (<super>*</super>)</td> |
|
|
</tr> |
|
|
<tr> |
|
|
<td></td> |
|
|
<td>MobilePro 800</td> |
|
|
<td></td> |
|
|
<td>800 x 600, 16 bits</td> |
|
|
<td></td> |
|
|
<td>0xa000000</td> |
|
|
</tr> |
|
|
<tr> |
|
|
<td></td> |
|
|
<td>MobilePro 880</td> |
|
|
<td></td> |
|
|
<td>800 x 600, 16 bits</td> |
|
|
<td></td> |
|
|
<td>0xa0ea600 (<super>*</super>)</td> |
|
|
</tr> |
|
|
</table> |
|
|
|
|
|
<p> |
|
|
(<super>*</super>) = not aligned at a 4 KB boundary, so it will not work |
|
|
efficiently with the current bintrans system. Using this mode will still |
|
|
work, but each load and store will be emulated much more slowly than is |
|
|
possible with an aligned framebuffer. |
|
|
|
|
|
<p> |
|
|
(<super>*2</super>) = The MobilePro 770's cursor keys work differently |
|
|
than the other models, for some reason. (This is a known bug.) |
|
315 |
|
|
316 |
<p> |
<p> |
317 |
|
|
321 |
|
|
322 |
<p> |
<p> |
323 |
These instructions show an example of how to install |
These instructions show an example of how to install |
324 |
NetBSD/hpcmips on an emulated MobilePro 800: |
NetBSD/hpcmips on an emulated MobilePro 770: |
325 |
|
|
326 |
<p> |
<p> |
327 |
<ol start="1"> |
<ol start="1"> |
328 |
<li>Create an empty harddisk image, which will be the root disk |
<li>Create an empty harddisk image, which will be the root disk |
329 |
that you will install NetBSD/hpcmips onto:<pre> |
that you will install NetBSD/hpcmips onto:<pre> |
330 |
$ <b>dd if=/dev/zero of=nbsd_hpcmips.img bs=1024 count=1 seek=1990000</b> |
<b>dd if=/dev/zero of=nbsd_hpcmips.img bs=1024 count=1 seek=3000000</b> |
331 |
|
|
332 |
</pre> |
</pre> |
333 |
<li>Download the NetBSD 2.0 for hpcmips ISO image:<pre> |
<li>Download the NetBSD/hpcmips 3.1 ISO image, and a generic kernel:<pre> |
334 |
<a href="ftp://ftp.se.netbsd.org/pub/NetBSD/iso/2.0/">ftp://ftp.se.netbsd.org/pub/NetBSD/iso/2.0</a>/<a href="ftp://ftp.se.netbsd.org/pub/NetBSD/iso/2.0/hpcmipscd.iso">hpcmipscd.iso</a> |
<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 |
|
|
337 |
</pre>(You may want to choose a mirror closer to you, if .se is slow.) |
</pre> |
338 |
<p> |
<p> |
339 |
<li>Start the installation like this:<pre> |
<li>Start the installation like this:<pre> |
340 |
$ <b>gxemul -E hpc -e mobilepro800 -b -X -d nbsd_hpcmips.img \ |
<b>gxemul -e mobilepro770 -X -d nbsd_hpcmips.img -d b:hpcmipscd-3.1.iso -j hpcmips/installation/netbsd.gz</b> |
|
-d b:hpcmipscd.iso -j hpcmips/installation/netbsd.gz</b> |
|
341 |
|
|
342 |
</pre> |
</pre> |
343 |
and proceed like you would do if you were installing NetBSD on a real |
and proceed like you would do if you were installing NetBSD on a real |
344 |
MobilePro 800. (Install onto wd0, choose "Use entire disk" when |
MobilePro 770. (Install onto wd0, choose "Use entire disk" when |
345 |
doing the MBR partitioning, and choose wd1d (not cd0c) as the |
doing the MBR partitioning, and choose to install from CD-ROM.) |
|
CDROM device to install from.) |
|
346 |
</ol> |
</ol> |
347 |
|
|
348 |
<p> |
<p> |
349 |
If everything worked, NetBSD should now be installed on the disk image. |
If everything worked, NetBSD should now be installed on the disk image. |
350 |
GXemul does not (yet) support reading the kernel directly from the |
Use the following command line to boot the emulated hpcmips machine:<pre> |
351 |
disk image, so you need to download a generic kernel separately:<pre> |
<b>gxemul -e mobilepro770 -X -d nbsd_hpcmips.img netbsd-GENERIC.gz</b> |
|
<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0/hpcmips/binary/kernel/">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0/hpcmips/binary/kernel</a>/<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0/hpcmips/binary/kernel/netbsd-GENERIC.gz">netbsd-GENERIC.gz</a> |
|
352 |
|
|
353 |
</pre> |
</pre> |
354 |
|
|
355 |
<p> |
<p>When you have logged in as <tt>root</tt>, you can use <tt>startx</tt> to |
356 |
Once you have gunziped the generic kernel, you can now use it to boot from |
start X Windows, but there is no mouse support yet so only keyboard input |
357 |
the harddisk image, using the following command:<pre> |
is available. This makes it a bit akward to use X. |
|
$ <b>gxemul -E hpc -e mobilepro800 -b -X -d nbsd_hpcmips.img netbsd-GENERIC</b> |
|
|
|
|
|
</pre> |
|
|
|
|
|
<p> |
|
|
When you have logged in as root, you can use <b>startx</b> to start X |
|
|
Windows. (Note: There is no mouse support yet; you can only use |
|
|
keyboard input.) |
|
358 |
|
|
359 |
|
|
360 |
|
|
365 |
|
|
366 |
<p><br> |
<p><br> |
367 |
<a name="netbsdcobaltinstall"></a> |
<a name="netbsdcobaltinstall"></a> |
368 |
<h3>Installing NetBSD/cobalt in GXemul:</h3> |
<h3>NetBSD/cobalt:</h3> |
369 |
|
|
370 |
<a href="http://www.netbsd.org/Ports/cobalt/">NetBSD/cobalt</a> is tricky |
<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 |
to install, because the Cobalt machines were designed for Linux, and not |
372 |
very flexible. There is no INSTALL kernel for NetBSD/cobalt. One way to |
very flexible. There is no traditional INSTALL kernel for NetBSD/cobalt. |
373 |
install the NetBSD/cobalt distribution onto a disk image is to do it from |
One way to install the NetBSD/cobalt distribution onto a disk image is to |
374 |
another (emulated) machine. |
do it from another (emulated) machine. |
375 |
|
|
376 |
<p> |
<p> |
377 |
|
|
378 |
<a href="20050413-netbsd-cobalt.png"><img src="20050413-netbsd-cobalt_small.png"></a> |
<a href="20060812-netbsd-cobalt-3.0.1.png"><img src="20060812-netbsd-cobalt-3.0.1_small.png"></a> |
379 |
|
|
380 |
<p> |
<p> |
381 |
The following instructions will let you install NetBSD/cobalt onto a disk |
The following instructions will let you install NetBSD/cobalt onto a disk |
383 |
|
|
384 |
<p> |
<p> |
385 |
<ol> |
<ol> |
386 |
|
<li>Download a NetBSD/pmax (DECstation) install RAMDISK kernel:<pre> |
387 |
|
<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 |
|
</pre> |
389 |
|
<p> |
390 |
<li>Create an empty harddisk image, which will be the disk image |
<li>Create an empty harddisk image, which will be the disk image |
391 |
that you will install NetBSD/cobalt onto:<pre> |
that you will install NetBSD/cobalt onto:<pre> |
392 |
$ <b>dd if=/dev/zero of=nbsd_cobalt.img bs=1024 count=1 seek=1999000</b> |
<b>dd if=/dev/zero of=nbsd_cobalt.img bs=1024 count=1 seek=700000</b> |
393 |
|
|
394 |
</pre> |
</pre> |
395 |
<li>Download the generic kernel for Cobalt (and gunzip it) and |
<li>Download the generic kernel for Cobalt and the 3.1 ISO image:<pre> |
396 |
the 2.0 ISO image:<pre> |
<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.se.netbsd.org/pub/NetBSD/NetBSD-2.0/cobalt/binary/kernel/netbsd-GENERIC.gz">ftp://ftp.se.netbsd.org/pub/NetBSD/NetBSD-2.0/cobalt/binary/kernel/netbsd-GENERIC.gz</a> |
<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 |
<a href="ftp://ftp.se.netbsd.org/pub/NetBSD/iso/2.0/cobaltcd.iso">ftp://ftp.se.netbsd.org/pub/NetBSD/iso/2.0/cobaltcd.iso</a> |
|
|
|
|
|
</pre>(You may want to choose a mirror closer to you, if .se is slow.) |
|
|
<p> |
|
|
<li>Install NetBSD/pmax 2.0 according to instructions further up |
|
|
on this page. |
|
|
<p> |
|
|
<li>Start NetBSD/pmax like this:<pre> |
|
|
$ <b>gxemul -b -Edec -e3max -d nbsd_pmax.img -d cobaltcd.iso -d nbsd_cobalt.img</b> |
|
|
|
|
|
</pre> |
|
|
<li>Log in as root (on the emulated 3MAX machine), and execute the |
|
|
following commands: (adjust according to taste)<pre> |
|
|
# <b>newfs /dev/sd1c</b> |
|
|
# <b>mount /dev/cd0c /mnt</b> |
|
|
# <b>mkdir /mnt2; mount /dev/sd1c /mnt2</b> |
|
|
# <b>cd /mnt2; sh</b> |
|
|
# <b>for a in /mnt/cobalt/binary/sets/*.tgz; do echo $a; tar zxfp $a; done</b> |
|
|
# <b>exit</b> |
|
|
# <b>cd dev; sh ./MAKEDEV all; cd ../etc</b> |
|
|
# <b>echo rc_configured=YES >> rc.conf</b> |
|
|
# <b>echo "/dev/wd0d / ffs rw 1 1" > fstab</b> |
|
|
# <b>cd /; umount /mnt; umount /mnt2; halt</b> |
|
399 |
</pre> |
</pre> |
400 |
|
<li>Start the emulated DECstation machine like this:<pre> |
401 |
|
<b>gxemul -e 3max -d nbsd_cobalt.img -d cobaltcd-3.1.iso netbsd-INSTALL.gz</b> |
402 |
|
|
403 |
|
</pre> |
404 |
|
<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 |
|
<p><table border="0"><tr><td><tt> </tt></td><td><pre> |
407 |
|
<b>newfs /dev/sd0c |
408 |
|
mount /dev/cd0c /mnt |
409 |
|
mkdir /mnt2; mount /dev/sd0c /mnt2 |
410 |
|
cd /mnt2; sh |
411 |
|
for a in /mnt/*/binary/sets/[bcekmt]*.tgz; do echo $a; tar zxfp $a; done |
412 |
|
exit |
413 |
|
cd dev; sh ./MAKEDEV all; cd ../etc |
414 |
|
echo rc_configured=YES >> rc.conf |
415 |
|
echo "/dev/wd0d / ffs rw 1 1" > fstab |
416 |
|
cd /; umount /mnt; umount /mnt2; halt</b> |
417 |
|
</pre></td></tr></table> |
418 |
</ol> |
</ol> |
419 |
|
|
420 |
<p> |
<p> |
421 |
You should now be able to boot NetBSD/cobalt like this:<pre> |
You should now be able to boot NetBSD/cobalt like this:<pre> |
422 |
$ <b>gxemul -b -M128 -E cobalt -d nbsd_cobalt.img netbsd-GENERIC</b> |
<b>gxemul -E cobalt -d nbsd_cobalt.img netbsd-GENERIC.gz</b> |
423 |
</pre> |
</pre> |
424 |
|
|
425 |
Note that the installation instructions above create a filesystem |
Note that the installation instructions above create a filesystem |
438 |
|
|
439 |
|
|
440 |
|
|
441 |
<!-- |
<p><br> |
442 |
|
<a name="netbsdevbmipsinstall"></a> |
443 |
|
<h3>NetBSD/evbmips:</h3> |
444 |
|
|
445 |
|
<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 |
|
|
449 |
|
<p> |
450 |
|
<a href="20060812-netbsd-malta-3.0.1.png"><img src="20060812-netbsd-malta-3.0.1_small.png"></a> |
451 |
|
|
452 |
|
<p>One way to install the NetBSD/evbmips distribution onto a disk |
453 |
|
image is to install the files using another (emulated) machine. |
454 |
|
|
455 |
|
<p> |
456 |
|
The following instructions will let you install NetBSD/evbmips onto a disk |
457 |
|
image, from an emulated DECstation 3MAX machine: |
458 |
|
|
459 |
|
<p> |
460 |
|
<ol> |
461 |
|
<li>Download a NetBSD/pmax (DECstation) install RAMDISK kernel:<pre> |
462 |
|
<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 |
|
</pre> |
464 |
|
<p> |
465 |
|
<li>Create an empty harddisk image, which will be the disk image |
466 |
|
that you will install NetBSD onto:<pre> |
467 |
|
<b>dd if=/dev/zero of=nbsd_malta.img bs=1024 count=1 seek=700000</b> |
468 |
|
|
469 |
|
</pre> |
470 |
|
<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 |
|
|
474 |
|
</pre> |
475 |
|
<p> |
476 |
|
<li>Start the emulated DECstation machine like this:<pre> |
477 |
|
<b>gxemul -e 3max -d nbsd_malta.img -d evbmips-mipselcd-3.1.iso netbsd-INSTALL.gz</b> |
478 |
|
|
479 |
|
</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 |
|
<p><table border="0"><tr><td><tt> </tt></td><td><pre> |
483 |
|
<b>newfs /dev/sd0c |
484 |
|
mount /dev/cd0c /mnt |
485 |
|
mkdir /mnt2; mount /dev/sd0c /mnt2 |
486 |
|
cd /mnt2; sh |
487 |
|
for a in /mnt/*/binary/sets/[bcemt]*.tgz; do echo $a; tar zxfp $a; done |
488 |
|
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 |
|
</ol> |
495 |
|
|
496 |
|
<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 |
|
</pre> |
499 |
|
|
500 |
|
<p>NOTE: To select a 4Kc (MIPS32) CPU instead of the default 5Kc |
501 |
|
(MIPS64) CPU, add <tt><b>-C 4Kc</b></tt> to the command line. With NetBSD |
502 |
|
3.1, however, there will be little or no difference in functionality, as |
503 |
|
NetBSD still runs in 32-bit mode on 64-bit MIPS CPUs. There are two things |
504 |
|
that differ:<ol> |
505 |
|
<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 |
|
<li>4Kc only has 16 TLB entries, whereas 5Kc has 48. This makes 4Kc |
508 |
|
emulation slower in general, because there are more TLB misses. |
509 |
|
</ol> |
510 |
|
|
511 |
|
<p>The installation instructions above create a filesystem |
512 |
|
<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 |
|
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 |
|
</pre> |
520 |
|
|
521 |
|
|
522 |
|
|
523 |
|
|
524 |
|
|
525 |
|
|
526 |
|
|
527 |
|
|
528 |
|
|
529 |
|
|
530 |
|
|
531 |
|
|
532 |
|
|
533 |
|
|
534 |
|
<p><br> |
535 |
|
<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> |
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 |
|
<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 |
|
</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 |
|
<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 |
|
|
565 |
|
</pre> |
566 |
|
<p> |
567 |
|
<li>Start the emulated DECstation machine like this:<pre> |
568 |
|
<b>gxemul -e 3max -d nbsd_algor.img -d algorcd-3.1.iso netbsd-INSTALL.gz</b> |
569 |
|
|
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> </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> |
<p><br> |
613 |
<a name="netbsdsgimips"></a> |
<a name="netbsdsgimips"></a> |
614 |
<h3>Running NetBSD/sgimips in GXemul:</h3> |
<h3>NetBSD/sgimips:</h3> |
615 |
|
|
616 |
|
<p> |
617 |
|
|
618 |
|
<a href="20060623-netbsd-sgimips-3.0.png"><img src="20060623-netbsd-sgimips-3.0_small.png"></a> |
619 |
|
|
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 |
|
NetBSD can still run in the emulator, as long as it doesn't use SCSI. |
625 |
|
|
626 |
|
<p>For a simple test with the ramdisk/install kernel, try |
627 |
|
dowloading<pre> |
628 |
|
<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 |
|
|
630 |
|
</pre>and run <b><tt>gxemul -x -e o2 netbsd-INSTALL32_IP3x.gz</tt></b>. |
631 |
|
|
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 |
|
<a href="#netbsdpmaxinstall">Install NetBSD/pmax 3.1 from CDROM</a>. |
641 |
|
(Don't forget to add the extra partition!) |
642 |
|
<p> |
643 |
|
<li>Configure the nfs server machine to act as an nfs server. |
644 |
|
Start up the emulated DECstation:<pre> |
645 |
|
<b>gxemul -e 3max -d nbsd_pmax.img</b> |
646 |
|
</pre>and enter the following commands as <tt>root</tt> |
647 |
|
inside the emulator: |
648 |
|
<p><table border="0"><tr><td><tt> </tt></td><td><pre> |
649 |
|
<b>echo hostname=server >> /etc/rc.conf |
650 |
|
echo ifconfig_le0=\"inet 10.0.0.2\" >> /etc/rc.conf |
651 |
|
echo nameserver 10.0.0.254 >> /etc/resolv.conf |
652 |
|
echo 10.0.0.254 > /etc/mygate |
653 |
|
echo /tftpboot -maproot=root 10.0.0.1 > /etc/exports |
654 |
|
echo rpcbind=YES >> /etc/rc.conf |
655 |
|
echo nfs_server=YES >> /etc/rc.conf |
656 |
|
echo mountd=YES >> /etc/rc.conf |
657 |
|
echo bootparamd=YES >> /etc/rc.conf |
658 |
|
printf "client root=10.0.0.2:/tftpboot \\\n swap=10.0.0.2:/tftpboot/swap\n" > /etc/bootparams |
659 |
|
echo "bootps dgram udp wait root /usr/sbin/bootpd bootpd -d 4 -h 10.0.0.2" >> /etc/inetd.conf |
660 |
|
cat >> /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" > /etc/ethers |
670 |
|
echo 10.0.0.1 client > /etc/hosts |
671 |
|
reboot</b> |
672 |
|
</pre></td></tr></table> |
673 |
|
<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> </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 |
|
echo 10.0.0.2:/tftpboot / nfs rw 0 0 > /tftpboot/etc/fstab |
690 |
|
echo rc_configured=YES >> /tftpboot/etc/rc.conf |
691 |
|
echo 10.0.0.254 >> /tftpboot/etc/mygate |
692 |
|
echo nameserver 10.0.0.254 >> /tftpboot/etc/resolv.conf |
693 |
|
echo rc_configured=YES >> /tftpboot/etc/rc.conf |
694 |
|
dd if=/dev/zero of=swap bs=1024 count=65536 |
695 |
|
cd /; umount /mnt; halt</b> |
696 |
|
</pre></td></tr></table> |
697 |
|
<p> |
698 |
|
<li>Create a configuration file called <tt>config_client</tt>: |
699 |
|
<table border="0"><tr><td><tt> </tt></td><td><pre> |
700 |
|
<font color="#2020cf">! Configuration file for running NetBSD/sgimips diskless with |
701 |
|
! a NetBSD/pmax machine as the nfs server.</font> |
702 |
|
|
703 |
|
<b> net( |
704 |
|
add_remote("localhost:12444") </b>! the server<b> |
705 |
|
local_port(12445) </b>! the client<b> |
706 |
|
) |
707 |
|
|
708 |
|
machine( |
709 |
|
name("client machine") |
710 |
|
serial_nr(1) |
711 |
|
|
712 |
|
type("sgi") |
713 |
|
subtype("o2") |
714 |
|
|
715 |
|
load("netbsd-INSTALL32_IP3x.gz")</b> |
716 |
|
! load("netbsd-GENERIC32_IP3x.gz")<b> |
717 |
|
) |
718 |
|
</b> |
719 |
|
</pre></td></tr></table> |
720 |
|
... and another configuration file for the server, |
721 |
|
<tt>config_server</tt>: |
722 |
|
<table border="0"><tr><td><tt> </tt></td><td><pre> |
723 |
|
<b> net( |
724 |
|
local_port(12444) </b>! the server<b> |
725 |
|
add_remote("localhost:12445") </b>! the client<b> |
726 |
|
) |
727 |
|
|
728 |
|
machine( |
729 |
|
name("nfs server") |
730 |
|
serial_nr(2) |
731 |
|
|
732 |
|
type("dec") |
733 |
|
subtype("5000/200") |
734 |
|
|
735 |
|
disk("nbsd_pmax.img") |
736 |
|
) |
737 |
|
</b> |
738 |
|
</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 |
|
<b>gxemul @config_server</b> |
743 |
|
|
744 |
|
and then, in another xterm: |
745 |
|
<b>gxemul @config_client</b> |
746 |
|
|
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 |
|
</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 |
|
<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 |
|
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 |
|
</pre> |
772 |
|
|
773 |
|
<p>When asked for "<tt>root device:</tt>" etc. on the client machine, enter |
774 |
|
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 |
|
<p><br> |
799 |
|
<a name="netbsdcatsinstall"></a> |
800 |
|
<h3>NetBSD/cats:</h3> |
801 |
|
|
802 |
<a href="http://www.netbsd.org/Ports/sgimips/">NetBSD/sgimips</a> |
It is possible to install and run |
803 |
can theoretically run in GXemul on an emulated O2 (SGI-IP32) with root on nfs. |
<a href="http://www.netbsd.org/Ports/cats/">NetBSD/cats</a> in GXemul. |
804 |
|
|
805 |
|
<p> |
806 |
|
<a href="20051007-netbsd-cats-installed.png"><img src="20051007-netbsd-cats-installed_small.png"></a> |
807 |
|
|
808 |
<p> |
<p> |
809 |
<font color="#ff0000">NOTE: I haven't succeeded with this yet.</font> |
To install NetBSD/cats onto a disk image, follow these instructions: |
810 |
|
|
811 |
<p> |
<p> |
812 |
See the section on <a href="#openbsdsgiinstall">how to run OpenBSD/sgi</a> |
<ol start="1"> |
813 |
for more information. |
<li>Create an empty harddisk image, which will be the root disk |
814 |
|
that you will install NetBSD/cats onto:<pre> |
815 |
|
<b>dd if=/dev/zero of=nbsd_cats.img bs=1024 count=1 seek=2000000</b> |
816 |
|
|
817 |
|
</pre> |
818 |
|
<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 |
|
|
823 |
|
</pre> |
824 |
|
<p> |
825 |
|
<li>Start the installation like this:<pre> |
826 |
|
<b>gxemul -XEcats -d nbsd_cats.img -d catscd-3.1.iso netbsd.aout-INSTALL.gz</b> |
827 |
|
|
828 |
|
</pre> |
829 |
|
and proceed like you would do if you were installing NetBSD on a real |
830 |
|
CATS from CDROM. |
831 |
|
</ol> |
832 |
|
|
833 |
|
<p>Alternatively, to install from FTP, you can skip downloading the ISO, |
834 |
|
and start the install without <tt>-d catscd-3.1.iso</tt>. Suitable network |
835 |
|
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 |
|
<p>If everything worked, NetBSD should now be installed on the disk image. |
839 |
|
Use the following command line to boot the emulated CATS machine:<pre> |
840 |
|
<b>gxemul -XEcats -d nbsd_cats.img netbsd.aout-GENERIC.gz</b> |
841 |
|
|
842 |
|
</pre> |
843 |
|
|
844 |
|
|
845 |
|
|
846 |
|
|
847 |
|
|
848 |
|
|
849 |
|
|
850 |
|
<p><br> |
851 |
|
<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> |
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> |
<p> |
868 |
TODO... |
<ol> |
869 |
|
<li>Install NetBSD/cats 3.1 according to instructions |
870 |
|
<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> |
</pre> |
877 |
cd /tftpboot; ftp -i ftp.se.netbsd.org |
<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 |
cd pub/NetBSD/NetBSD-2.0/sgimips/binary/sets |
<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 |
mget *.tgz |
|
881 |
|
</pre> |
882 |
|
<p> |
883 |
|
<li>The first step is to copy the distribution .tgz files onto the CATS |
884 |
|
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> </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> </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 |
exit |
905 |
sh |
cd dev; sh ./MAKEDEV all; cd ../etc |
906 |
for a in etc.tgz base.tgz comp.tgz; do tar zxvfp $a; done |
echo rc_configured=YES >> rc.conf |
907 |
|
echo "/dev/wd0a / ffs rw 1 1" > fstab |
908 |
|
echo "/dev/wd0b none swap sw 0 0" >> 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> |
</pre> |
916 |
|
|
917 |
--> |
|
918 |
|
|
919 |
|
|
920 |
|
|
923 |
|
|
924 |
|
|
925 |
<p><br> |
<p><br> |
926 |
<a name="openbsdinstall"></a> |
<a name="netbsdnetwinderinstall"></a> |
927 |
<h3>Installing OpenBSD/pmax in GXemul:</h3> |
<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> |
934 |
|
<a href="20060724-netbsd-netwinder-1.png"><img src="20060724-netbsd-netwinder-1_small.png"></a> |
935 |
|
<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 |
|
<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 |
|
</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 |
|
<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 |
|
|
958 |
|
</pre> |
959 |
|
<p> |
960 |
|
<li>Start the emulated DECstation machine like this:<pre> |
961 |
|
<b>gxemul -e 3max -d nbsd_netwinder.img -d netwindercd-3.1.iso netbsd-INSTALL.gz</b> |
962 |
|
|
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> </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 |
|
<a name="netbsdprepinstall"></a> |
1024 |
|
<h3>NetBSD/prep:</h3> |
1025 |
|
|
1026 |
|
It is possible to install and run |
1027 |
|
<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 |
|
|
1031 |
Installing OpenBSD/pmax is a bit harder than installing NetBSD/pmax. |
<p> |
1032 |
You should first read the section above on how to install NetBSD/pmax, |
<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 |
|
<b>gxemul -x -e ibm6050 -d nbsd_prep.img -d rdb:prepcd.iso -j prep/binary/kernel/netbsd-INSTALL.gz</b> |
1051 |
|
|
1052 |
|
</pre> |
1053 |
|
<p> |
1054 |
|
<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 |
|
Creating an MBR slice and a disklabel with sysinst bugs out, so |
1058 |
|
some things have to be done manually:<p> |
1059 |
|
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> <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> <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> <b><u>W</u></b></tt> |
1080 |
|
<br><tt>Label disk [n]? <b><u>y</u></b></tt> |
1081 |
|
<br><tt>partition> <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 |
|
<b>gxemul -x -e ibm6050 -d nbsd_prep.img netbsd-GENERIC.gz</b> |
1104 |
|
|
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 |
|
|
1117 |
|
|
1118 |
|
|
1119 |
|
|
1120 |
|
|
1121 |
|
|
1122 |
|
|
1123 |
|
|
1124 |
|
<p><br> |
1125 |
|
<a name="netbsddreamcast"></a> |
1126 |
|
<h3>NetBSD/dreamcast:</h3> |
1127 |
|
|
1128 |
|
<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> |
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 |
|
<p><br> |
1165 |
|
<a name="openbsdpmaxinstall"></a> |
1166 |
|
<h3>OpenBSD/pmax:</h3> |
1167 |
|
|
1168 |
|
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 |
|
href="#netbsdpmaxinstall">section above</a> on how to install NetBSD/pmax, |
1171 |
before continuing here. If you have never installed OpenBSD on any |
before continuing here. If you have never installed OpenBSD on any |
1172 |
architecture, then you need a great deal of patience to do this. |
architecture, then you need a great deal of patience to do this. If, on |
1173 |
If, on the other hand you are used to installing OpenBSD, then |
the other hand you are used to installing OpenBSD, then this should be no |
1174 |
this should be no problem for you. |
problem for you. |
1175 |
|
|
1176 |
<p> |
<p> |
1177 |
|
|
1192 |
<ol> |
<ol> |
1193 |
<li>Create an empty harddisk image, which will be the root disk |
<li>Create an empty harddisk image, which will be the root disk |
1194 |
that OpenBSD installs itself onto:<pre> |
that OpenBSD installs itself onto:<pre> |
1195 |
$ <b>dd if=/dev/zero of=obsd_pmax.img bs=1 count=512 seek=900000000</b> |
<b>dd if=/dev/zero of=obsd_pmax.img bs=1 count=512 seek=900000000</b> |
1196 |
|
|
1197 |
</pre> |
</pre> |
1198 |
<li>Download the entire pmax directory from the ftp server: (approx. 99 MB)<pre> |
<li>Download the entire pmax directory from the ftp server: (approx. 99 MB)<pre> |
1199 |
$ <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> |
<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 |
|
|
1201 |
</pre> |
</pre> |
1202 |
|
|
1203 |
<li>Execute the following commands:<pre> |
<li>Execute the following commands: |
1204 |
$ <b>mv ftp.se.openbsd.org/pub/OpenBSD/2.8/pmax/simpleroot28.fs.gz .</b> |
<p><table border="0"><tr><td><tt> </tt></td><td><pre> |
1205 |
$ <b>gunzip simpleroot28.fs.gz</b> |
<b>mv ftp.se.openbsd.org/pub/OpenBSD/2.8/pmax/simpleroot28.fs.gz . |
1206 |
$ <b>chmod +w simpleroot28.fs</b> <--- make sure |
gunzip simpleroot28.fs.gz |
1207 |
|
chmod +w simpleroot28.fs</b> <--- make sure |
1208 |
</pre> |
</pre></td></tr></table> |
1209 |
<li>You now need to make an ISO image of the entire directory you downloaded. |
<li>You now need to make an ISO image of the entire directory you downloaded. |
1210 |
I recommend using <tt>mkisofs</tt> for that purpose. If you don't |
(I recommend using <tt>mkisofs</tt> for that purpose. If you don't |
1211 |
already have <tt>mkisofs</tt> installed on your system, you need |
already have <tt>mkisofs</tt> installed on your system, you need |
1212 |
to install it in order to do this.<pre> |
to install it in order to do this.)<pre> |
1213 |
$ <b>mkisofs -o openbsd_pmax_2.8.iso ftp.se.openbsd.org/pub/OpenBSD/2.8/pmax</b> |
<b>mkisofs -o openbsd_pmax_2.8.iso ftp.se.openbsd.org/pub/OpenBSD/2.8/pmax</b> |
1214 |
|
<b>rm -rf ftp.se.openbsd.org</b> <i>(this directory is not needed anymore)</i> |
1215 |
|
|
1216 |
</pre> |
</pre> |
1217 |
<li>Start the emulator with all three (!) disk images:<pre> |
<li>Start the emulator with all three (!) disk images:<pre> |
1218 |
$ <b>gxemul -E dec -e 3max -b -d obsd_pmax.img -d b:simpleroot28.fs -j bsd -d c:openbsd_pmax_2.8.iso</b> |
<b>gxemul -e 3max -d obsd_pmax.img -d b:simpleroot28.fs -j bsd -d c:openbsd_pmax_2.8.iso</b> |
1219 |
|
|
1220 |
</pre> |
</pre> |
1221 |
(If you add <tt><b>-X</b></tt>, you will run with the graphical |
(If you add <tt>-X</tt>, you will run with the graphical |
1222 |
framebuffer. This is <i>REALLY</i> slow because the console has to |
framebuffer. This is <i>REALLY</i> slow because the console has to |
1223 |
scroll a lot during the install. I don't recommend it.) |
scroll a lot during the install. I don't recommend it.) |
1224 |
<p> |
<p> |
1232 |
<li>When asked for the "<b>root device?</b>", enter <b>rz1</b>. |
<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. |
<li>At "<b>Enter pathname of shell or RETURN for sh:</b>", press enter. |
1234 |
<li>At the # prompt, do the following:<pre> |
<li>At the # prompt, do the following:<pre> |
1235 |
$ <b>fsck /dev/rz1a</b> (and mark the filesystem as clean) |
<b>fsck /dev/rz1a</b> (and mark the filesystem as clean) |
1236 |
$ <b>mount /dev/rz1a /</b> |
<b>mount /dev/rz1a /</b> |
1237 |
$ <b>mount -t kernfs kern kern</b> |
<b>mount -t kernfs kern kern</b> |
1238 |
$ <b>./install</b> |
<b>./install</b> |
1239 |
|
|
1240 |
</pre> |
</pre> |
1241 |
and proceed with the install. Good luck. :-) |
and proceed with the install. Good luck. :-) |
1246 |
the directory containing the install sets. |
the directory containing the install sets. |
1247 |
</ul> |
</ul> |
1248 |
<p> |
<p> |
1249 |
<li> |
<li>For some unknown reason, the install script does not set the root |
1250 |
For some unknown reason, the install script does not set the root |
password! The first time you boot up OpenBSD after the install, you |
1251 |
password! The first time you boot up OpenBSD after the install, you |
need to go into single user mode and run <b>passwd root</b> to set |
1252 |
need to go into single user mode and run <b>passwd root</b> to set |
the root password, or you will not be able to log in at all!<pre> |
1253 |
the root password, or you will not be able to log in at all! |
<b>gxemul -e 3max -d obsd_pmax.img -d 2c:openbsd_pmax_2.8.iso -j bsd -o '-s'</b> |
|
<pre> |
|
|
$ <b>gxemul -E dec -e 3max -b -d obsd_pmax.img -d 2c:openbsd_pmax_2.8.iso -j bsd -o '-s'</b> |
|
1254 |
</pre> |
</pre> |
1255 |
While you are at it, you might want to extract the X11 install sets |
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 |
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.) |
in the installer, perhaps because of the way I used mkisofs.) |
1258 |
<p> |
<p> |
1259 |
Execute the following commands in the emulator: |
Execute the following commands in the emulator: |
1260 |
<pre> |
<p><table border="0"><tr><td><tt> </tt></td><td><pre> |
1261 |
# <b>fsck /dev/rz0a</b> |
<b>fsck /dev/rz0a |
1262 |
# <b>mount /</b> |
mount / |
1263 |
# <b>passwd root</b> |
passwd root |
1264 |
|
|
1265 |
# <b>cd /; mount -t cd9660 /dev/rz2c /mnt; sh</b> |
cd /; mount -t cd9660 /dev/rz2c /mnt; sh |
1266 |
# <b>for a in /mnt/[xX]*; do tar zxvf $a; done</b> |
for a in /mnt/[xX]*; do tar zxvf $a; done |
1267 |
# <b>ln -s /usr/X11R6/bin/Xcfbpmax /usr/X11R6/bin/X</b> |
ln -s /usr/X11R6/bin/Xcfbpmax /usr/X11R6/bin/X |
1268 |
# <b>ln -s /dev/fb0 /dev/mouse</b> |
ln -s /dev/fb0 /dev/mouse |
1269 |
# <b>echo /usr/X11R6/lib >> /etc/ld.so.conf</b> |
echo /usr/X11R6/lib >> /etc/ld.so.conf |
1270 |
# <b>ldconfig</b> |
ldconfig |
1271 |
|
|
1272 |
# <b>sync</b> |
sync |
1273 |
# <b>halt</b> |
halt</b> |
1274 |
</pre> |
</pre></td></tr></table> |
1275 |
</ol> |
</ol> |
1276 |
|
|
1277 |
<p> |
<p> |
1284 |
Once you have completed the installation procedure, the following command |
Once you have completed the installation procedure, the following command |
1285 |
will let you boot from the new rootdisk image: |
will let you boot from the new rootdisk image: |
1286 |
<pre> |
<pre> |
1287 |
$ <b>gxemul -E dec -e 3max -b -X -M64 -o '-aN' -d obsd_pmax.img -j bsd</b> |
<b>gxemul -e 3max -X -o '-aN' -d obsd_pmax.img -j bsd</b> |
1288 |
</pre> |
</pre> |
1289 |
|
|
1290 |
<p> |
<p> |
1302 |
|
|
1303 |
|
|
1304 |
|
|
|
<p><br> |
|
|
<a name="openbsdarcinstall"></a> |
|
|
<h3>Installing OpenBSD/arc in GXemul:</h3> |
|
1305 |
|
|
|
It is possible to run OpenBSD/arc on an emulated Acer PICA-61 in the |
|
|
emulator. |
|
1306 |
|
|
|
<p> |
|
|
|
|
|
<a href="20041024-openbsd-arc-installed.gif"><img src="20041024-openbsd-arc-installed_small.gif"></a> |
|
1307 |
|
|
1308 |
<p> |
<p><br> |
1309 |
(You should be aware of the fact that OpenBSD for the ARC platform died at |
<a name="openbsdcatsinstall"></a> |
1310 |
release 2.3, so this will not give you an up-to-date OpenBSD system. |
<h3>OpenBSD/cats:</h3> |
|
See |
|
|
<a href="http://www.openbsd.org/arc.html">http://www.openbsd.org/arc.html</a> |
|
|
for more information.) |
|
1311 |
|
|
1312 |
<p> |
It is possible to install and run |
1313 |
To install OpenBSD/arc onto an emulated harddisk image, follow these |
<a href="http://www.openbsd.org/cats.html">OpenBSD/cats</a> |
1314 |
instructions: |
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 |
|
|
1319 |
|
<p> |
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> |
<p> |
1326 |
<ol> |
<ol> |
1327 |
<li>Create an empty harddisk image, which will be the root disk |
<li>Create an empty harddisk image, which will be the root disk |
1328 |
that OpenBSD installs itself onto:<pre> |
that OpenBSD installs itself onto:<pre> |
1329 |
$ <b>dd if=/dev/zero of=obsd_arc.img bs=1024 count=1 seek=700000</b> |
<b>dd if=/dev/zero of=obsd_cats.img bs=1024 count=1 seek=1900000</b> |
1330 |
|
|
1331 |
</pre> |
</pre> |
1332 |
<li>Download the entire arc directory from the ftp server: (approx. 75 MB)<pre> |
<li>Download the entire cats directory from the ftp server:<pre> |
1333 |
$ <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> |
<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 |
|
|
1337 |
</pre> |
</pre> |
1338 |
|
(Replace ftp.se.openbsd.org with a server closer to you, for |
1339 |
|
increased download speed.) |
1340 |
|
<p> |
1341 |
<li>You now need to make an ISO image of the entire directory you downloaded. |
<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 |
(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 |
already have <tt>mkisofs</tt> installed on your system, you need |
1344 |
to install it in order to do this.<pre> |
to install it in order to do this.)<pre> |
1345 |
$ <b>mkisofs -o openbsd_arc_2.3.iso ftp.se.openbsd.org/pub/OpenBSD/</b> |
<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 |
|
|
1348 |
</pre> |
</pre> |
1349 |
<li>Start the emulator using this command line:<pre> |
<li>Start the emulator using this command line:<pre> |
1350 |
$ <b>gxemul -X -b -E arc -e pica -d obsd_arc.img -d b:openbsd_arc_2.3.iso -j 2.3/arc/bsd.rd</b> |
<b>gxemul -XEcats -d obsd_cats.img -d openbsd_cats_4.0.iso bsd.rd</b> |
1351 |
|
|
1352 |
</pre> |
</pre> |
1353 |
and proceed like you would do if you were installing OpenBSD |
and proceed like you would do if you were installing OpenBSD |
1354 |
on a real Acer PICA-61. (Answer 'no' when asked if you want to |
on a real CATS. (Install onto <tt>wd0</tt>, don't configure the |
1355 |
configure networking, and then install from CD-ROM.) |
network, install from CD.) |
1356 |
</ol> |
</ol> |
1357 |
|
|
1358 |
<p> |
<p>(Although it <i>is</i> possible to configure the network, IPv4 address |
1359 |
Once the install has finished, the following command should let you |
10.0.0.1, netmask 255.0.0.0, gateway/default route 10.0.0.254, and |
1360 |
boot from the harddisk image: |
nameserver 10.0.0.254, the userland NAT-like networking layer is not |
1361 |
<p> |
stable enough yet to support a full install via ftp.) |
1362 |
<pre> |
|
1363 |
$ <b>gxemul -X -b -E arc -e pica -d obsd_arc.img ftp.se.openbsd.org/pub/OpenBSD/2.3/arc/bsd</b> |
<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 |
</pre> |
may not have been written correctly to disk. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- |
|
|
|
|
|
<p><br> |
|
|
<a name="openbsdsgiinstall"></a> |
|
|
<h3>Running OpenBSD/sgi in GXemul:</h3> |
|
|
|
|
|
<a href="http://www.openbsd.org/sgi.html">OpenBSD/sgi</a> |
|
|
can theoretically run in GXemul on an emulated O2 (SGI-IP32) with root on nfs. |
|
|
|
|
|
<p> |
|
|
<font color="#ff0000">NOTE: I haven't succeeded with this yet.</font> |
|
|
|
|
|
<p> |
|
|
GXemul does not yet emulate the AHC PCI SCSI controller in the O2, so |
|
|
another emulated machine must be used as the nfs root server, and the |
|
|
emulated O2 machine must boot as a |
|
|
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=diskless&manpath=OpenBSD+Current&format=html">diskless</a> |
|
|
client. Performing this setup is very time consuming, but necessary. |
|
|
|
|
|
<p> |
|
|
<ol> |
|
|
<li><a href="#netbsdinstall">Install NetBSD/pmax 2.0 from CDROM</a> |
|
|
(or install some other similar OS) inside the emulator. This will |
|
|
be the "nfs server" machine. Create a 600 MB <tt>/tftpboot</tt> |
|
|
partition during the installation. |
|
|
<p> |
|
|
<li>Configure the nfs server machine to act as an nfs server.<pre> |
|
|
# <b>echo hostname=server >> /etc/rc.conf</b> |
|
|
# <b>echo ifconfig_le0=\"inet 10.0.0.2\" >> /etc/rc.conf</b> |
|
|
# <b>echo nameserver 10.0.0.254 >> /etc/rc.conf</b> |
|
|
# <b>echo 10.0.0.254 > /etc/mygate</b> |
|
|
# <b>echo /tftpboot -maproot=root 10.0.0.1 > /etc/exports</b> |
|
|
# <b>echo rpcbind=YES >> /etc/rc.conf</b> |
|
|
# <b>echo nfs_server=YES >> /etc/rc.conf</b> |
|
|
# <b>echo mountd=YES >> /etc/rc.conf</b> |
|
|
# <b>echo bootparamd=YES >> /etc/rc.conf</b> |
|
|
# <b>printf "client root=10.0.0.2:/tftpboot \\\n swap=10.0.0.2:/tftpboot/swap\n" > /etc/bootparams</b> |
|
|
# <b>echo 10.0.0.1 client > /etc/hosts</b> |
|
1366 |
|
|
1367 |
Reboot. Then download the OpenBSD/sgi distribution: (NOTE: This |
<p>Once the install has finished, the following command should let you |
1368 |
takes quite some time, even if you have a fast network connection.) |
boot from the harddisk image: |
1369 |
|
|
1370 |
# <b>cd /tftpboot; ftp -i ftp.se.openbsd.org</b> |
<p><pre> |
1371 |
... |
<b>gxemul -XEcats -d obsd_cats.img bsd</b> |
|
<b>cd pub/OpenBSD/3.7/sgi</b> |
|
|
<b>mget *</b> |
|
|
|
|
|
# <b>sh</b> |
|
|
# <b>for a in base* etc* misc*; do tar vzxfp $a; done</b> |
|
|
# <b>dd if=/dev/zero of=swap bs=1024 count=16384</b> |
|
1372 |
|
|
1373 |
</pre> |
</pre> |
|
<p> |
|
|
<li>Create a configuration file along these lines:<pre> |
|
|
<font color="#2020cf">!!gxemul |
|
|
! |
|
|
! Configuration file for running OpenBSD/sgi diskless with |
|
|
! a NetBSD/pmax machine as the nfs server. |
|
|
! |
|
|
! Change the filenames to suit your setup.</font> |
|
|
|
|
|
<b>emul( |
|
|
net() |
|
|
|
|
|
machine( |
|
|
name("client machine") |
|
|
type("sgi") |
|
|
subtype("ip32") |
|
|
bintrans(yes) |
|
|
load("openbsd-sgi-20050202-bsd") |
|
|
start_paused(yes) |
|
|
) |
|
|
|
|
|
machine( |
|
|
name("nfs server") |
|
|
type("dec") |
|
|
subtype("5000/200") |
|
|
bintrans(yes) |
|
|
disk("nbsd_pmax.img") |
|
|
) |
|
|
)</b> |
|
|
|
|
|
</pre> |
|
|
<li>Boot the nfs server and the OpenBSD/sgi client machine like this:<pre> |
|
|
$ <b>gxemul @myconf</b> |
|
|
|
|
|
</pre> |
|
|
You might want to log in as root on the server machine, and |
|
|
run <b>tcpdump -lnvv</b> or similar, to see that what the client |
|
|
machine actually does on the network. |
|
|
<p> |
|
|
The OpenBSD box ("client machine") will be paused, so when you |
|
|
are ready to unpause it, press CTRL-C in the main GXemul |
|
|
window and use the <b>focus</b> and <b>pause</b> commands to |
|
|
unpause the main CPU in that machine, and then <b>continue</b> |
|
|
to resume execution. |
|
|
<p> |
|
|
When asked for "root device :", enter <b>mec0</b>. |
|
|
</ol> |
|
1374 |
|
|
|
<p> |
|
|
TODO... |
|
1375 |
|
|
|
--> |
|
1376 |
|
|
1377 |
|
|
1378 |
|
|
1380 |
|
|
1381 |
<p><br> |
<p><br> |
1382 |
<a name="ultrixinstall"></a> |
<a name="ultrixinstall"></a> |
1383 |
<h3>Installing Ultrix/RISC in GXemul:</h3> |
<h3>Ultrix/RISC:</h3> |
1384 |
|
|
1385 |
Ultrix 4.x can run in GXemul on an emulated DECstation 5000/200. |
Ultrix 4.x can run in GXemul on an emulated DECstation 5000/200. |
1386 |
|
(Ultrix was the native OS for these machines, but |
1387 |
|
<a href="#netbsdpmaxinstall">NetBSD/pmax</a> is also usable.) |
1388 |
|
|
1389 |
<p> |
<p> |
1390 |
|
|
1391 |
<a href="20040504-ultrix45-boot1.png"><img src="20040504-ultrix45-boot1_small.gif"></a> |
<a href="20040504-ultrix45-boot1.png"><img src="20040504-ultrix45-boot1_small.png"></a> |
1392 |
|
|
1393 |
<a href="ultrix4.5-20040706.png"><img src="ultrix4.5-20040706_small.gif"></a> |
<a href="ultrix4.5-20040706.png"><img src="ultrix4.5-20040706_small.png"></a> |
1394 |
|
|
1395 |
<p> |
<p> |
1396 |
The following instructions should let you install Ultrix onto a disk image: |
The following instructions should let you install Ultrix onto a disk image: |
1398 |
<ol> |
<ol> |
1399 |
<li>Create an empty harddisk image, which will be the root disk |
<li>Create an empty harddisk image, which will be the root disk |
1400 |
that Ultrix installs itself onto:<pre> |
that Ultrix installs itself onto:<pre> |
1401 |
$ <b>dd if=/dev/zero of=rootdisk.img bs=1024 count=1 seek=800000</b> |
<b>dd if=/dev/zero of=rootdisk.img bs=1024 count=1 seek=800000</b> |
1402 |
|
|
1403 |
</pre> |
</pre> |
1404 |
<li>Place your Ultrix installation media in your CDROM drive. |
<li>Place your Ultrix installation media in your CDROM drive. |
1405 |
(On FreeBSD and similar systems, it is called <tt>/dev/cd0c</tt>. |
(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 |
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> |
.iso image file.) Then, start the emulator like this:<pre> |
1408 |
$ <b>gxemul -X -b -M64 -E dec -e 3max -d rootdisk.img -d bc:/dev/cd0c -j vmunix</b> |
<b>gxemul -X -e 3max -d rootdisk.img -d bc:/dev/cd0c -j vmunix</b> |
1409 |
|
|
1410 |
</pre> |
</pre> |
1411 |
<li>Once the first stage of the installation is done (restoring the root |
<li>Once the first stage of the installation is done (restoring the root |
1413 |
new rootdisk, to continue the installation process. |
new rootdisk, to continue the installation process. |
1414 |
This is done by removing the bootflag ('<tt>b</tt>') from the second |
This is done by removing the bootflag ('<tt>b</tt>') from the second |
1415 |
diskimage argument:<pre> |
diskimage argument:<pre> |
1416 |
$ <b>gxemul -X -b -M64 -E dec -e 3max -d rootdisk.img -d c:/dev/cd0c -j vmunix</b> |
<b>gxemul -X -e 3max -d rootdisk.img -d c:/dev/cd0c -j vmunix</b> |
1417 |
|
|
1418 |
</pre> |
</pre> |
1419 |
</ol> |
</ol> |
1421 |
<p> |
<p> |
1422 |
When the installation is completed, the following command should start |
When the installation is completed, the following command should start |
1423 |
Ultrix from the harddisk image:<pre> |
Ultrix from the harddisk image:<pre> |
1424 |
$ <b>gxemul -X -b -M64 -E dec -e 3max -j vmunix -d rootdisk.img</b> |
<b>gxemul -X -e 3max -j vmunix -d rootdisk.img</b> |
1425 |
</pre> |
</pre> |
1426 |
|
|
1427 |
<p> |
<p>If you have a very fast host machine, you might experience a weird |
1428 |
Ultrix mostly seems to work with dynamic binary translation (enabled by |
timer related bug, which makes it impossible to logon to the system. It is |
1429 |
the <b><tt>-b</tt></b> command line option). If you have a very fast |
triggered when the emulation goes faster than any real DECstation machine |
1430 |
host machine, and use bintrans, you might experience a weird timer related |
was capable of running. A temporary workaround is to add |
1431 |
bug, which makes it impossible to logon to the system. It is triggered |
<b><tt>-I33000000</tt></b> to fix the emulated clock speed to 33 million |
1432 |
when the emulation goes faster than any real DECstation machine was |
instructions per emulated second. |
1433 |
capable of running. A temporary workaround is to add <b><tt>-I33000000</tt></b> |
|
1434 |
to fix the emulated clock speed to 33 million instructions per emulated |
<p>If the workaround above doesn't work, you can also start up other |
1435 |
second. (When using <tt><b>-CR4400</b></tt>, <b><tt>-I16000000</tt></b> |
processes on the host, apart from the emulator, so that the emulator runs |
1436 |
should be used instead.) |
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> |
<p>You can experiment with adding <b><tt>-Z2</tt></b> (for emulating a |
|
You can experiment with adding <b><tt>-Z2</tt></b> (for emulating a |
|
1440 |
dual-headed workstation) or even <b><tt>-Z3</tt></b> (tripple-headed), and |
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 |
also the <b><tt>-Y2</tt></b> option for scaling down the framebuffer |
1442 |
windows by a factor 2x2. |
windows by a factor 2x2. |
1444 |
displays to use. The following example starts Ultrix on an emulated |
displays to use. The following example starts Ultrix on an emulated |
1445 |
tripple-headed workstation, on three different displays (<tt>remote1:0.0</tt>, |
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> |
<tt>localhost:0.0</tt>, and <tt>remote2:0.0</tt>), using no scaledown:<pre> |
1447 |
$ <b>gxemul -M64 -bN -E dec -e 3max -jgenvmunix -d rootdisk.img \ |
<b>gxemul -N -e 3max -jgenvmunix -d rootdisk.img \ |
1448 |
-XZ3 -z remote1:0.0 -z localhost:0.0 -z remote2:0.0</b> |
-XZ3 -z remote1:0.0 -z localhost:0.0 -z remote2:0.0</b> |
1449 |
</pre> |
</pre> |
1450 |
|
|
1451 |
<p> |
<p>The photo below shows a single Ultrix session running tripple-headed in |
|
The photo below shows a single Ultrix session running tripple-headed in |
|
1452 |
GXemul on an Alpha 21164PC, with displays on a Sun Ultra1 (to the left), |
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 |
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. |
color depth, running off the Alpha) to the right. |
1455 |
|
|
1456 |
<p> |
<p> |
|
|
|
1457 |
<a href="20041209-ultrix-tripplehead.jpg"><img src="20041209-ultrix-tripplehead_small.jpg"></a> |
<a href="20041209-ultrix-tripplehead.jpg"><img src="20041209-ultrix-tripplehead_small.jpg"></a> |
1458 |
|
|
1459 |
<p> |
<p>The X11 displays may differ in bit depth and endianness. Unfortunately, |
|
The X11 displays may differ in bit depth and endianness. Unfortunately, |
|
1460 |
there is no way yet to set the scaledown factor on a per-window basis, so |
there is no way yet to set the scaledown factor on a per-window basis, so |
1461 |
the scaledown factor affects all windows. |
the scaledown factor affects all windows. |
1462 |
|
|
1463 |
<p> |
<p>(If you didn't use <tt><b>-Z<i>n</i></b></tt> during the installation, and |
|
(If you didn't use <tt><b>-Z<i>n</i></b></tt> during the installation, and |
|
1464 |
compiled your own <tt>/vmunix</tt>, then it will not contain support for |
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, |
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 |
<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.) |
different setup than the one you used when Ultrix was installed.) |
1468 |
|
|
1469 |
<p> |
<p>A note for the historically interested: OSF/1 for MIPS was quite similar |
|
A note for the historically interested: OSF/1 for MIPS was quite similar |
|
1470 |
to Ultrix, so that is possible to run as well. If you are unsuccessful |
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 |
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 |
install it on your real machine onto a real SCSI disk, and then copy the |
1480 |
|
|
1481 |
<p><br> |
<p><br> |
1482 |
<a name="sprite"></a> |
<a name="sprite"></a> |
1483 |
<h3>Running Sprite for DECstation in GXemul:</h3> |
<h3>Sprite for DECstation:</h3> |
1484 |
|
|
1485 |
Sprite was a research operating system at the University of Berkeley. |
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>) |
The Unix Heritage Society (TUHS, <a href="http://www.tuhs.org">www.tuhs.org</a>) |
1500 |
|
|
1501 |
<p> |
<p> |
1502 |
<ol> |
<ol> |
1503 |
<li>Download the Sprite harddisk image using ftp or http:<pre> |
<li>Download the Sprite harddisk image:<pre> |
1504 |
<a href="http://www.es.embnet.org/Services/ftp/misc/TUHS/other_os/Sprite/">http://www.es.embnet.org/Services/ftp/misc/TUHS/other_os/Sprite</a>/<a href="http://www.es.embnet.org/Services/ftp/misc/TUHS/other_os/Sprite/ds5000.bt">ds5000.bt</a> |
<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> |
|
or <a href="ftp://ftp.es.embnet.org/misc/TUHS/other_os/Sprite/ds5000.bt">ftp://ftp.es.embnet.org/misc/TUHS/other_os/Sprite/ds5000.bt</a> |
|
1505 |
83973120 bytes, MD5 = ec84eeeb20fe77b758370d5e312e4a5e |
83973120 bytes, MD5 = ec84eeeb20fe77b758370d5e312e4a5e |
1506 |
|
|
1507 |
</pre> |
</pre> |
1508 |
<li>Start the emulator with the following command line:<pre> |
<li>Start the emulator with the following command line:<pre> |
1509 |
$ <b>gxemul -X -b -E dec -e 3max -M128 -d ds5000.bt -j vmsprite -o ''</b> |
<b>gxemul -X -e 3max -M128 -d ds5000.bt -j vmsprite -o ''</b> |
1510 |
|
|
1511 |
</pre> |
</pre> |
1512 |
</ol> |
</ol> |
1518 |
<p> |
<p> |
1519 |
|
|
1520 |
<pre> |
<pre> |
1521 |
Your machine's Ethernet address: 10:20:30:40:50:60 |
Your machine's Ethernet address: 10:20:30:00:00:10 |
1522 |
Your machine's IP: 10.0.0.1 |
Your machine's IP: 10.0.0.1 |
1523 |
Subnet mask: 0xff000000 |
Subnet mask: 0xff000000 |
1524 |
Gateway's Ethernet address: 60:50:40:30:20:10 |
Gateway's Ethernet address: 60:50:40:30:20:10 |
1526 |
</pre> |
</pre> |
1527 |
|
|
1528 |
<p> |
<p> |
1529 |
Unfortunately, at the end of <a href="http://www.es.embnet.org/Services/ftp/misc/TUHS/other_os/Sprite/boot.txt"> |
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 |
http://www.es.embnet.org/Services/ftp/misc/TUHS/other_os/Sprite/boot.txt</a>, the |
the following sad statement can be found: |
|
following sad statement can be found: |
|
1531 |
<pre> |
<pre> |
1532 |
The bootable Sprite image is meant to be a demonstration of Sprite, not |
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 |
a robust Sprite system. There are several missing things, such as |
1534 |
floating point and network support. |
floating point and network support. |
1535 |
</pre> |
</pre> |
1536 |
|
|
1537 |
<p> |
<p>Once you are logged in as root, running <b><tt>xinit</tt></b> will |
1538 |
Once you are logged in as root, running <b>xinit</b> will start the X11 |
start the X11 environment. |
1539 |
environment. |
|
1540 |
|
|
1541 |
|
|
1542 |
|
|
1544 |
|
|
1545 |
<p><br> |
<p><br> |
1546 |
<a name="declinux"></a> |
<a name="declinux"></a> |
1547 |
<h3>Installing Debian GNU/Linux for DECstation in GXemul:</h3> |
<h3>Debian GNU/Linux for DECstation:</h3> |
1548 |
|
|
1549 |
<font color="#ef0000">NOTE: This is experimental, and <i>extremely</i> |
It is possible to run Debian GNU/Linux for DECstation in the emulator, |
1550 |
unstable. During my tests, even pressing the wrong key during the install |
on an emulated 5000/200 ("3max"). However, just choosing any |
1551 |
(for example the wrong cursor key) can cause a kernel Oops. |
Linux/DECstation kernel at random for the installation will not work. |
1552 |
I <i>think</i> this has to do with interrupts from the serial controller. |
|
1553 |
Hopefully using the <tt><b>-U</b></tt> command line option will reduce the |
<p><ul> |
1554 |
risk for such crashes. (I haven't had time to come up with a clean |
<li>Linux 2.4/DECstation DZ serial console output doesn't work too well in |
1555 |
solution to this yet; it feels like a buffer overflow in Linux' serial |
GXemul. Linux oopses randomly, which may be due to bugs in GXemul, |
1556 |
driver for the 5000/200, but it is also likely that it is a bug in GXemul.) |
but may also be due to bugs in the serial controller code in Linux. |
1557 |
</font> |
(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 |
|
<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 |
|
</ul> |
1579 |
|
|
1580 |
<p> |
<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 |
<a href="20041212-debian_1.png"><img src="20041212-debian_1_small.gif"></a> |
keyboard, and networking, which works pretty well. Thanks David. :-) |
|
|
|
|
<a href="20041212-debian_2.png"><img src="20041212-debian_2_small.gif"></a> |
|
|
|
|
|
<a href="20041213-debian_3.png"><img src="20041213-debian_3_small.gif"></a> |
|
|
|
|
|
<a href="20041213-debian_4.png"><img src="20041213-debian_4_small.gif"></a> |
|
1583 |
|
|
1584 |
<p> |
<p>The following steps should let you install Debian GNU/Linux for |
1585 |
The following steps should let you install Debian GNU/Linux for DECstation |
DECstation onto a harddisk image in the emulator: |
|
onto a harddisk image: |
|
1586 |
|
|
1587 |
<p> |
<p> |
1588 |
<ol> |
<ol> |
1589 |
<li>Create an empty harddisk image, which will be the root disk |
<li>Create an empty harddisk image, which will be the root disk |
1590 |
that Debian installs itself onto:<pre> |
that Debian installs itself onto:<pre> |
1591 |
$ <b>dd if=/dev/zero of=debian.img bs=1024 count=1 seek=2000000</b> |
<b>dd if=/dev/zero of=debian_pmax.img bs=1024 count=1 seek=6000000</b> |
1592 |
|
|
1593 |
</pre> |
</pre> |
1594 |
<li>Download an install kernel:<pre> |
<li>Download David Muse' install kernel, and a Debian Netinstall CD-ROM:<pre> |
1595 |
<a href="http://http.us.debian.org/debian/dists/testing/main/installer-mipsel/current/images/r3k-kn02/boot.img">http://http.us.debian.org/debian/dists/testing/main/</a> |
<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://http.us.debian.org/debian/dists/testing/main/installer-mipsel/current/images/r3k-kn02/boot.img">installer-mipsel/current/images/r3k-kn02/boot.img</a> |
<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> |
|
or |
|
|
<a href="http://http.us.debian.org/debian/dists/unstable/main/installer-mipsel/current/images/r3k-kn02/boot.img">http://http.us.debian.org/debian/dists/unstable/main/</a> |
|
|
<a href="http://http.us.debian.org/debian/dists/unstable/main/installer-mipsel/current/images/r3k-kn02/boot.img">installer-mipsel/current/images/r3k-kn02/boot.img</a> |
|
1597 |
|
|
1598 |
</pre> |
</pre> |
|
depending on whether you want to install Debian "Testing" or |
|
|
"Unstable". |
|
1599 |
<p> |
<p> |
1600 |
<li>For a text-mode installation, start the emulator like this:<pre> |
<li>Start the installation like this:<pre> |
1601 |
$ <b>gxemul -E dec -e 3max -b -U -M64 -o 'console=ttyS3' -d debian.img -O boot.img</b> |
<b>gxemul -X -e3max -d debian_pmax.img -d debian-31r0a-mipsel-netinst.iso vmlinux-2.4.31</b> |
|
|
|
1602 |
</pre> |
</pre> |
|
</ol> |
|
1603 |
|
|
1604 |
<p> |
<p>If everything goes well, you will see Linux' boot messages, and then |
1605 |
Debian GNU/Linux on DECstation works reasonably fine with dynamic |
arrive at the language chooser. |
|
binary translation, enabled by the <b><tt>-b</tt></b> command line option. |
|
|
(Without this option, the emulator might be less buggy, but also too slow |
|
|
to be useful when running Linux as a guest OS.) |
|
1606 |
|
|
1607 |
<p> |
<p> |
1608 |
(If you want to, you can try <b>-X</b> instead of <b>-o 'console=ttyS3'</b> on |
<a href="debian-1.png"><img src="debian-1-small.png"></a> |
1609 |
the command line. This will cause Linux to use the graphical framebuffer. |
<a href="debian-2.png"><img src="debian-2-small.png"></a> |
1610 |
Unfortunately, Linux does not seem to have a driver for the DZ11 keyboard |
<a href="debian-3.png"><img src="debian-3-small.png"></a> |
1611 |
controller yet, so you cannot interact with the system. You will see the |
<a href="debian-4.png"><img src="debian-4-small.png"></a> |
|
penguin in the upper lefthand corner while booting, and nicely rendered Unicode |
|
|
characters, but that's about it.) |
|
1612 |
|
|
1613 |
<p> |
<p>There will be a warning about the keyboard |
1614 |
You need to enter some values during the installation procedure, for example |
layout. Don't mind this. Continue, and then select <b>Detect |
1615 |
network settings. The following should work: |
and mount CD-ROM</b> in the next menu. |
|
<p> |
|
|
<pre> |
|
|
DHCP: No, choose "Configure network manually" |
|
|
IP address: 10.0.0.1 |
|
|
Netmask: 255.0.0.0 |
|
|
Gateway: 10.0.0.254 |
|
|
Name server addresses: 10.0.0.254 |
|
|
</pre> |
|
1616 |
|
|
1617 |
<p> |
<p> |
1618 |
<ol start="4"> |
<a href="debian-5.png"><img src="debian-5-small.png"></a> |
1619 |
<li>Once the first phase of the install has finished, the following command |
<a href="debian-6.png"><img src="debian-6-small.png"></a> |
1620 |
should let you boot into Debian, and perform post-install |
<a href="debian-7.png"><img src="debian-7-small.png"></a> |
1621 |
configuration:<pre> |
<a href="debian-8.png"><img src="debian-8-small.png"></a> |
1622 |
$ <b>gxemul -E dec -e 3max -U -b -M64 -o 'console=ttyS3' -d debian.img</b> |
|
1623 |
|
<p> |
1624 |
|
There will also be a warning about lack of loadable modules. Don't |
1625 |
|
mind this either, continue anyway by choosing <b>Yes</b>. |
1626 |
|
<p> |
1627 |
|
When you reach the network configuration part of the install, choose |
1628 |
|
<b>Configure network manually</b> and enter the following values:<pre> |
1629 |
|
IP address: <b>10.0.0.1</b> |
1630 |
|
Netmask: <b>255.0.0.0</b> |
1631 |
|
Gateway: <b>10.0.0.254</b> |
1632 |
|
Name server addresses: <b>10.0.0.254</b> |
1633 |
|
|
1634 |
</pre> |
</pre> |
1635 |
</ol> |
<p>Choose <b>Erase entire disk</b> in the partitioner. |
1636 |
|
|
1637 |
<p> |
<p>Wait for the base system to be installed. This takes almost forever, |
1638 |
It seems that there's a problem with getting a login prompt on serial |
so you can go fetch several <a href="http://en.wikipedia.org/wiki/Jolt_Cola">Jolts</a> |
1639 |
console (at least when I've done test installs), so when the installation |
or cups of coffee in the meanwhile. |
|
is finished and you're supposed to get a login prompt, you need to press |
|
|
CTRL-C and type <b>quit</b>, and then: |
|
1640 |
|
|
1641 |
<p> |
<p> |
1642 |
<ol start="5"> |
<a href="debian-9.png"><img src="debian-9-small.png"></a> |
1643 |
<li>Download a normal kernel (<i>not</i> a RAMDISK kernel):<pre> |
<a href="debian-10.png"><img src="debian-10-small.png"></a> |
1644 |
<a href="http://http.us.debian.org/debian/dists/testing/main/installer-mipsel/current/images/cdrom/vmlinux-2.4.27-r3k-kn02">http://http.us.debian.org/debian/dists/testing/main/</a> |
<a href="debian-11.png"><img src="debian-11-small.png"></a> |
1645 |
<a href="http://http.us.debian.org/debian/dists/testing/main/installer-mipsel/current/images/cdrom/vmlinux-2.4.27-r3k-kn02">installer-mipsel/current/images/cdrom/vmlinux-2.4.27-r3k-kn02</a> |
<a href="debian-12.png"><img src="debian-12-small.png"></a> |
1646 |
|
|
1647 |
</pre> |
<p>Congratulations! The first phase of the installation is now completed. |
1648 |
<li>Boot Debian using the following command line:<pre> |
Reboot using the following command line:<pre> |
1649 |
$ <b>gxemul -E dec -e 3max -U -b -M64 -o \ |
<b>gxemul -X -e3max -o 'root=/dev/sda1' -d debian_pmax.img vmlinux-2.4.31</b> |
|
'console=ttyS3 root=/dev/sda1 rw init=/bin/sh' \ |
|
|
-d debian.img vmlinux-2.4.27-r3k-kn02</b> |
|
1650 |
|
|
1651 |
</pre> |
</pre> |
1652 |
You'll enter single-user mode. You need to add a line to |
<p>The post-install step takes quite some time as well. A perfect opportunity |
1653 |
/etc/inittab, to enable logins via serial console.<pre> |
for more coffee. |
|
sh-2.05b# <b>echo 'T3:23:respawn:/sbin/getty -L ttyS3 9600 vt100' >> /etc/inittab</b> |
|
|
sh-2.05b# <b>echo 'ttyS3' >> /etc/securetty</b> |
|
|
sh-2.05b# <b>sync; umount /</b> |
|
|
</pre> |
|
|
</ol> |
|
1654 |
|
|
1655 |
<p> |
<p>When asked about whether the hardware clock is set to GMT or |
1656 |
The system should now be ready for everyday use. |
not, answer Yes. |
1657 |
|
|
1658 |
|
<p>When asked about "Apt configuration", choose <b>http</b> as the method |
1659 |
|
to use for accessing the Debian archive. |
1660 |
|
|
1661 |
<p> |
<p> |
1662 |
Use this command to boot from the completely installed disk image:<pre> |
<a href="debian-13.png"><img src="debian-13-small.png"></a> |
1663 |
$ <b>gxemul -E dec -e 3max -U -b -M64 -o 'console=ttyS3' -d debian.img</b> |
<a href="debian-14.png"><img src="debian-14-small.png"></a> |
1664 |
|
<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 |
|
</ol> |
1671 |
|
|
1672 |
|
<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 |
|
|
1676 |
</pre> |
</pre> |
1677 |
|
|
|
<p> |
|
|
[ <font color="#ff0000">UPDATE 2005-01-19:</font> |
|
|
Kaj-Michael Lang noticed that the current CVS-version of |
|
|
<a href="http://www.linux-mips.org/">linux-mips</a> has |
|
|
support for keyboards now, on DECstation 5000/200, so it is |
|
|
possible to run Debian GNU/Linux with framebuffer/keyboard. |
|
|
(Add <b><tt>-X</tt></b> (or <b><tt>-XY2</tt></b>) and remove the |
|
|
<b><tt>console=ttyS3</tt></b> option.) He has made a kernel available here: |
|
|
<a href="http://home.tal.org/~milang/o2/kernels/vmlinux-2.4.29-rc2-r3k-mipsel-decstation"> |
|
|
http://home.tal.org/~milang/o2/kernels/vmlinux-2.4.29-rc2-r3k-mipsel-decstation</a> |
|
|
It has other problems (ethernet doesn't seem to work, for |
|
|
example), but at least it doesn't Oops that often. ] |
|
1678 |
|
|
1679 |
|
|
1680 |
|
|
1683 |
|
|
1684 |
<p><br> |
<p><br> |
1685 |
<a name="declinuxredhat"></a> |
<a name="declinuxredhat"></a> |
1686 |
<h3>Running Redhat Linux for DECstation in GXemul:</h3> |
<h3>Redhat Linux for DECstation:</h3> |
1687 |
|
|
|
<font color="#ff0000">NOTE: This is experimental, and <i>extremely</i> |
|
|
unstable. Read the note about <b><tt>-U</tt></b> in the section on how to |
|
|
install Debian. |
|
|
</font> |
|
1688 |
|
|
1689 |
<p> |
<p> |
1690 |
|
|
1695 |
|
|
1696 |
<p> |
<p> |
1697 |
<ol> |
<ol> |
1698 |
<li>Download a kernel. This is a Debian kernel, but it works fine:<pre> |
<li>Download a kernel. David Muse' Debian-install kernel works fine:<pre> |
1699 |
<a href="http://http.us.debian.org/debian/dists/testing/main/installer-mipsel/current/images/cdrom/vmlinux-2.4.27-r3k-kn02">http://http.us.debian.org/debian/dists/testing/main/</a> |
<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> |
|
<a href="http://http.us.debian.org/debian/dists/testing/main/installer-mipsel/current/images/cdrom/vmlinux-2.4.27-r3k-kn02">installer-mipsel/current/images/cdrom/vmlinux-2.4.27-r3k-kn02</a> |
|
1700 |
|
|
1701 |
</pre> |
</pre> |
1702 |
<li>Download a root filesystem tree:<pre> |
<li>Download a root filesystem tree:<pre> |
1703 |
<a href="ftp://ftp.uni-wuppertal.de/pub/linux/mips/mipsel-linux/root/mipsel-root-20011216.tgz">ftp://ftp.uni-wuppertal.de/pub/linux/mips/</a> |
<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> |
|
<a href="ftp://ftp.uni-wuppertal.de/pub/linux/mips/mipsel-linux/root/mipsel-root-20011216.tgz">mipsel-linux/root/mipsel-root-20011216.tgz</a> |
|
1704 |
19486676 bytes, md5 = 5bcb725c90209479cd7ead8ad0c4a414 |
19486676 bytes, md5 = 5bcb725c90209479cd7ead8ad0c4a414 |
1705 |
|
|
1706 |
</pre> |
</pre> |
1707 |
<li>This is the tricky part: Create an ext2 filesystem image called redhat.img using |
<li>Create a disk image which will contain the Redhat filesystem:<pre> |
1708 |
the filesystem tree you just downloaded. The disk image should have a MS-DOS |
<b>dd if=/dev/zero of=redhat_mips.img bs=1024 count=1 seek=2000000</b> |
1709 |
partition table (!), and then one or more ext2 partitions. |
|
1710 |
(Use loopback mount, or similar. This is probably easiest to do on a Linux host.) |
</pre> |
1711 |
However, in order to actually boot the system you need to modify /etc/fstab. |
<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 |
|
<p>I recommend you run fdisk and mke2fs and untar the archive from within |
1715 |
|
Debian/DECstation or <a href="#debiancats">Debian/CATS</a> running |
1716 |
|
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 |
|
<p> |
1721 |
|
In order to actually boot the system you need to modify /etc/fstab. |
1722 |
Change<pre> |
Change<pre> |
1723 |
/dev/root / nfs defaults 1 1 |
/dev/root / nfs defaults 1 1 |
1724 |
#/dev/sdc1 / ext2 defaults 1 1 |
#/dev/sdc1 / ext2 defaults 1 1 |
1732 |
none /dev/pts devpts mode=0622 0 0 |
none /dev/pts devpts mode=0622 0 0 |
1733 |
|
|
1734 |
</pre>(Note sda1 instead of sdc1.) |
</pre>(Note sda1 instead of sdc1.) |
|
<p> |
|
|
<li>To boot Linux, start the emulator like this:<pre> |
|
|
$ <b>gxemul -E dec -e 3max -U -b -M128 -o \ |
|
|
"console=ttyS3 root=/dev/sda1 ro" -d redhat.img vmlinux-2.4.27-r3k-kn02</b> |
|
|
|
|
|
</pre> |
|
1735 |
</ol> |
</ol> |
1736 |
|
|
1737 |
<p> |
<p>To boot Redhat linux from the disk image, use the following command line:<pre> |
1738 |
If you need to boot into single user mode, try the following:<pre> |
<b>gxemul -X -e3max -o "root=/dev/sda1 ro" -d redhat_mips.img vmlinux-2.4.31</b> |
|
$ <b>gxemul -E dec -e 3max -U -b -o "console=ttyS3 root=/dev/sda1 rw init=/bin/sh" \ |
|
|
-d redhat.img vmlinux-2.4.27-r3k-kn02</b> |
|
1739 |
|
|
1740 |
</pre> |
</pre> |
1741 |
|
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 |
|
|
|
<p> |
|
|
Redhat Linux on DECstation in R3000 mode should work fine with dynamic binary |
|
|
translation (enabled by the <b>-b</b> command line option). |
|
1744 |
|
|
|
<p> |
|
|
NOTE: You can add <b>-X</b> and remove <b>console=ttyS3</b> from the command |
|
|
line, if you want to use a graphical framebuffer. Unfortunately, Linux |
|
|
doesn't have support for keyboards on DECstation 5000/200 yet, so you cannot |
|
|
actually interact with the sytem. :-( |
|
1745 |
|
|
1746 |
<p> |
|
1747 |
[ <font color="#ff0000">UPDATE 2005-01-22:</font> |
|
1748 |
Read the 2005-01-19 update in the Debian section above, and then, if |
|
1749 |
you do not need ethernet support, try Kaj-Michael Lang's kernel compiled |
|
1750 |
from <a href="http://www.linux-mips.org/">linux-mips</a>' CVS. |
<p><br> |
1751 |
<a href="http://home.tal.org/~milang/o2/patches/vmlinux-2.4.29-rc2-r3k-mipsel-decstation"> |
<hr> |
1752 |
http://home.tal.org/~milang/o2/patches/vmlinux-2.4.29-rc2-r3k-mipsel-decstation</a> |
|
|
It should work with framebuffer/keyboard. ] |
|
1753 |
|
|
1754 |
|
|
1755 |
|
|
1758 |
|
|
1759 |
<p><br> |
<p><br> |
1760 |
<a name="mach"></a> |
<a name="mach"></a> |
1761 |
<h3>Running Mach/PMAX in GXemul:</h3> |
<h3>Mach/PMAX:</h3> |
1762 |
|
|
1763 |
Read the following link if you want to know more about Mach in general: |
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"> |
<a href="http://www-2.cs.cmu.edu/afs/cs/project/mach/public/www/mach.html"> |
1782 |
<p> |
<p> |
1783 |
<ol> |
<ol> |
1784 |
<li>Compile gxemul with cache emulation: (<b>NOTE: --enable-caches</b>)<pre> |
<li>Compile gxemul with cache emulation: (<b>NOTE: --enable-caches</b>)<pre> |
1785 |
$ <b>./configure --enable-caches; make</b> |
<b>./configure --enable-caches; make</b> |
1786 |
|
|
1787 |
</pre> |
</pre> |
1788 |
<li>Download the pmax binary distribution for Mach 3.0:<pre> |
<li>Download the pmax binary distribution for Mach 3.0:<pre> |
1789 |
<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/daveg/Info/Links/Mach/src/release/pmax.tar.Z</a> |
<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 |
7263343 bytes, md5 = f9d76c240a6e169921a1df99ad560cc0 |
7263343 bytes, md5 = f9d76c240a6e169921a1df99ad560cc0 |
1792 |
|
|
1793 |
</pre> |
</pre> |
1794 |
<li>Extract the Mach kernel:<pre> |
<li>Extract the Mach kernel:<pre> |
1795 |
$ <b>tar xfvz pmax.tar.Z pmax_mach/special/mach.boot.MK83.STD+ANY</b> |
<b>tar xfvz pmax.tar.Z pmax_mach/special/mach.boot.MK83.STD+ANY</b> |
1796 |
|
|
1797 |
</pre> |
</pre> |
1798 |
<li>Create an empty disk image:<pre> |
<li>Create an empty disk image:<pre> |
1799 |
$ <b>dd if=/dev/zero of=disk.img bs=1 count=512 seek=400000000</b> |
<b>dd if=/dev/zero of=disk.img bs=1 count=512 seek=400000000</b> |
1800 |
|
|
1801 |
</pre> |
</pre> |
1802 |
<li>Load the contents of pmax.tar.Z onto the disk image. This is |
<li>Load the contents of pmax.tar.Z onto the disk image. This is |
1813 |
cd /; sync; umount /mnt</i>) |
cd /; sync; umount /mnt</i>) |
1814 |
<p> |
<p> |
1815 |
<li>Start the emulator with the following command:<pre> |
<li>Start the emulator with the following command:<pre> |
1816 |
$ <b>gxemul -E dec -e 3max -X -d disk.img \ |
<b>gxemul -e 3max -X -d disk.img \ |
1817 |
pmax_mach/special/mach.boot.MK83.STD+ANY</b> |
pmax_mach/special/mach.boot.MK83.STD+ANY</b> |
1818 |
|
|
1819 |
</pre> |
</pre> |
1821 |
|
|
1822 |
|
|
1823 |
|
|
1824 |
|
|
1825 |
|
|
1826 |
|
|
1827 |
|
|
1828 |
|
<p><br> |
1829 |
|
<a name="openbsdsgiinstall"></a> |
1830 |
|
<h3>OpenBSD/sgi:</h3> |
1831 |
|
|
1832 |
|
<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 |
|
|
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 |
|
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 |
|
<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 |
|
|
1849 |
|
</pre>and run <b><tt>gxemul -xeo2 bsd.rd</tt></b>. |
1850 |
|
|
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 |
|
as a <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=diskless&manpath=OpenBSD+Current&format=html">diskless</a> |
1854 |
|
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 |
|
<a href="#netbsdpmaxinstall">Install NetBSD/pmax 3.1 from CDROM</a>. |
1861 |
|
(Don't forget to add the extra partition!) |
1862 |
|
<p> |
1863 |
|
<li>Configure the nfs server machine to act as an nfs server. |
1864 |
|
Start up the emulated DECstation:<pre> |
1865 |
|
<b>gxemul -e 3max -d nbsd_pmax.img</b> |
1866 |
|
</pre>and enter the following commands as <tt>root</tt> |
1867 |
|
inside the emulator: |
1868 |
|
<table border="0"><tr><td><tt> </tt></td><td><pre> |
1869 |
|
<b>echo hostname=server >> /etc/rc.conf |
1870 |
|
echo ifconfig_le0=\"inet 10.0.0.2\" >> /etc/rc.conf |
1871 |
|
echo nameserver 10.0.0.254 >> /etc/resolv.conf |
1872 |
|
echo 10.0.0.254 > /etc/mygate |
1873 |
|
echo /tftpboot -maproot=root 10.0.0.1 > /etc/exports |
1874 |
|
echo rpcbind=YES >> /etc/rc.conf |
1875 |
|
echo nfs_server=YES >> /etc/rc.conf |
1876 |
|
echo mountd=YES >> /etc/rc.conf |
1877 |
|
echo bootparamd=YES >> /etc/rc.conf |
1878 |
|
printf "client root=10.0.0.2:/tftpboot \\\n swap=10.0.0.2:/tftpboot/swap\n" > /etc/bootparams |
1879 |
|
echo "10:20:30:00:00:10 client" > /etc/ethers |
1880 |
|
echo 10.0.0.1 client > /etc/hosts |
1881 |
|
reboot</b> |
1882 |
|
</pre></td></tr></table> |
1883 |
|
<li>Start the DECstation emulation again, and enter the following |
1884 |
|
commands to download the OpenBSD/sgi distribution:<br>(NOTE: This |
1885 |
|
takes quite some time, even if you have a fast network connection.) |
1886 |
|
<table border="0"><tr><td><tt> </tt></td><td><pre> |
1887 |
|
<b>cd /tftpboot; ftp -i ftp.se.openbsd.org</b> |
1888 |
|
(log in as anonymous...) |
1889 |
|
<b>cd pub/OpenBSD/3.9/sgi |
1890 |
|
mget b*tgz c*tgz e* g* m* |
1891 |
|
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 > /tftpboot/etc/fstab |
1895 |
|
rm *.tgz |
1896 |
|
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 |
|
<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 |
|
|
1903 |
|
</pre> |
1904 |
|
<li>Create a configuration file called <tt>config_client</tt>: |
1905 |
|
<table border="0"><tr><td><tt> </tt></td><td><pre> |
1906 |
|
<font color="#2020cf">! Configuration file for running OpenBSD/sgi diskless with |
1907 |
|
! a NetBSD/pmax machine as the nfs server. |
1908 |
|
! |
1909 |
|
! This config file is for the client.</font> |
1910 |
|
|
1911 |
|
<b> net( |
1912 |
|
add_remote("localhost:12444") </b>! the server<b> |
1913 |
|
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 |
|
</b> |
1927 |
|
</pre></td></tr></table> |
1928 |
|
... and another configuration file for the server, |
1929 |
|
<tt>config_server</tt>: |
1930 |
|
<table border="0"><tr><td><tt> </tt></td><td><pre> |
1931 |
|
<b> net( |
1932 |
|
local_port(12444) </b>! the server<b> |
1933 |
|
add_remote("localhost:12445") </b>! the client<b> |
1934 |
|
) |
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 |
|
</b> |
1946 |
|
</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 |
|
<b>gxemul @config_server</b> |
1951 |
|
|
1952 |
|
and then, in another xterm: |
1953 |
|
<b>gxemul @config_client</b> |
1954 |
|
|
1955 |
|
</pre> |
1956 |
|
<li>In the OpenBSD/sgi window, choose "<tt>s</tt>" (for Shell), and type: |
1957 |
|
<table border="0"><tr><td><tt> </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 |
|
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 |
|
</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 |
|
|
2003 |
|
<p><br> |
2004 |
|
<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 |
|
|
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 |
|
<b>gxemul -e pica -X -d obsd_arc.img -d b:openbsd_arc_2.3.iso -j 2.3/arc/bsd.rd</b> |
2063 |
|
|
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 |
|
<!-- |
2141 |
|
<p><br> |
2142 |
|
<a name="linux_malta"></a> |
2143 |
|
<h3>Linux/Malta:</h3> |
2144 |
|
|
2145 |
|
<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 |
|
<p><br> |
2209 |
|
<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 |
|
in AMD64 mode) comparing QEMU 0.8.2 (installed from FreeBSD ports) |
2237 |
|
with GXemul gave the following result: |
2238 |
|
|
2239 |
|
<p><pre> |
2240 |
|
<b>while true; do ls -l > /dev/null; echo -n .; done</b> |
2241 |
|
(80 x 36 dots) |
2242 |
|
QEMU 0.8.2: 13 min 52 sec |
2243 |
|
GXemul 0.4.2: 4 min 31 sec |
2244 |
|
|
2245 |
|
<b>while true; do /usr/bin/md5sum /usr/bin/* > /dev/null; echo -n .; done</b> |
2246 |
|
(80 dots) |
2247 |
|
QEMU 0.8.2: 2 min 8 sec |
2248 |
|
GXemul 0.4.2: 5 min 18 sec |
2249 |
|
|
2250 |
|
<b>while true; do grep hej lib/libtextwrap.so.1 > /dev/null; echo -n .; done</b> |
2251 |
|
(80 dots) |
2252 |
|
QEMU 0.8.2: 9 min 57 sec |
2253 |
|
GXemul 0.4.2: 1 min 36 sec |
2254 |
|
</pre> |
2255 |
|
|
2256 |
|
<p>The commands were run inside the emulators, using the ramdisk kernel |
2257 |
|
mentioned above. |
2258 |
|
|
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 |
|
|
2314 |
|
<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 |
|
|
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> </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> </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 >> rc.conf |
2425 |
|
echo "/dev/wd0a / ffs rw 1 1" > fstab |
2426 |
|
echo "/dev/wd0b none swap sw 0 0" >> 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 |
|
|