NSLU2-Linux
view · edit · print · history

MSSII is Maxtor Shared Storage II, a NAS device includes one or two SATA hard disk, with two USB ports and gigabit ethernet. Comes in 320GB, 500GB, 1TB and 2TB models.


openmss forum nas-central forums

Board pix

Other wiki pages

# uname -a
Linux MSS-03A961.local 2.6.12.6-arm1 #1 Tue Aug 22 15:55:07 PDT 2006 armv5tejl GNU/Linux
 # cat /proc/cpuinfo
Processor       : ARM926EJ-Sid(wb) rev 0 (v5l)
BogoMIPS        : 332.59
Features        : swp half thumb fastmult edsp java 
CPU implementer : 0x41
CPU architecture: 5TEJ
CPU variant     : 0x0
CPU part        : 0x926
CPU revision    : 0
Cache type      : write-back
Cache clean     : cp15 c7 ops
Cache lockdown  : format C
Cache format    : Harvard
I size          : 32768
I assoc         : 1
I line length   : 32
I sets          : 1024
D size          : 32768
D assoc         : 1
D line length   : 32
D sets          : 1024

Hardware        : MV-88fxx81
Revision        : 0000
Serial          : 0000000000000000

Bootlog

320GB and 500GB MSSII has 32MB RAM, 1TB MSSII has 64MB.

LED codes



Self extracting optware bootstrap script on mssii, first get root shell access with one of the modified image.

# mkdir -p /share/tmp; cd /share/tmp
# wget http://ipkg.nslu2-linux.org/feeds/optware/mssii/cross/stable/mssii-bootstrap_1.0-10_arm.xsh
# sh mssii-bootstrap_1.0-10_arm.xsh

At time of writing, 1.0-10 is the latest, to automatically figure out and use the latest bootstrap.xsh, you can also do the following instead of the above (use copy 'n paste):

# mkdir -p /share/tmp; cd /share/tmp
# FEED=http://ipkg.nslu2-linux.org/feeds/optware/mssii/cross/stable
# XSH=`wget -q -O- "$FEED/?C=M;O=D" | grep mssii-bootstrap | head -n 1 | sed 's/.*href="//; s/".*//'`
# wget $FEED/$XSH
# sh $XSH

Now you can start using ipkg

# ipkg update
# ipkg list | grep search_term
# ipkg install <foo> <bar>

If the software you like is not packaged as optware ipk yet, you can either try to add it yourself (see below), or add your request at PackageWishList.

The Buffalo LinkStation Pro/Live and TeraStation Pro/Live with stock firmware can also use this feed. A lspro-bootstrap.xsh and teraprov2-bootstrap.xsh are now in the feed. Looks like QNAP 109/209 can also use this feed.


To build optware ipkg for it, on your build machine, first follow Optware.AddAPackageToOptware for svn checkout, then simply

cd optware
make cs05q3armel-target
cd cs05q3armel
make directories toolchain ipkg-utils
make <foo>-ipk
make <bar>-dirclean <bar>-check

FOR KERNEL IMAGE AND MODULES ONLY:
If you want to build kernel images or modules, use the mssii platform instead of the cs05q3armel. 
i.e:
cd optware
make mssii-target
cd mssii

and the rest is the same as above.


Recent addition of a native toolchain gcc 4.1.1 recipe in optware needs alpha testers. http://tech.groups.yahoo.com/group/nslu2-linux/message/21701


If you have a NAS device with Marvell Orion chipset, runs in ARM little endian mode, and dmesg line shows CodeSourcery ARM 2005q3-2, like the following

Linux version 2.6.12.6-arm1 (root@bigcent) (gcc version 3.4.4 (release) (CodeSourcery ARM 2005q3-2))

It is very likely the NAS device can also use this MSSII feed. If there is no xsh bootstrap script in the feed for your device, you can try the manual bootstrap instructions below

# test -e /opt && mv /opt /opt.bak
# mkdir -p /big-disk/opt && ln -sf /big-disk/opt /opt
# wget http://ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/unstable/ipkg-opt_0.99.163-10_arm.ipk
# tar -xOvzf ipkg-opt_*_arm.ipk ./data.tar.gz | tar -C / -xzvf -
# mkdir -p /opt/etc/ipkg
# echo "src armel http://ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/stable" > /opt/etc/ipkg/armel-feed.conf
# /opt/bin/ipkg update
# /opt/bin/ipkg install <pkg_foo> <pkg_bar> ...

It has been confirmed QNap ts109/209, Freecom DataTank work with the cs05q3armel feed.

See List of Marvell Orion devices


chroot debian etch


Tips:

  • Need to add /opt/bin/bash to /etc/shells if you keep using firmware dropbear and want to use /opt/bin/bash as your login shell. I would recommend to use utelnetd before optware bootstrapping, *not* use firmware dropbear at all, install optware openssh after optware bootstrapping. This also avoids the problem of changing host key. There's also report that running dropbear interferes with optware ipkg.
  • If programs are not able to read from /dev/tty, e.g. more or less not taking key press, it's because /dev/tty is symlinked to /dev/ttyS0. Do the following,
# cd /dev
# rm -f tty
# mknod tty c 5 0
# chmod go+w tty
The above will also get rid of the "can't access tty: job control turned off" problem of busybox, now man, more or less should work as expected.
Unfortunately, after a reboot, /dev/tty is symlinked to /dev/ttyS0 again. Do the following to permanently fix
# cp /etc/udev/rules.d/50-udev.rules /etc/udev/rules.d/50-udev.rules.orig
# sed -i -e '/ttyS0.*SYMLINK="tty"/d; /console.*MODE="0622"/aKERNEL=="tty",     NAME="%k", MODE="0666"' /etc/udev/rules.d/50-udev.rules
  • To enable optware openssh, I keep a copy of /etc/passwd at /share with /opt/bin/bash as login shell. MSS II always regenerate passwd on every boot, the last few lines of my /etc/init.d/rcS:
# comment out rc.mod, use optware openssh instead of dropbear
# sh /etc/init.d/rc.mod

[ -e /share/passwd ] && cp /share/passwd /etc/
[ -e /share/group ] && cp /share/group /etc/

# Optware setup
[ -x /etc/init.d/rc.optware ] && /etc/init.d/rc.optware start

exit 0
  • To have a correct local time (with US/Pacific as example below)
# ipkg install tz
# cp /opt/share/zoneinfo/America/Los_Angeles /etc/localtime
view · edit · print · history · Last edited by BrianZhou.
Based on work by BrianZhou, Daniel AJ, zouzou, flox, mindbender, Nikolet, and rwhitby.
Originally by rwhitby.
Page last modified on March 24, 2009, at 04:45 AM