Debian on Seagate Personal Cloud and Seagate NAS

Debian supports the Seagate Personal Cloud (1-Bay and 2-Bay) and Seagate NAS (2-Bay and 4-Bay). These NAS devices are based on a Marvell Armada 370 processor and can run Debian's armhf port.

These devices are supported as of Debian stretch. It's not possible to install Debian jessie (the current stable release).

Supported devices

The following devices are supported by Debian:

Product name

Personal Cloud

Personal Cloud 2-Bay

Seagate NAS 2-Bay

Seagate NAS 4-Bay

Code name (board/PCB)

Cumulus

Cumulus Max

Dart 2-Bay

Dart 4-Bay

Model name (case sticker)

SRN21C

SRN22C

SRPD20

SRPD40

Material desc (product spec)

STCRxxxxxxx

STCSxxxxxxx

STCTxxxxxxx

STCUxxxxxxx

/!\ Please note that the Seagate Central (STCG) is not supported.

U-Boot access

The Seagate Personal Cloud and Seagate NAS devices allow you to connect to U-Boot, the boot loader, via the network with the use of U-Boot's network console feature. We will use this to load Debian installer and to configure the boot loader to boot Debian from disk.

There's a tool called clunc which can be used to connect to U-Boot's network console. Since clunc is currently not packaged for Debian (see the Request for Package), you have to obtain it from the Git repository and compile it yourself:

git clone http://git.lacie-nas.org/clunc.git
make

You can now use clunc to connect to U-Boot's network console. When the Seagate device boots, it will wait a few seconds to see if clunc is requesting a network console. If clunc is not running, your Seagate device will continue the boot process.

You have to pass an IP address to clunc in order to open a network console. We'll use 192.168.1.102 as the example IP address:

./clunc -i 192.168.1.102

When a connection is obtained, you should be able to see the U-Boot prompt:

Marvell>>

/!\ The Seagate NAS (4-Bay) has two Ethernet ports. Make sure to connect the cable to port 1.

Installing Debian

We'll use clunc to connect to the network console to load Debian installer. Debian is installed to disk. We'll also configure the Seagate device to boot Debian from disk.

Loading Debian installer

Please download the following 2 files:

You also have to load one of the following DTB (a hardware description of the device). Choose the DTB for your device:

/!\ Make sure to download and load the correct DTB for your device. If you use a wrong DTB, your device may not function correctly.

Store the files on a TFTP server.

Open clunc, start your Seagate device and wait for clunc to open U-Boot's network console. Now you can load the installer with the following commands:

setenv bootargs console=ttyS0,115200n8
setenv serverip 192.168.1.2
setenv ipaddr 192.168.1.102
tftpboot 0x2000000 uImage
tftpboot 0x5100000 uInitrd
tftpboot 0x5000000 armada-370-seagate-`YOURDEVICE`.dtb
setenv fdt_high 0xffffffff
setenv initrd_high 0xffffffff
bootm 0x2000000 0x5100000 0x5000000

/!\ Ensure you use the same IP for clunc and for the ipaddr variable.

Running Debian installer

Since the Seagate devices don't have any IO device, SSH will be used for the installation. The installer will bring up the network, start the OpenSSH server and you can then connect to the device using SSH. You have to wait a few minutes after starting the system before you can connect. When the installer is ready, the power LED will change.

You can follow the power LED for progress.

On the Seagate Personal Cloud, the LED sequence is:

On the Seagate NAS, the LED sequence is:

You can connect to the installer with SSH:

ssh installer@192.168.1.102

The password is "install". If you're unsure about the IP address of your device, consult your router or run a command like nast -m.

The installation itself should be pretty standard and you can follow the installation guide.

Unfortunately, there's currently a bug in the installer. After you configure passwords for your users, the installer will try to set up the clock. This step hangs at 0%. I haven't found the cause of this issue yet, but you can use a workaround. Open a second SSH connection to the installer and choose "Start shell". Then type:

ps | grep rdate

You'll see output similar to:

~ # ps | grep rdate
 4376 root      1936 S    rdate -o 123 -nvv 0.debian.pool.ntp.org

Now kill this process (kill 4376 in my example). You can now proceed with the installation.

Configuring U-Boot to boot Debian

After the installation is done, start clunc again and restart the device. Now you have to configure U-Boot to boot Debian from disk.

Starting kernel ...

After a few minutes, you should be able to connect to Debian using SSH.