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).
The following devices are supported by Debian:
Personal Cloud 2-Bay
Seagate NAS 2-Bay
Seagate NAS 4-Bay
Code name (board/PCB)
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.
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.softwrestling.org/lacie-nas/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:
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 "ipaddr=xxx.xxx.xxx.xxx". 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.
This may help: Try to start clunc in verbose mode ( ./clunc -vi 192.168.1.102 ) and wait until "waiting U-Boot..." is displayed. If nothing happens stop clunc and try again. Power up the NAS after the message is displayed.
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:
armada-370-seagate-personal-cloud.dtb for Seagate Personal Cloud (1-Bay)
armada-370-seagate-personal-cloud-2bay.dtb for Seagate Personal Cloud (2-Bay)
armada-370-seagate-nas-2bay.dtb for Seagate NAS (2-Bay)
armada-370-seagate-nas-4bay.dtb for Seagate NAS (4-Bay)
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 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:
- By default, it will blink white.
- When the kernel starts, the power LED goes to solid white.
- When the installer is beginning to start, the power LED will change to a mix of solid red and white.
- When the installer is ready for SSH connections, the power LED will change to solid white.
On the Seagate NAS, the LED sequence is:
- The power LED will go off when you start the installer
- When the installer is beginning to start, the power LED will change to solid red
- When the installer is ready for SSH connections, the power LED will go blank
You can connect to the installer with SSH:
Ippaddr not used by the device
It seems that sometimes the device is not using the address supplied with setenv ipaddr 192.168.1.102 when a DHCP server is active in your network.
In case you can't connect to the installer use nast -m to find the ip address used by the device.
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.
Note that U-Boot is only able to load files from ext2 filesystems, so arrange partitions in order to allow accessing a suitable /boot folder.
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 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.
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.
Also, keep attention to use the right partion number to access the /boot folder, the right directory and file names: for instance, the dtb file is named /boot/dtbs/5.10.0-13-armmp/armada-370-seagate-YOUR_DEVICE.dtb under Bullseye, and the U-boot could have problems to use symlinks.
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.
- Setting clock in installer (rdate hangs)
Marvel CESA driver doesn't work: marvell-cesa: probe of f1090000.crypto failed with error -22
- Power off doesn't work on Seagate NAS (but works on Seagate Personal Cloud)