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 9 (stretch).

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 Max

Dart 2-Bay

Dart 4-Bay

Model name (case sticker)





Material desc (product spec)





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

The Personal Cloud devices come with the Seagate NAS firmware pre-installed and there is no easy way to re-install the Seagate NAS firmware after you install Debian. We therefore suggest you create a disk image before you install Debian. This warning does not apply to the Seagate NAS (2-Bay and 4-Bay) on which the original Seagate software can be re-installed with a web interface even after you format the disk.

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

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 as the example IP address:

./clunc -i

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


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

Loss of U-Boot access

Several users have reported that they can't connect to U-Boot with clunc anymore after installing Debian (meaning they can't restore the original software or re-install Debian). Even though we investigated this issue, we couldn't figure out why this would happen to some users. Therefore, we suggest you only install Debian if you can make a serial console in case something goes wrong.

It has been suggested that the issue is caused by the uboot environment setting "". This is the temporary IP address uboot uses for 3 seconds while waiting for a lump/clunc packet, and if none arrives, the nas continues the boot process, where the IP is then governed by the linux kernel (DHCP or static, depending on user settings). Users are advised to record the uboot IP address "ipaddr=" setting for future uboot access.

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.

Please install a TFTP server on your host PC and provide the files you just downloaded via TFTP. (Even though the Seagate devices have USB ports, the boot loader doesn't support loading the files from a USB stick.)

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 serverip
setenv ipaddr
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@

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. It is worth mentioning that the IP address as well as the MAC address that your device had in previous steps may not be the same. Be mindful of this when looking for your device to connect to via SSH.

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

Be sure to use the latest version of uImage, uInitrd, and armada-370-seagate-*.dtb (from links above) otherwise the driver module versions that are fetched via the mirror sites can become out of sync with the installation images causing the installation to fail due to driver version incompatibilities.

After you configure passwords for your users, the installer will try to set up the clock. Some users have reported this step hangs at 0%. I haven't found the cause of this issue yet, but if you see this issue 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

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.

Load the U-Boot config file and copy&paste it line by line into the U-Boot network console. Be aware that some lines are very long. Make sure you copy them as one line.

The last command will run the boot command. It will load kernel, ramdisk and DTB before starting the kernel:

Starting kernel ...

You won't see the actual kernel messages or boot process. However, after a few minutes, you should be able to connect to Debian using SSH.

Known issues