Please check out the article flash.layout. It contains an example and a couple of explanations.
The NSLU2 at one point had an active user community around it at http://www.nslu2-linux.org. It was based upon Debian. Debian has since discontinued support for the NSLU2 in Debian 9 (Stretch) in June 2017. The developers at NSLU2Linux used to “bless” OpenWrt as the firmware of choice for people who want to run all their applications from the internal flash memory only (i.e. with no external storage at all). At one point there were several distributions available for the NSLU2; most contrast OpenWrt's minimalist philosophy. OpenWrt is for people who would rather spend their time adding the wanted features than deleting unwanted ones. As of writing (2019) OpenWrt is probably the only distribution still actively supporting NSLU2.
Status of the Port
In case of problems, things to look out for are:
The default IP is the one that is set in the NVRAM, so OpenWrt will boot up with the IP it had under the former firmware. This is not the default for other Kamikaze platforms! Note: This is not true for Kamikaze SVN (tested with r8003). Note2: On upslugging the default IP of NSLU2 is 192.168.1.77 (the same as the factory, Unslung and SlugOS behaviour) as of 08-2007. As of 8.09 RC1 the default IP is 192.168.1.1.
Tip for dealing with 8.09 RC1 defaulting to 192.168.1.1 . If your router uses the same IP address, you can use arp to let you connect to the NSLU2. For example, run “arp -s 192.168.1.1 00:04:5a:aa:bb:cc” (using your NSLU2s MAC address) on your client machine. Once you telnet to the NSLU2, edit /etc/config/network to change the IP, and run /sbin/reboot to restart the device, you can reset your arp table by running “arp -d 192.168.1.1”
After initial installation with the squashfs firmware, it can take up to five minutes to initialize the jffs2 payload partition. I would wait at least this time before you reboot it forcefully (although unplugging it while it is initializing didn't harm it in my tests)
The status LED indication differs from openslug. It is always amber for me (whereas openslug turns green after bootup is complete). This might confuse users migrating from openslug.
You can download the image from the OpenWrt 'Kamikaze' 7.06 dir http://downloads.openwrt.org/kamikaze/7.06/ixp4xx-2.6/openwrt-nslu2-2.6-squashfs.bin. Then install the upslug2 utility. Many distributions already include it in their package management. You will find more information on the topic on the excellect NSLU2-Linux wiki http://www.nslu2-linux.org/, specific information on upslug2 is at http://www.nslu2-linux.org/wiki/Main/UpSlug. Then set the NSLU2 into upgrade mode. To do this, make sure the NSLU2 is turned off. Then press the reset button with a paper clip or small screwdriver and keep it pressed. Turn the NSLU2 on. The “Ready/Status” led will be yellow. When it changes to a reddish amber shade, immediately release the reset button. If it flashes an alternating amber and green, you have succeded (if not, unplug and try again). Now upslug2 should find the nslu2 over the LAN and display the information. Install the image with upslug2 -i filename. It will flash and verify the upload and then reboot automatically - this is what I call a comfortable firmware interface :)
The NSLU2 will take a few minutes to initialize the JFFS2 partition, don't reboot if you cannot access it immediately. It will start up using the network parameters that are stored in the NVRAM partition, so it will default to DHCP (I think) if not setup differently. If you have set a fixed IP address under the original firmware or a previous Linux distribution, OpenWrt will retain this. Try telnet and ping to access it. Then follow the standard Kamikaze installation procedures.
After flashing the device was reachable under 192.168.1.1.
Installed OpenWrt 'Backfire' 10.03 on stock NSLU2 without any problems and works great. Added “option gateway xxx.xxx.xxx.xxx” and “option dns xxx.xxx.xxx.xxx” to “option ipaddr xxx.xxx.xxx.xxx”, “option netmask xxx.xxx.xxx.xxx”, and “option proto static” and kept the static setup with actual desired IP address. — OddballHero 2011/01/31 12:57
I installed OpenWrt 'Backfire' 10.03.1-RC on my NSLU2, and it works just fine. — Georg Sorst 2011/01/18 00:18
Installed OpenWrt 'Attitude Adjustment' 12.09, r36088 on my NSLU2. Worked like a charm ! — MascH 2014/01/07 23:37
Installed OpenWrt Barrier Breaker 14.07 on my NSLU2. Works fine ! r0mulux 2014/10/30 20:53
Installed OpenWrt Chaos Calmer 15.05 on my NSLU2. Works OK ! xpact 2016/03/07 08:43
For system that will interact with the other OS, it might be worth it to install samba3 instead of samba-server. Sample smb.conf for samba3 (please modify to fit your security needs and system requirements):
netbios name = OpenWrt
workgroup = WORKGROUP
server string = NSLU2 OpenWrt Samba Server
syslog = 10
encrypt passwords = true
passdb backend = smbpasswd
obey pam restrictions = yes
socket options = TCP_NODELAY
unix charset = ISO-8859-1
preferred master = yes
os level = 20
security = share
guest account = root
invalid users = guest
smb passwd file = /etc/samba/smbpasswd
comment = NSLU2 OpenWRT HD 1
available = yes
browseable = yes
public = yes
writeable = yes
create mask = 0777
path = /mnt/drive1
read only = no
guest ok = yes
Leds and Beeps
Backfire 10.03 has most of the lights turned off (except for Ethernet) so use either the Luci web management (Administration→System→LED Configuration) feature (works quite well) or edit the /etc/config/system. GPIO Connections: http://www.nslu2-linux.org/wiki/Info/GPIOConnections has some information to help with the setup. Sample /etc/config/system entry: