Debian & Docker on the Seagate Personal Cloud

A few days before my local Dick Smith Electronics closed (early 2016?), I went and had a wander through, and picked up an assortment of heavily discounted odds and ends. One item was a 4TB Seagate Personal Cloud (Archived Product Page / Archived Datasheet).

I only paid around $20-$25 for it on the day, and it’s been one of those things that’s never quite found a home. It’s a perfectly serviceable bit of kit, but I’ve always had a more powerful multi-drive NAS available, so it’s not been used long term. I’ve leant it to a few family members for various backups, used it when I needed somewhere to temporarily dump files, thrown it in a bag when travelling etc., but never used any of the “cloud” stuff, nor any of the mobile apps. I’ve always been a bit wary of it (probably unfairly) given the single, aging, mechanical HDD inside. The cloud functionality was canned by Seagate in 2021, and it was EOLed entirely in 2022. It’s been sitting in the pile of stuff at home which is too good to send to e-waste, but needs to find a project or a good home!

All that background aside, a while ago I saw https://wiki.debian.org/InstallingDebianOn/Seagate/PersonalCloud in the Debian docs. Today was the day that I finally came back to properly check it out!


It was a bit of a pain to get open, despite being screwless. It required far more force spudging the plastic cover off than I would like, but I managed to get inside without any breakages. Inside, it has a fairly standard ST4000DM000 4TB 5900RPM desktop HDD and a small PCB - exactly what I’d expect for the era.

The hardware is a Marvell ARMv7 1Ghz CPU with 512MB RAM, 1 GbE LAN, USB 2.0, USB 3.0, and SATA 3.0.

The Debian documentation references clunc to connect to the U-Boot console while the device is booting. I went back and forth for a while trying to get that working, but ultimately had no success. However, the bottom of the Debian documentation references JTAG and UART so it was time to get the toolbox out and go deeper.

Once I’d extracted the PCB, I rigged it up to a TTL to USB converter, and got access to the serial console.

Next step was to connect up a spare Orico 2.5" 1TB SSD I had on the work bench and start a Debian install. I wanted to preserve the original drive (for now) as going back to the Seagate firmware is a massive pain / impossible depending on which forum you’re reading. Also SSD is better :joy:.


Using a combination of the Debian instructions and the excellent information on Nick Holloway’s website to come up with a sensible and functional partition layout, a Debian install was relatively straightforward. For the record I went with 512MB /boot ext2, 512MB swap, and the remainder as ext4 /, as the 512MB boot drive and swap were included on the original Seagate partition layout for their firmware.

I got the latest version of Docker and Portainer running too. My original plan was to turn this into a device for PXE booting on a separate VLAN using iVentoy or netboot.xyz, but both of those projects removed armhf/armv7 support ages ago. I tried a few old versions (~3 years old) of Docker images from GHCR and Docker Hub without success, but I’m out of my depth in the Docker side of things.

Using a 2.5" to 3.5" adapter, the unit comes together quite nicely, but I haven’t buttoned it up completely yet given how much of a pain it was to get open. It runs cool, and absolutely silent now that the HDD has been replaced.

Throwing this one out to the HLB crowd - any armhf compatible PXE boot type projects I’m not aware of? Any other cool ideas for a 32-bit ARM former NAS? Plan B is to install Samba… and turn it into a NAS :joy:.

I’ll add this detail for anyone curious:

Using the latest (final) Seagate Firmware

uname -a
Linux 3.10.72-svn18863 #1 Thu Jan 17 08:16:55 UTC 2019 armv7l GNU/Linux

Benchmark using Blackmagic Disk Speed Test on my MacBook showed 73.5MB/s write speed, and 87.9MB/s read speed, over SMB.

Using Debian 13 installed today

uname -a
Linux 6.12.41+deb13-armmp #1 SMP Debian 6.12.41-1 (2025-08-12) armv7l GNU/Linux

No benchmarks for this config yet.


Edit 11/9: 32.4MB/s write and 36.9MB/s over SMB using the same test config. Of course this is using a different kernel and versions of Samba, etc. than the original Seagate firmware did. smbd is possibly using a different version of SMB to communicate. I’ve gone as far as confirming that the issue is somewhere with smbd itself rather than the network or the SSD using iperf3 and dd respectively. smbd is maxing out the CPU on the unit, and it’s possibly a configuration issue with the default config but I haven’t gone any further with it. After a week to reflect, I’m going to take a different approach with this unit anyway, but have added these results for the sake of documentation completeness.

