Like every other website on the planet, SmallNetBuilder uses cookies. Our cookies track login status, but we only allow admins to log in anyway, so those don't apply to you. Any other cookies you pick up during your visit come from advertisers, which we don't control.
If you continue to use the site, you agree to tolerate our use of cookies. Thank you!

Wi-Fi Router Charts

Click for Wi-Fi Router Charts

Mesh System Charts

Click for Wi-Fi Mesh System Charts


Debian on the QNAP TS-209 Pro

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.

NOTE!Disclaimer: QNAP does not officially support Debian, although they are kind enough to host a Debian discussion forum for those interested. Do not try to return your NAS to QNAP or ask them for help if something goes wrong.

This process involves replacing all of QNAP's code, including the web configuration interface, with Debian code. So you stand the chance of "bricking" your NAS.

Your hard drive(s) will also be erased and re-formatted. So back up any data on your disks before you start.

So if you're uncomfortable with that possibility and you're not up for command-line administration of Linux, this is not for you.

Finally, SmallNetBuilder, Pudai LLC and I are not responsible for any damage that the information in this article may cause to your NAS or any data it manages.

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.

Support Us!

If you like what we do and want to thank us, just buy something on Amazon. We'll get a small commission on anything you buy. Thanks!

Don't Miss These

  • 1
  • 2