File:  [NetBSD Developer Wiki] / wikisrc / ports / shark.mdwn
Revision 1.1: download - view: text, annotated - select for diffs
Sat Dec 22 04:03:19 2012 UTC (16 months ago) by mspo
Branches: MAIN
CVS tags: HEAD
add a few more port pages, also testing html2markdown for vax-models.mdwn

[[!template id=port
NetBSD/shark is a port of NetBSD to StrongARM based Digital DNARD ("Shark")

Up until the release of NetBSD 1.6, this port used to be part of the
[NetBSD/arm32 port](/ports/arm32).
<div id="content"><div class="fullWidth"><div class="rowOfBoxes">
<h1>NetBSD/shark Frequently Asked Questions</h1>
<h3 class="title"><a name="hardware">Hardware Information</a></h3>
<li><a href="#shark_memory">What type of memory does the Shark require?</a></li>
<li><a href="#shark_extend_memory">How do I extend memory to more than 64MB?</a></li>
<li><a href="#shark_firmware_upgrade">Should I upgrade my Shark's firmware, and if so, how do I do it?</a></li>
<li><a href="#internal-power-supply">Where's the internal IDE power supply and mounting
<li><a href="#x_config">Is there a XF86config file that I can use on my shark?</a></li>
<h3 class="title"><a name="">Booting</a></h3>
<li><a href="#firmware">Gee, it looks a lot like a Sun boot monitor</a></li>
<li><a href="#eeprom">My EEPROM somehow got hosed; my Ethernet shows
<li><a href="#gen_shark_disk_boot">How do I boot a Shark from an internal disk?</a></li>
<li><a href="#shark_boot">When installing NetBSD/shark on a Shark with an internal drive,
do I need to install a boot loader?</a></li>
<li><a href="#root-path">What do I have to feed my Shark as
<li><a href="#net_shark">I can't get my DNARD/Shark to netboot a new kernel!</a></li>
<li><a href="#dhcp-config">Can you give me a sample DHCP configuration?</a></li>
<h3 class="title"><a name="general">General questions</a></h3>
<li><a href="#device-names">What are the device names?</a></li>
<li><a href="#smartcard">How do I make use of the smart card or IR ports?</a></li>
<h3 class="title">Hardware Information</h3>
<p>Most of the information is on <a class="ulink" href="" target="_top">Digital's
<h4 class="title">
<a name="shark_memory"></a>What type of memory does the Shark require? (<a href="#hardware">top</a>)
<p>The <a class="ulink" href="" target="_top">DNARD
user guide</a> has information about this in section 4.5.1,
<span class="quote">&#8220;<span class="quote">Supported DIMMs</span>&#8221;</span>.

<h4 class="title">
<a name="shark_extend_memory"></a>How do I extend memory to more than 64MB? (<a href="#hardware">top</a>)
<p>See the <a class="ulink" href="" target="_top">Extending
memory on your DNARD (shark) to more than 64MB</a> webpage for details.

<h4 class="title">
<a name="shark_firmware_upgrade"></a>Should I upgrade my Shark's firmware, and if so, how do I do it? (<a href="#hardware">top</a>)
<p>Upgrading the Shark's firmware can be somewhat frustrating, but
in some cases, you may want (or need) to do it.
these requests are incredibly busy right now.  Chris Demetriou
volunteered to help them out with firmware image distribution, and
they accepted his offer.

<p>If you're looking for an update for Shark firmware, Chris Demetriou
may be able to help you out.  Send him an e-mail at
<code class="email">&lt;<a class="email" href=""></a>&gt;</code> with the subject <span class="quote">&#8220;<span class="quote">SHARK FIRMWARE
REQUEST</span>&#8221;</span>, and then, after making you jump through a few hoops,
he'll point you at the bits.</p>

<p>People should know that there are a few
<span class="quote">&#8220;<span class="quote">interesting</span>&#8221;</span> versions of firmware that they might

<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
      <p>The 980225 image which is the minimum necessary to Shark
      support integrated into the master NetBSD sources.  (The
      1.3-based distribution from Digital could tolerate earlier
      versions, but the integrated bits won't)</p>
<li class="listitem">
      <p>A version of the 980225 image hacked to use all of the
      environment SEEPROM for OFW nvram storage.  (This is useful if
      you want a large nvramrc, for instance)</p>
<li class="listitem">
      <p>An image dated 980908, which seems similar to the 980225,
      but adds additional keymaps and changes the video chip bootstrap

<p>After you have the bits, you're ready to upgrade.</p>

<p>You should start by reading <a class="ulink" href="" target="_top">Chris'
summary</a> on the subject, from the <a class="ulink" href="" target="_top">port-arm32 mail

<h4 class="title">
<a name="internal-power-supply"></a>Where's the internal IDE power supply and mounting
brackets? (<a href="#hardware">top</a>)
<p>The DNARD does have an internal IDE port with a standard 0.100"
spacing, 2-row, 40-pin header connector, as you see <a class="ulink" href="" target="_top">here</a>.

<p>However, the DNARD has only +5V power coming from its power
supply &#8212; and no DC-DC converter to produce +12V. Therefore, you will
only be able to pull 5V power from the four-pin white header connector
behind the IDE port. There are no mounting brackets shipped with the
DNARDs that have no Iomega ZIP drive preinstalled.</p>

<div class="sect4">
<div class="titlepage"><div><div><h5 class="title">
<a name="laptop-size-HDD"></a>Using a 2.5" laptop size IDE HDD</h5></div></div></div>

<p>It is possible to use a "standard" 2.5 inch IDE hard drive,
usually intended for laptops, inside the Shark. You will need:</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">a 2.5" to 3.5" drive mounting bracket</li>
<li class="listitem">a 44-pin, 0.075" spacing to 40-pin-plus-4-pin, 0.100"
spacing, IDE adapter cable</li>
<li class="listitem">3.5" mounting rails as described below in mounting a 3.5"

<p>Fortunately, almost all 2.5" HDs require low power and only +5V,
so they will run off of the existing Shark power supply.  This is the
most ideal solution for adding an internal HD to the Shark for those
models without the Zip drive.</p>

<p>Simply mount the 2.5" drive in the bracket, and attach the
bracket as you would a 3.5" HD as described below. Connect the adapter
cable from the hard drive to both the 40-pin IDE and the 4-pin power
connectors on the motherboard.</p>


<div class="sect4">
<div class="titlepage"><div><div><h5 class="title">
<a name="internal-hdd"></a>Using a 3.5" internal IDE HDD</h5></div></div></div>

<p>WARNING: Most 3.5" HDDs are relatively high on heat. If trying this
out, we recommend that you check the temperature of the drive
and the motherboard underneath it frequently.  You may also want to remove
the front panel taken off and add an extra fan pointing directly at the hard
disk opening.</p>

<p>The mounting holes for the internal HD are found at the front of
the case on either side of the Zip drive recess (right above the
ROMcard slot). Though this appears to need a special bracket, the
"slide rails" used in some kinds of PCs (old Compaq, some Packard
Hell, Gateway 2000) work perfectly for the task, even though they
were intended for 5.25" drive bays.</p>

<p>For this task you will need:</p>

<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">two PC drive slide rails</li>
<li class="listitem">a 40-pin "standard" IDE cable, short</li>
<li class="listitem">an external power supply to drive the HDD, with 4 pin Molex
<li class="listitem">(optional) a soft ferrite toroid or cylinder to thread the
power cord through</li>

<p>Attach the slide rails to the sides of the 3.5" hard drive,
preferably in such a way that the hard drive is no more than 1 cm
inward from the front metal wall of the DNARD. For Gateway 2000 rails,
use the lower and frontmost of the pairs of screw slots.</p>

<p>Attach the drive, with slide rails attached, to the front metal
wall of the DNARD. The screw holes use the same type of screws as the
rest of the DNARD unit; unfortunately, those screws do not hold most
PC brackets in place, so you may need to use metal washers or screws
from a hardware store to affix the brackets. (If you know what size
screw the DNARD uses, please let us know).</p>

<p>Connect the IDE cable to both the drive and motherboard. String
the external power supply's cable through one of the back panels of
the DNARD, and connect it to the drive. It's preferable to have a
ferrite toroid somewhere along this power line inside the DNARD case
as it will reduce electromagnetic interference. (Suggested by</p>

<p>It still needs investigating whether the external power supply
can drive the DNARD motherboard by feeding power into the hard drive
power connector.</p>

<p><span class="quote">&#8220;<span class="quote">Oops</span>&#8221;</span> concerns: My unit has the HDD resting on a
length of IDE cable, which also separates the drive from any
electronic components on the motherboard. If your IDE cable is not
<span class="quote">&#8220;<span class="quote">short</span>&#8221;</span>, this is a good idea to use, as there is at least
one test jumper that could come in contact with the underside of the
hard drive if the slide rails were to bend downward.</p>

<div class="sect4">
<div class="titlepage"><div><div><h5 class="title">
<a name="underwatervideo"></a>My video looks like it is underwater &#8212; it shakes after warming

<p>The common problem of "swimming" video observed on most &#8212;
but not all &#8212; DNARD revision 5 units has a hardware fix involving
some SMD soldering and very small pins. So, if you're dexterous enough
for the job, <a class="ulink" href="" target="_top">here</a>'s
the fix.

<p>By some stroke of luck, some Rev5 boards do not have the
problem, though they use identical parts.</p>

<div class="sect4">
<div class="titlepage"><div><div><h5 class="title">
<a name="chiplevel-specs"></a>I want chip-level specs!</h5></div></div></div>

<p>Then have them: The Revision 5 specs are <a class="ulink" href="" target="_top">here</a>.

<div class="sect4">
<div class="titlepage"><div><div><h5 class="title">
<a name="cpu-position"></a> Where's the CPU?</h5></div></div></div>

<p>Look carefully for the chip marked with a "233" under the
ROMcard slot at the front right of the case. Don't be fooled about the
size or lack of heatsink &#8212; that's it.</p>

<h4 class="title">
<a name="x_config"></a>Is there a XF86config file that I can use on my shark? (<a href="#hardware">top</a>)
<p>Yes, there's one at <a class="ulink" href="" target="_top"></a>.
Put it into your Sharks' <code class="code">/etc</code> directory.</p>
<h3 class="title">Booting</h3>
<h4 class="title">
<a name="firmware"></a>Gee, it looks a lot like a Sun boot monitor (<a href="#">top</a>)

<p>This is called the OpenFirmware boot monitor. It originated at
Sun Microsystems, hence the very similar look. The firmware was
created by <a class="ulink" href="" target="_top">FirmWorks</a>.</p>

<p>The DNARD binding for OpenFirmware is available in <a class="ulink" href="" target="_top">this
FAQ's download area</a>.</p>

<p>You can also take a look at the actual <a class="ulink" href="" target="_top">OpenFirmware working group web

<h4 class="title">
<a name="eeprom"></a>My EEPROM somehow got hosed; my Ethernet shows
ff:ff:ff:ff:ff:ff (<a href="#">top</a>)

<p>Todd Vierling figured this one out based on the information
contained in the <a class="ulink" href="" target="_top">Sun
NVRAM/hostid FAQ</a> and the <a class="ulink" href="" target="_top">DNARD
Host ID information</a>. Believe it or not, mkp works on the
DNARDs, though not quite like it does on the Suns. The mkpl shortcut
does not work, however.</p>

<p>Assuming you know the Ethernet address of your unit
(8:0:2b:AA:BB:CC where AA, BB, and CC are one or two digit hex
numbers), use the following commands to reprogram your EEPROM. If you
don't know what your machine's Ethernet address should be, pick one,
but be wary of the MAC addresses elsewhere on your network.</p>
<pre class="programlisting">
ok 8 0 mkp 8 f mkp
ok 0 1 mkp 0 e mkp
ok 2b 2 mkp 2b d mkp
ok AA 3 mkp AA c mkp
ok BB 4 mkp BB b mkp
ok CC 5 mkp CC a mkp
ok reset-all

<p>If this doesn't help, try it again with the following additional
mkp commands:</p>
<pre class="programlisting">
ok ff 18 mkp ff 1c mkp
ok 0 19 mkp 0 1d mkp
ok 55 1a mkp 55 1e mkp
ok aa 1b mkp aa 1f mkp

<h4 class="title">
<a name="gen_shark_disk_boot"></a>How do I boot a Shark from an internal disk? (<a href="#">top</a>)
To setup a Shark to boot from an internal IDE disk you must aquire an IDE
cable and power adapter, ensure that drive is void of any PC BIOS partition
tables, install NetBSD, and update your firmware settings.

<div class="sect4">
<div class="titlepage"><div><div><h5 class="title">
<a name="gen_shark_disk_boot_installhw"></a>a) Installing the hardware</h5></div></div></div>
<p>The shark has an internal IDE connector, but it does not have a
large 4-pin 12V power connector used by most standard IDE drives.  In
place of the large 4-pin 12V connector is a newer and smaller floppy
drive style power connector.  These factors make a laptop drive with a
laptop to standard IDE converter the best choice.  Depending on your
converter, you may also need an adapter to convert the smaller floppy
drive style power connector to the larger 12V connector required by
your converter.  Once installed, the drive can be secured to the top
of the ROM slot track using cable ties.  You can also use hook and
fastener strips (also known by the brand name
<span class="emphasis"><em>Velcro&reg;</em></span>) to secure the drive to the case.

<div class="sect4">
<div class="titlepage"><div><div><h5 class="title">
<a name="gen_shark_disk_boot_format"></a>b) Formatting the drive</h5></div></div></div>

<p>Your drive must be properly formatted to be recognized as a
bootable disk by the Shark firmware.  The NetBSD/shark install will
normally take care of most of the formatting for you, but in some
cases your drive may have an IBM-PC style Master Boot Record (or
<span class="emphasis"><em>MBR</em></span>).  This MBR must be erased before the Shark
firmware will recognize the NetBSD filesystem on the drive.  To make
sure that the MBR is erased, do the following:</p>

<div class="orderedlist"><ol class="orderedlist" type="1">
<li class="listitem">
    <p>Install NetBSD as normal.</p>
<li class="listitem">
    <p>Before rebooting, obtain a shell prompt and issue the
    command <code class="code">dd if=/dev/zero of=/dev/wd0c bs=512
<li class="listitem">
    <p>Reboot and update the firmware environment (below).</p>

<div class="sect4">
<div class="titlepage"><div><div><h5 class="title">
<a name="gen_shark_disk_boot_firmware"></a>c) Updating the firmware environment</h5></div></div></div>

<p>To autoboot from the disk you will need to install the
<code class="code">wdboot</code> kernel and from the PROM type:</p>

<code class="code">setenv boot-device disk:\netbsd</code>

<h4 class="title">
<a name="shark_boot"></a>When installing NetBSD/shark on a Shark with an internal drive,
do I need to install a boot loader? (<a href="#">top</a>)
<p>The Shark's firmware is capable of loading the NetBSD kernel
directly from an FFS, provided that the drive does not have an IBM-PC
style MBR.  (See the 'Booting a shark from an internal disk' question
for instructions on removing an MBR.)  As such, it does not require an
on-disk boot loader unlike many other computers.</p>

<p>Some Sharks are configured to load <code class="code">/boot</code> by default, in
which case you can just link <code class="code">/netbsd</code> to that name.</p>

<h4 class="title">
<a name="root-path"></a>What do I have to feed my Shark as
<span class="quote">&#8220;<span class="quote">root-path</span>&#8221;</span>? (<a href="#">top</a>)
<p>Use <span class="quote">&#8220;<span class="quote"><code class="filename">/path/to/root</code></span>&#8221;</span> (ipaddr of NFS
server is implied).</p>

