This document describes in depth how to prepare your Iomega StorCenter G2 for installing NetBSD/sandpoint. The three supported models are:

StorCenter G2 Single Drive, 200MHz

StorCenter G2 Dual Drive, 200MHz

StorCenter G2 Quad Drive, 266MHz

All models have 64 MB RAM and a PATA disk interface. Note that newer StorCenter models use an ARM CPU and are not supported.

To install NetBSD/sandpoint you will have to open the case for getting access to the serial console. This is shown here for the Single Drive model.

Accessing the serial interface
==============================
We need a serial console to get access to the firmware. That includes
soldering a cable to the board and building (or buying) a serial adapter
to convert from the StorCenter's TTL levels to RS232 levels.
Disassemble the StorCenter Single Drive
---------------------------------------

The Single Drive model is somewhat tricky to open. Move the cover by applying some force into the direction away from the interface bezel. It will eventually snap open. Then remove the metal shielding. Again, there are no screws. It is held in place by some brackets. Just pull it upwards and you will see the hard disk.

Do not try to access the screws, which are securing the disk drive, through the plastic vents. To be able to pull the metal case up we have to remove four screws at the bottom first, which are hidden behind a plastic plate. Pry open the plastic plate using a levering tool, like a screw driver. You will need some force to do that.

Remove the four screws at the bottom. Now you can easily pull the metal case out.

Remove the four screws which are securing the hard disk and unplug its connectors. Also remove the fan and the LED from the metal case. Now you can pull the mainboard out of the metal case, by moving it into the direction of the rear bezel.

Locate the serial header
------------------------
Look out for an unpopulated 8-pin header, called `J11` (marked red on
the picture to the left). The leftmost four pins can be used for the
serial interface. The pin assignments are shown in the table.

Pin number

Function

1

3.3V

2

TXD

3

GND

4

RXD

Attaching a serial cable
------------------------

It is not recommended to solder a header onto J11, because then you would no longer be able to close the case. Instead you should just solder a 4-wire ribbon cable, which is flat enough to hide under the disk drive. Also make sure to choose a small 4-pin plug, which you can connect to your external cable with the actual D-SUB 9 connector. Alternatively you can cut a hole into the case.

Serial connection
-----------------
The serial port on the StorCenter is using 3.3V TTL levels, which have
to be converted into regular RS232 levels by a level shifter circuit. If
you are not anxious using a soldering iron you find detailed
instructions how to build such a converter here:
- [Serial adapter for 3.3V TTL](http://www.NetBSD.org/ports/sandpoint/ttl2rs232.html)
Make sure that the layout of the plug fits to the pinout of the
StorCenter's serial header, as shown above.
Another option is to buy such a converter. There are solutions for a
standard RS232 interface and for an USB interface. Look out for:
- RS232 level shifter / breakout board (MAX3232 based)
- USB to TLL serial level shifter / breakout board (FT232 based)
First installation
==================
Accessing the Firmware
----------------------
Provided the serial converter is installed and working correctly you
should be able to connect to the firmware's serial console. Iomega is
using [U-Boot](http://www.denx.de/wiki/U-Boot/), the Universal Boot
Loader.
Now you can connect with any terminal program to the StorCenter's serial
console. The easiest approach may be to use NetBSD's `tip(1)` command to
make a direct console connection at 115200bps.
# tip -115200 console
Note that when using a serial connection via USB you may have to make an
entry for `/dev/ttyU0` in `/etc/remote`.
Immediately after switching your StorCenter on it will display the
following information (output is from a Single Drive model) and gives
you one second to stop autobooting.
U-Boot 1.0.0 (Sep 2 2005 - 14:49:11)
CPU: MPC8241 Revision 1.4 at 199.999 MHz: 16 kB I-Cache 16 kB D-Cache
Board: StorCenter
PICR1 is now 00141b98
PICR2 is now 00040605
AMBOR is now c1
DRAM: 64 MB
FLASH: 8 MB
In: serial
Out: serial
Err: serial
Net: PCI device RTL8169#0: unknown chip version, assuming RTL-8169
PCI device: TxConfig = 0x0
RTL8169#0
Hit any key to stop autoboot: 0
altboot
-------
The `altboot(8)` utility functions as a bridge between the Iomega
firmware and the NetBSD kernel startup environment. NAS firmware often
provides no means to boot a kernel from disk or from the network and
doesn't initialize all hardware correctly. We will also use it to pass a
bootinfo list to the kernel.
The `altboot` boot loader has to be loaded and started using U-Boot.
Usually there are three ways to invoke it:
- **loadb** to load a binary file via serial line in kermit mode
- **tftpboot** to load a binary file over the network with TFTP protocol
- start it from the flash memory
The last option is prefered once the installation is completed, but
obviously it is not possible for the first time boot. Fortunately U-Boot
has set up the network interface, which we can use after configuring the
`ipaddr` and `serverip` environment variables:

Boot the INSTALL kernel with altboot
------------------------------------
Now you can use `altboot` to launch the `netbsd-INSTALL` kernel for
installing NetBSD. You may choose to load it with TFTP or from NFS. For TFTP
you have to enable `tftpd(8)` in `/etc/inetd.conf`, and for NFS there is
a documentation at [The Network File
System](http://www.NetBSD.org/docs/guide/en/chap-net-services.html#chap-net-services-nfs).
But in both cases you have to set up a DHCP server, which is explained
in the [DHCP Howto](http://www.NetBSD.org/docs/network/dhcp.html). An
appropriate `dhcpd.conf` entry could look like this:
host storcenter {
hardware ethernet 00:d0:b8:xx:xx:xx;
fixed-address 192.168.0.105;
next-server 192.168.0.5;
option root-path "/export/storcenter/root";
}
The `root-path` option is only needed when using NFS and should match
your exported NFS directory. Uncompress `netbsd-INSTALL.gz` from the
NetBSD/sandpoint distribution and copy it into the NFS or TFTP directory.
Then start the DHCP, NFS or TFTP server and boot the installation kernel
from the firmware either with