Slug Trevails

A couple of months ago, I decided it was time to deploy a robust backup strategy for my home LAN. The problem that I have is that I have exhausted the disk space on my fileserver. The box is running Slackware 8.1 (2.4.10 kernel). I had thought about installing backuppc on that box, but it required Perl 5.8.1, modern glibc, rsync, par and upgraded tar. On a very old and stable Slack box, upgrading Perl and glibc were show stoppers. I suppose a CPAN upgrade and install could've been possible, but upgrading glibc raised the hairs on my neck. Wasn't something I wanted to tackle. Borking glibc libraries could really screw up a perfectly good box. Perhaps there are slackpkg or slackbuild binaries for Perl, but I was not able to find them at the usual places.

Try as I might the under powered Celeron 300 MHz CPU was unable to compile Perl from source, in fact the machine quickly overheated and shut down. Installing a more modern glibc essentially required upgrading to Slackware 9.0, which I did not believe was worth the effort. So enter, the Linksys NSLU2 and the very compact and inexpensive (minimal impact on environment). This little device is just what I needed. I grabbed a 500GB external drive and proceeded to install Debian Stable (Etch).

One can find these devices on E-Bay for $50 - $70 US. Just another reason to give it a try, besides I really did not need an excuse to geek out on some new hardware. To install Debian on the Slug, it was necessary to flash the firmware on the device. Gotta give credit to Chess Griffin, as his very helpful and inspirational netcast inspired/motivated me to tackle this project.

So the first order of business was to get my hands on a Slug. Actually, I purchased mine via I then bought a 500GB IDE Seagate hard disk an dexternal USB2.0 hard disk enclosure. The total for both pieces of hardware was $160.00 US, not bad for a fully functioning back up server. One of the first issues that consumed a fair amount of time was that the NSLU2 has a factory default IP of If you already have a Linksys based network, and you have DHCP setup on the router then you are golden. However, I do not have a Linksys based LAN, and I do not run DHCP. My smoothie is the gateway/firewall for my LAN. I prefer static IP addresses, hence, I had to get into the firmware of the Slug and change the IP to a more suitable 192.168.0.x octet.

Simple right... Heh, the most simplistic jobs seem to require much more effort. Since, I am a CLI junkie, I figured I would flash the Linksys firmware with Debian Etch using upslug2. First order of business would be to locate the slug on my network. If you do not identify the slug IP _before_ flashing the firmware, you will not be able to ssh into the slug after it reboots running the new Debian firmware. You will need to ssh into the slug to run the Debian installer and retrieve the appropriate packages from the Debian repositories.

Doing a simple 'nmap -v 192.168.1.*' yielded nothing. So, I then tried to change the IP addresses for both wireless and internal NICs. No success. While goofing around for a couple of days, and exchanging emails with Fernando Carolo (who was very helpful) I finally learned the capabilities of upslug2. Upslug2 is basically a script that will run on your Linux box and then communicate with any NSLU2 device on your network. However, it will _not_ set an IP address. In fact, it never touches the destructive RAM (redbook) of the slug. It took awhile for this critical fact to sink into my thick skull ;)

A few visits to the IRC 'freenode.. #nslu2-users' also helped to quell concerns of a malfunctioning slug. Egads.. What to do now? Can't see the silly device on the network, and I cannot flash it with firmware? Well, I decided to revert to drastic and possibly evil measures. I used my work notebook computer running the evil M$ XP, and I broke down and purchased a null modem cable. Essentially, the null cable allowed me to directly connect to the device from my ethernet NIC, thus segregating the device from my network. I ran the familiar blue Linksys web based configuration interface and to my pure and utter pleasure the slug appeared :)

The default IP was shown and I was in business. I changed the IP to the appropriate 192.168.0.x octet. I located the Debian firmware and proceeded to flash the device. Once you have flashed the device, the Linksys web based configuration tool will be gone.
After the device was flashed it rebooted and a barely audible 3 beeps occurred. It is important to note that you must not have any USB devices attached to the slug during reflashing exercise.

I had already formatted my hard disk using the ext3 filesystem and the appropriate partition. This was necessary as the slug is fairly underpowered. I would not dream of trying to overwork the ARM processor running FDISK or some other seemingly resource intensive activity. Actually, I also pre-staged due to the Debian 3.1 net-install did not work as desired with the Slug.

It was later that I learned that Debian 4.0 net-install firmware had been updated to enable the net-install to work correctly with the NSLU2. For whatever reason, the net-install did not work as expected. Apparently, I munged the LVM setup. So I had to flash the device again. This time I used upslug2 to reflash the firmware. I then went through the setup again and opted not to use LVM. This time the setup went well and I was able to boot into a functional Debian Etch install. I will spare you the intricate details of how to execute the Debian install, as there are some really good tutorials available online.
You could even listen to the NSLU2 episode of Linux Reality (aka Defunct Chess Griffin Show).

  • Promise NS4300N - Inexpensive NAS
  • Hardware gone bad
  • Importance of Loopback Device
  • Foray into Backports
  • Monthly Archives


    OpenID accepted here Learn more about OpenID
    Powered by Movable Type 4.25

    About this Entry

    This page contains a single entry by AG published on April 18, 2008 7:13 PM.

    Why Stroke everyone with same brush? was the previous entry in this blog.

    links for 2008-04-22 is the next entry in this blog.

    Find recent content on the main index or look in the archives to find all content.