Troubleshooting Debian on Linksys NSLU2

The Linksys NSLU2 is no longer supported by Debian.
A NSLU2 from the front

This page describes common problems that users of Debian on the Linksys NSLU2 have run into. If you have any problems with your NSLU2, either while trying to install Debian or when running Debian, please look through this page carefully to see whether you can find a solution. If your problem is not covered here, feel free to contact the debian-arm list for help.


Debian doesn't boot after manually unpacking the tar ball

There can be a lot of reasons for that. The manual installation method involves a lot of different steps, so there's a lot of potential to get something wrong that will cause your NSLU2 not to boot. Please take a close look at the installation steps again and make sure you followed everything correctly. For example, if you used a non-standard disk layout, did you update /etc/fstab accordingly?

Debian no longer boots after connecting a second disk

Some users connect a second disk or USB stick to their NSLU2 and find that the machine no longer boots. The reason for this is that Debian lenny uses names like /dev/sda1 to refer to your disk but there is no guarantee for device ordering with USB devices. This means that when you connect a second drive, your sda device might (or might not) become sdb, causing Debian to fail to boot because it's trying to access the wrong drive.

The solution for this problem is to disconnect the second drive, boot into Debian and convert /etc/fstab to use UUID (a unique ID for each partition), as explained on the tips and tricks page.

I get strange errors from my USB disk

Some users have reported strange errors with their USB disk, such as data corruption and disk errors displayed in dmesg. In some cases, the disks were simply broken or dying. However, in some cases the problem was related to lack of power. There's only so much power on the USB port, so you might have to use a separate power supply for your disk.

My NSLU2 no longer boots

There can be many reasons why a NSLU2 no longer boots, ranging from a broken disk, to a bad upgrade or configuration. Unfortunately, it's often impossible to say what the problem is without the use of a serial console. The best solution is to connect a serial console to see what the problem is but not everyone can do that.

Something you should try is to connect your USB drive to another PC and to check the log files:

sudo mount /dev/sda2 /mnt

Now you can look at the files in /mnt/var/log, in particular at the file syslog. If this file doesn't contain any information about the last boot attempt (which is quite likely), you can enable bootlogd which will record early boot messages:

sudo sed -i "s/BOOTLOGD_ENABLE=No/BOOTLOGD_ENABLE=yes/" /mnt/etc/default/bootlogd
sudo umount /mnt

Connect the drive to your NSLU2, boot it, wait a few minutes, then turn it off and connect the drive to your PC again and mount it. Now look at the file /mnt/var/log/boot which might tell you more.

One common cause for boot problems is related to filesystem checks and running fsck over all partitions may help. There are several reasons why this might help:

  • The Linux ext3 filesystem has to be checked periodically. Even though Debian has been configured not to prompt the user during the filesystem check, it might still do so in case of serious errors. Without a serial console, this prompt means that your NSLU2 will hang waiting for user input.
  • Some users have reported that the NSLU2 doesn't have enough RAM to perform a filesystem check on large disks (i.e. 200 GB or more).

Turn your NSLU2 off, connect the disk to another machine running Linux and run fsck over all partitions containing data. On a normal Debian installation, this includes sda1 (/boot), sda2 (/) and sda6 (/home):

sudo fsck /dev/sda1
sudo fsck /dev/sda2
sudo fsck /dev/sda6

If this doesn't help, there's one more thing you can try: remove the RTC battery and boot again. There have been various reports that the clock on the NSLU2 can get "stuck" and removing the battery helps.

If none of this helps, I'm afraid you probably have to connect a serial console or perform a new installation.