Man, your posts are so inspiring. Having a solution for coordinating PXE boots on my network has always been on my list, but it never quite finds it’s way anywhere near the top, let alone the clever hardware repurposing approach that you’re taking.

At the risk of hijacking your thread, do you reckon you’d be able to help me install a modern debian on my OLPC XO-1?

For a 4TB drive and a Marvell ARMv7 1Ghz CPU with 512MB RAM ! bargain of the year!

Awesome article!

100%! A complete impulse buy, but it looked sad there on the shelf by itself and needed to come home with me :joy:.

After sleeping on it, I think I might have to take a different approach rather than try to force the use of older Docker images or find another project with armhf compatibility that does the same thing. It shouldn’t be too hard to roll my own solution using a TFTP server, a HTTP server, and Samba all mapped to the same directory. Workflow would be to drag and drop boot files into the directory via Samba, point the DHCP server options on that VLAN to serve something like iPXE over TFTP, and handle the heavy lifting to load the files served from that directory via HTTP. Will need to come back to it when I get a bit more time at the work bench (at least a week away). It’ll possibly be a bit easier on the limited hardware than using Docker as well.

The other thought I had overnight was maybe seeing if I could fit a DB9 connector onto the side of the case so that I didn’t have to muck about pulling it apart to access the UART if I need to in the future. The amount of effort I put in there might depend on how many times I accidentally brick something and need access to the serial console again over the next few weeks!

Either way, I’ll ponder it a bit further and will be sure to update the thread in the hope that it inspires others to give it a go with their own random odds and ends that have been in the cupboard for years :joy:.

I’m not at all familiar with those and only have a basic awareness of the project. A quick search suggests that they’re AMD Geode LX processors. At one stage I had several of those in the homelab and actually sent them to e-waste early last year when cleaning out. They were repurposed set top boxes and PVRs, so excellent cheap x86 compatible hardware for homelabbing over the years! They’re 32-bit x86 CPUs and are i686 compatible (for the most part). The recently released Debian 13 (trixie) no longer supports i586/i686, so you’d be running Debian 12 at the latest. I also found that performance wise, something like a Raspberry Pi could run laps around my Geode LX machines which is why they ended up in the cupboard once I got my hands on a Pi3. I made the sad decision to send almost all my sub-amd64 gear to e-waste for these sort of reasons - it was superseded 20+ years ago and is going to be more and more difficult to get working and probably not worth it overall, particularly when I can pick these sorts of things up for sub-$50, have more power efficiency, better performance, and have an easier time working with it.

It’s a very cool form factor, but squeezing something modern into that CPU + 1GB flash + 256MB RAM with some sort of desktop environment is going to be a tough ask. Might be possible doing your own build? A quick skim suggests that it’s the Sugar desktop environment, but I can’t find anything in a quick search that seems more recent than 10-15 years ago. Perhaps there’s a bootable USB project or something out there that breathes some life into those units. It’s a very cool form factor, but I think it’ll be a struggle to get something modern on there, and an even bigger struggle with the usability side of it.

Circling back to this one to finalise the hardware discussion. The PXE booting and software side of the project has been split off into the Homelab PXE Booting thread.

I ended up taking the 1TB Orico SSD out, and using a spare 60GB Toshiba SSD I had instead. This was pulled from a server years ago, and has been in the parts bin ever since. It’s too small to do anything with, but will be perfect for a little box to serve basic TFTP and HTTP. I’ve also replaced the large plastic Orico 2.5" to 3.5" converter with a metal HP one I pulled from a workstation a while ago (Part No: 654540-001). There are no fans in this unit, so my logic was that the smaller metal unit might dissipate heat (if any) unlike the larger plastic one.

Speaking of heat, this morning I took the dried out and crumbling thermal pad off the Marvell 88F6707 CPU, tidied it up with a bit of isopropyl alcohol, and applied a new thermal pad. Here’s a [poorly photographed] closer shot of the CPU, if anyone is interested.

Everything went back together smoothly and the final unit without the case on it looks like this:

At a glance, the temps are about the same as what they were before I started, so I doubt the new thermal pad or the metal 2.5" to 3.5" converter made any difference. Still, it was worth doing while I had the unit apart.

Hope you found some of the build interesting, and it encourages you to repurpose some of those odds and ends at home into a new project too!