<h4 class="title">
<a name="net_shark"></a>I can't get my DNARD/Shark to netboot a new kernel! (<a href="#">top</a>)
<p>Chances are, you need to update your firmware. See the
<a class="ulink" href="#shark_firmware_upgrade" target="_top">Shark firmware upgrade</a>
question for more information on that.</p>

<h4 class="title">
<a name="dhcp-config"></a>Can you give me a sample DHCP configuration? (<a href="#">top</a>)

<p>These should be the minimum settings necessary to make dhcpd
happy and to boot Sharks. You can find the Ethernet address by
plugging a Shark in and looking at the console (a keyboard must be
plugged in for the VGA console to work).</p>

<pre class="programlisting">
option domain-name "";
option domain-name-servers;
subnet netmask {}
host nc1 {
  hardware ethernet 08:00:2b:81:60:b6;
  filename "netbsd";
  option root-path "/export/nc/nc1root";
  next-server tftpserver_name;
host nc2 {
  hardware ethernet 08:00:2b:81:60:95;
  filename "netbsd";
  option root-path "/export/nc/nc2root";
  next-server tftpserver_name;

<h3 class="title">General questions</h3>
<h4 class="title">
<a name="device-names"></a>What are the device names? (<a href="#general">top</a>)

<p>The various ports are available on the following devices:</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">Printer (parallel Centronics 25-pin female):
<code class="filename">/dev/lpt0</code>
<li class="listitem">Serial (DE9 male): <code class="filename">/dev/tty00</code>
<li class="listitem">Infrared controller: <code class="filename">/dev/tty01</code>
<li class="listitem">PS/2 style mouse: <code class="filename">/dev/pms0</code>
<li class="listitem">IDE drives: <code class="filename">/dev/[r]wd[01]*</code>
<li class="listitem">Ethernet: (device cs0)</li>

<h4 class="title">
<a name="smartcard"></a>How do I make use of the smart card or IR ports? (<a href="#general">top</a>)

<p>This is currently not unknown.</p>

<p>Under NetBSD, the smart card reader is on
<code class="filename">/dev/scr0</code>, but it's not clear how to use the

<p>The infrared controller, which is bidirectional, is implemented
as a <span class="quote">&#8220;<span class="quote">serial</span>&#8221;</span> device on
<code class="filename">/dev/tty01</code>. Its protocol probably needs
documentation, and a willing soul could explore it and let us in on
the secrets. Note that it is not irDA; rather, it is a slower
consumer-grade IR device.</p>


[[!tag tier2port]]

CVSweb for NetBSD wikisrc <> software: FreeBSD-CVSweb