Hacked $99 NAS gadget runs full Debian Linux
Jul 19, 2005 — by Henry Kingman — from the LinuxDevices Archive — viewsA Debian ARM hacker has published a detailed HOWTO on installing Debian Linux on Linksys's NSLU-2 NAS (network-attached storage) gadget. Peter Korsgaard's HOWTO explains some neat tricks in dealing with endian issues on ARM processors, which have both little- and big-endian modes.
The NSLU-2 (Network Storage Link for USB 2.0 Disk Drives) is a low-cost embedded Linux device that turns any USB hard drive into a NAS (network-attached storage) device, by providing various network interfaces. Tom's Hardware published a rave review, saying the device could revolutionize NAS. Several alternative firmware images soon popped up.
Korsgaard says he wanted to be able to run Debian on the device, since as a Debian ARM community member, he was familiar with Debian. Additionally, he wanted a full-featured distribution — Debian ARM has some 16,000 packages, currently.
In order to port Debian to the NSLU2, Korsgaard had to overcome an issue related to endianness. ARM processors can run in little- or big-endian mode. Debian ARM only supports little-endian, but the device as supplied by Linksys runs in big-endian mode.
To circumvent this problem, Korsgaard constructed a byteswapped kernel that the NSLU2's big-endian Redboot bootloader can deal with. It loads, then throws the CPU into little-endian mode, before launching the rest of the kernel.
Similarly, to install Debian on the NSLU2, Korsgaard uses a byteswapped Debian installer from the LART project. He includes several screenshots of the installer running on the NSLU2, and explains how to use the rootdelay
Linux boot parameter to enable the root filesystem be mounted on a partition on a USB storage device.
Device specifics
The NSLU2 is based on an Intel XScale IXP420 processor, clocked at 133MHz. However, a resistor can reportedly be removed to double the processor's clockspeed. The device has 32MB of SDRAM, 8MB of NOR Flash, built-in 10/100 (not yet supported in litte-endian mode), and dual USB 2.0 ports.
Korsgaard's HOWTO is based on a Linksys NSLU2 with an onboard serial port header converted into an RS-232 port via a voltage converter. Alternatively, a modified USB phone cable can be used. Why do this? According to Korgaard, “The NSLU2 is a cheap (~75 Euros) consumer device, [so] it's a quite cheap way for people to get a non-x86 Debian box.”
Korgaard's cool project page can be found here.
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.