Unslung on my NSLU2

  • linux • ftp • sharing • http • nslu2 • personal • selinux • flash • firmware • it • nas • hdd • samba • english • hacking • debian • unslung
  • 357 words

Linksys (Cisco) NSLU2 Motivated by my friend KM here (sorry, Italian link), I decided to buy a Linksys NSLU2, a Micro-[en:NAS] based on [en:Linux]. Linksys (owned by Cisco) released since day one the source code of the tuned Linux Kernel, instantly allowing the Open Source community to hack this device in a million of ways.

My requirements are very simple: I need to share something like 6 external HD using either Samba or FTP+HTTP.

I first tried to use the “out-of-the-box” NSLU2 with the latest firmware, but it’s unable to manage more than 2 disks (on an HUB, it just see the first HDD attached). I then decided to use Debian/NSLU2, a very rich distribution for [en:ARM] that is just amazing. The only problem? It seems too much for an hardware like NSLU2, plus, after a normal apt-get dist-upgrade something related with [en:SELinux] and vsftpd happened and I didn’t managed to put it all back to work. I should have disabled selinux passing the parameter selinux = 0 to the Kernel at boot time but… there is no “easily modifiable” [en:Bootloader] to pass parameters to the kernel at boot time (at least, as far as I know). I suppose that I should modify the kernel, recompile and then re-flash it. Too much for something I want to finish in max 2 days. And the NSLU2 is slow. Very slow. It took something like 12 hours to make the full installation of Debian and flash re-flash the firmware. Besides, for what I need to do, it’s not worth it to do all this.

So, what I decided was to use Unslung: a modified version of the plain Linksys kernel with some features, a package manager (rich of a lot of very interesting software optimized for the NSLU2) and that works as a Superset of the original features of the Device. Just plug disks in it and they are available on the Network. I can control the [en:ACL] through web interface, but it looks “impossible” to give an arbitrary name to the shared disks. But that’s enough.

I’ll update if I change my mind or if this solutions lasts for longer. ;)