If you've read any of my Network Attached Storage (NAS) reviews over the last few years, you'll see that I often try to find a way to break through the standard interface of the NAS in order to get access to the underlying operating system. Why would I want to do this? There are lots of reasons.
Sometimes it's just curiosity. Once I get a command-line, I can really see what the manufacturer is doing to make the product work. Other times, I want to see if the NAS is really locked down from a security standpoint. Because ifyou deploy a NAS on your network, you need to know whether it is as secure as the manufacturer makes it out to be.
But most of the time, my real goal is to see if the box can be extended to give it additional features. Nearly all consumer-level NASes run Linux internally. This means these NASes have a general-purpose operating system that has been configured to expose only a small set of supported capabilities.
NASes are capable of a lot more than the standard features they come with. I've modded NASes to do weather monitoring, home automation and specialized data backup. The NSLU2 has been particularly popular with those wanting a tiny extendible NAS. My modifications have been fairly pedestrian, but others have modded the NSLU2 for more exotic uses such as a robotic submarine, a pollution monitor, or a "carputer".
As these things go, the NSLU2 is a bit of an exception with a large development community behind it supplying installable packages and alternate firmwares. But most of the time when I get into a NAS device, I'm on my own. If I really want to extend the box, it means figuring out the custom Linux distribution used by the manufacturer, building a cross-compilation tool-chain and doing my own installs.
But hopefully, that's now changing. Many NASes on the market are based on a Marvell "Orion" chipset and earlier this year, standardized support for this architecture was added to the mainline Linux source tree. Soon thereafter, Debian support came along. This means that instead of using a custom Linux distribution, manufacturers using the Orion architecture will be able to start with an off-the-shelf Linux distribution. And even if the manufacturer chooses to roll their own distribution, adventurous users will be able to more easily go their own way and install Debian themselves.
In this article, that's what I'll do. I'll install a recent version of Debian on a QNAP TS-209 Pro , using the Release Candidate 1 installer for 5.0, (Lenny), which has recently added support for installing to Marvell Orion-based NASes. I'll be using the TS-209 Pro in this article, but the process will be similar for other Orion-based NASes.
To see if your favorite NAS is officially supported, check out Martin Michlmayr's page for a list of devices. Martin has been a driving force behind getting Debian support for these NASes and he has extensive documentation on the installation process.
So how does one go about loading a new operating system on a NAS that doesn't have a CD or DVD drive for installation media and no way to boot off an external device? It's actually pretty straightforward. The basic process is to replace the standard flash image on the NAS with a special Debian installer and then reboot to start the installation. The installation process itself then fetches everything it needs across the Internet, unpacks it to the internal disk and then burns a new kernel image to the internal flash.
Of course, there are a lot of things that can go wrong along the way, so you need to be prepared. One of the difficulties with a box like the TS-209 is that it has no direct-connect console, meaning that the only way to interact with it is across the network. So if your installation fails and the network doesn't come up, you can be in trouble. The same issue can arise with flash. You'll note in this process that there are flash burns going on, which can also fail with disastrous results.
But there are a couple of different ways to protect yourself against issues like this. The more difficult way is to solder on a TTL-to-RS232 level shifter, which will allow connection of a serial cable so you can log into the box without a network. This will also allow you to interact with the boot loader to load a new flash.
Of course, if you're like me, handling a soldering iron always means there's a very real danger of destroying the solderee and setting your house on fire, which can often result in severe spousal disapproval. The safer way to deal with potential problems is to take advantage of a recovery mechanism that recent QNAP firmware has built in. This is the route I'll take in this article.