NSLU2-Linux
view · edit · print · history

The Unslung firmware contains the following changes from the stock Linksys firmware:

Unslung 6.x changes from Unslung 5.x

The list of changes described herein reflect the changes as of Unslung 6.8-beta.

Unslung 6.x is based on the Linksys 2.3R63 source code. As the huge leap in Linksys release numbers would suggest, a lot changed in the base Linksys firmware, and as such Unslung 6.x has some significant new features, along with potentially significant changes in disk handling that may affect those upgrading or existing packages. For a little more information on the way the 2.3R63 firmware handles disks and ports, see Unslung.R63DiskBehaviour. Upgrading Unslung users should take care to read the README and search the wiki for details as the new release may require that the devices on the ports be swapped during the upgrade process. New users should be careful when reviewing information on the wiki related to the NSLU2 USB ports and the disk drives, as some of the information may not be pertinent with the Unslung 6.x release.

Changes in Unslung 6.x include:

  1. New features available with the new firmware provide:
    1. Support for NTFS volumes
    2. Limited support for mult-LUN card readers and storage devices
    3. Limited support for USB hubs on USB Port 1 on the NSLU2
    4. Upgrade the built-in Samba to the 3.0 release
  2. Usability changes:
    1. "Unslung" status (i.e. Unslung to disk, or running from internal flash) is now displayed on the home page in the Web GUI, as well as displayed at login.
    2. Using "ipkg" when running from internal flash now displays a helpful message indicating why ipkg won't run.
    3. The unsling script now contains a number of sanity checks, and prints (hopefully) helpful error messages if the system will be unlikely to unsling correctly.
    4. The unsling script now prompts for a new root password, and sets the password for both booting with as well as without drives attached. (A new argument "-nopw" can be given to unsling to have it skip prompting for and setting the root password.)
    5. The "Enable Telnet" web gui page can now be reached from the home page in the Linksys Web GUI.
    6. The new Unslung logo is now featured in the Web GUI.
  3. The special handling for unslinging to flash devices Ext3flash now works for both USB Port 1 and 2.
  4. The utmp and wtmp files are now created by unsling, and will be "emptied" at each boot. Additionally, the .pid files in /var/run and /var/log are cleaned out at boot; this avoids a number of strange and difficult-to-reproduce problems.
  5. Additional kernel modules provided:
    • loop.o
    • isofs.o
    • keyspan.o
    • netconsole.o
  6. Sundry bugfixes.

Unslung 5.x changes from Unslung 4.x

  1. Updated to the Linksys 2.3R29 source. However, we did not include their Genesys patch (as it is inferior to our existing Genesys patch).
  2. Removed the ipkg symlink, and changed unsling to add it back in on an external rootfs.
  3. Removed maintenance mode completely. Made RedBoot Upgrade Mode the only supported firmware upgrade mechanism.
  4. Removed the undocumented unsling option of having the rootfs on jffs2 and packages on an external disk. This also means that /mnt/sda1, /mnt/sda2, /mnt/sdb1 and /mnt/sdb2 no longer exist. Diversion scripts are only executed from /unslung on the real rootfs.
  5. Disabled the Linksys /usr/sbin/download process. It's insecure, and won't work properly with Unslung firmware anyway. Use the new RedBoot Upgrade Mode instead.
  6. Disabled the generation of the "ourtelnetrescue" user. It's insecure, and isn't used for anything as far as we know.
  7. Added a disk auto-wait countdown in /linuxrc which waits up to 20 seconds for your USB disk to be recognised.

Unslung 4.x changes from Unslung 3.x

  1. Enabled /proc/bus/usb, to support communication with other kinds of USB devices via new drivers loaded as kernel modules or user-space programs that communicate with the device from user space via entries in /proc/bus/usb.
  2. Disabled support for multiple LUNs. The standard Linksys firmware only allows one drive per port. Any enclosures with multiple LUNs, such as X'S Drive II, end up appearing with only the last LUN attached. This is because as each LUN is found, the previous LUN attached by that device is dettached and the new one attached in it's place. The Unslung firmware will not iterate through all the LUNs, instead it will only attach the first one. This behaviour is prefered, because by convention the main function of a device appears at the first LUN. In the case of the X'S Drive II, the HDD will be attached, instead of the usually empty memory stick slot.
  3. Changed the kernel command line arguments to run a special /linuxrc script which determines the desired root filesystem location (jffs2, disk1, disk2, nfs, etc) and loads the root filesystem from that location.

Unslung 3.x and earlier changes

  1. Changed the size constant in the Linksys modifications to the USB SCSI scan routines such that the "Flash Detection" threshold is 1GB instead of 10GB. This was done to enable the use of Cornice devices as hard drives instead of flash.
  2. Changed the kernel USB detection routines so that when a flash disk is plugged into Disk1, a /proc/hd_conn file is created instead of a /proc/usb_conn file. This fools the Linksys applications into expecting ext3 partitions on that disk (just like a hard disk). Note that your flash disk needs to be 256MB or larger for this to work properly.
  3. Changed the root password to "uNSLUng".
  4. Added /sbin/unsling, a script to copy the root filesystem from jffs2 to the new location of / (/share/hdd/data or /share/flash/data).
  5. Added /bin/slingbox (and a number of symbolic links to that executable in /bin and /sbin) to provide the utilities required for the unsling and flashfs scripts. It also provides an upgraded version of /bin/tar which supports gzipped archives.
  6. Modified lines in each of the rc scripts to check for the presence of a diversion scripts in /unslung.
  7. Added /etc/rc.d/rc.unslung-start and /etc/rc.d/rc.unslung-stop scripts to run init files in the /opt/init.d directory (this is where Unslung packages place their startup and shutdown scripts).
  8. Added /usr/bin/ipkg, /etc/ipkg.conf, and /usr/bin/wget to support the download of installable packages.
  9. Added /sbin/flashfs to support copying modified files to/from a flash key on Disk 2. This makes it much easier to wipe an Unslung disk, and then reinstall all your local modifications.
view · edit · print · history · Last edited by mwester.
Based on work by blaster8, mwester, and rwhitby.
Originally by rwhitby.
Page last modified on April 13, 2006, at 12:42 AM