Unslung-6.x Family Release README INSTALLATION

You must follow the steps in this README *exactly*.  Do not skip any steps, and
do not skip ahead thinking you know what you are doing and that therefore you
don't need to follow instructions step by step.

If at any time you have any questions concerning the installation or operation
of Unslung firmware, your first port of call should be the NSLU2-Linux wiki at:

     http://www.nslu2-linux.org

If you are looking for further Unslung notes - including ipkg usage, diversion
script details, or ChangeLog information, please consult the associated Unslung
NOTES file.

-------------------------------------------------------------------------------

There are three parts to completing the installation of the Unslung firmware:

     1 - PRE-INSTALLATION CONSIDERATIONS
     2 - FIRMWARE INSTALLATION DETAILS
     3 - UNSLINGING DETAILS


PRE-INSTALLATION CONSIDERATIONS

1) You *must* test telnet Redboot access first before you flash the Unslung
     firmware.  Failure to do so will mean you get no sympathy at all if you
     can't access Redboot when you need to recover from a bad flash.  See

     http://www.nslu2-linux.org/wiki/HowTo/TelnetIntoRedBoot

     - Redboot is the bootloader that runs when the device is first started,
          loading things into memory and starting Linux.  By testing your
          ability to telnet into Redboot, you are ensuring that if you injure
          your NSLU2 with a bad flash you should be able to follow the "How
          To Recover From A Bad Flash" instructions at

          http://www.nslu2-linux.org/wiki/HowTo/RecoverFromABadFlash

2) If you want to install any packages, then you must have an external USB
     disk drive or an external USB flash disk. It is possible to make changes
     to the root filesystem in the internal flash storage, but the space is
     very limited.  In fact, just running the "ipkg update" operation on an
     NSLU2 which does not have an external storage device of some sort attached
     will most likely render the NSLU2 unusable due to filling up its internal
     flash memory (if this happens then you will need to follow the recovery
     instructions in the previous step.)  So unless you are an expert, use
     an external storage device.  The remainder of these instructions assume
     that you have a suitable external disk or flash disk that you will be
     using for this purpose.

     A few words on selecting which port to use:

     Completely contrary to previous versions of Unslung, the preferred port
     for the Unslung external disk as of Unslung 6.x is often port 2.  This
     will free up the far-more-flexible port number 1 for other uses.

     However, this "feature" (part of the Linksys R63 firmware) may cause some
     small consternation for users upgrading from earlier versions of Unslung.
     But in general, swapping the drives between the two ports  will likely be
     the least painful solution.  The basic challenge faced by upgraders is
     that *something* must change: if the drive remains in port 1, then it will
     remain mounted at "/share/hdd/..." but the drive nomenclature will change
     from "/dev/sda" to "/dev/sdb".  On the other hand, if the drive is moved
     to port 2, then it will remain "/dev/sda" but it will then be mounted at
     "/share/flash/...".  What difference this might make depends on each
     individual configuration; check the wiki for possible assistance for your
     particular configuration.

     For new users, the following guidelines can help:
       - if you have only a single drive that will be formatted by the NSLU2,
         use port 2.
       - if you have a single drive that will be formatted by the NSLU2, and
         all other drives or flash devices will be either FAT or NTFS, use
         port 2.
       - if you have two drives, and both will be formatted by the NSLU2, then
         unsling to the drive in port 1.

     If you unsling to port 2, and later add a drive in port 1 that will
     be formatted by the NSLU2, it will work as expected -- however, the
     drive to be added MUST be formatted by the unslung NSLU2 in question,
     and once formatted, the drive must NOT be removed.  (The Linksys code
     will move it's "conf" datafiles to the drive in port 1 during the
     format operation, and thus will become dependent upon the presence of
     both drives for proper operation.)

3) The external disk that you use as the target for package installation must
     be (or have previously been) formatted by the NSLU2.

     Since this point qualifies as a "frequently asked question", it is
     worth some clarification here.  It is only possible to unsling to
     a disk that has been formatted by the NSLU2 - you cannot unsling to a
     FAT or NTFS disk.  In fact, it is not sufficient to format the disk
     using another UNIX system -- in order to be recognized as a "Formatted
     (ext3)" disk by the NSLU2, and hence be suitable for unslinging, the
     disk must be specifically partitioned, formatted, and the partitions
     must contain a specific set of configuration files created by the
     NSLU2.  So the simple rule is that if the NSLU2 web interface "Disk"
     page does not list the disk as "Formatted (ext3)", you will be unable
     to unsling to that disk.

     For upgrading users, it is possible to upgrade from all previous Unslung
     versions without reformatting your disk -- but not necessarily recommended.
     See the wiki article for recommended upgrade strategies:

     http://www.nslu2-linux.org/wiki/Unslung/UpgradingToUnslung6

     The unsling script will not touch anything in /unslung or /opt on your
     disk, so make sure all your file modifications are in those directories,
     as you were warned in the README file in all previous Unslung versions :-)

4) If you want to use a flash disk as the target for package installation,
     ensure that it is at least 256MB, and formatted as above via the
     Linksys web interface.

5) Please verify that any disks you are going to connect to the NSLU2 are
     recognized and working properly *before* updating your firmware (including
     any shares and data you had previously stored.)  If not, DO NOT CONTINUE.
     You may want to check out "How To Troubleshoot A Drive Missing Condition"
     at:

     http://www.nslu2-linux.org/wiki/HowTo/TroubleshootADriveMissingCondition

     - The only exception to this, of course, are those enclosures that the
          stock firmware does not support, but the Unslung firmware does
          support.

6) If you are upgrading your firmware, you should make a configuration backup
     via the Linksys web interface.  The configuration backup can be found
     under "Administration", "Advanced", and then "Backup."  The top section of
     that webpage is titled "Config Backup" and "Download" should be used to
     save your NSLU2 Users, Groups and Shares setup to a disk file.


FIRMWARE INSTALLATION DETAILS

1) Shutdown the NSLU2, and remove any disks that you may have plugged into the
     NSLU2.  Power back up the NSLU2.

     - Firmware upgrades must always be performed with *no* hard disks or flash
          disks attached.  This CANNOT be emphasized enough.  Are you sure you
          unplugged the disks before powering up?  If so, you may continue.

2) Access the Web interface.  Note that you should use the username "admin" and
     password "admin" for the web interface at this point (as no disks are
     attached, the default username and password is the only way to access the 
     Management web pages).

     2-a) If you are installing Unslung 6.x onto an NSLU2 unit with Linksys
          standard firmware already installed, flash unslung-6.x.bin as you
          normally would flash new firmware (using the web interface
          "Upgrade Firmware" page).  See your NSLU2 user manual for details
          if you don't know how to do this.

          - During firmware flashing, the top LED - Ready/Status - flashes
            red and green (approximately 5 minutes, but can be much longer).  

          - The NSLU2 will reboot after the flashing is complete.

     2-b) If you are installing Unslung 6.x onto an NSLU2 unit with an
	  existing version of nslu2-linux.org firmware already installed,
          you must first put the NSLU2 into RedBoot Upgrade Mode.

          - The NSLU2 should still be powered off at this point.  If not,
            shut it down again before proceeding.

          - Using a paper clip, push and hold in the reset button which is
            located on the back of the NSLU2 near the power socket.

          - While holding in the reset button, press and release the power
            button.

          - Watch the Ready/Status LED, and as soon as it turns red quickly
            release the reset button.

          - You should now be in upgrade mode which is indicated by the
            Ready/Status LED alternating between red and green. 

          - Use either the Linux UpSlug2 tool or the Windows SerComm Upgrade
            tool to upload the new firmware - you can find download links at
	    http://www.nslu2-linux.org/wiki/HowTo/InstallUnslungFirmware

          - During firmware flashing, the top LED - Ready/Status - flashes
            red and green (approximately 5 minutes, but can be much longer).  

          - The NSLU2 will reboot after the flashing is complete.

3) Shutdown the NSLU2 (again), attach disk(s), and power it back up.

4) Verify your NSLU2 is working normally again at this point in the web
     interface.  In  particular, you should ensure that all your disks are still
     recognized as they were before you updated the firmware (including any
     shares and data you had previously stored.)  If not, DO NOT CONTINUE.
     You may want to check out "How To Troubleshoot A Drive Missing Condition"
     at:

     http://www.nslu2-linux.org/wiki/HowTo/TroubleshootADriveMissingCondition

     - If you are not "unslinging", you can stop at this point.  *HOWEVER!*,   
          the only reason for not unslinging would be in the case of a re-flash
          of the SAME firmware.  Even if this is a point firmware upgrade, you
          will need to unsling.

     ***** If you do not choose to do the unslinging procedure described below,
          DO NOT install packages unless you are SURE you know what you are
          doing!  "Bricking" your NSLU2 by not unslinging and then running ipkg
          is not just a possibility, it is a certainty.

5) Shutdown the NSLU2 and unplug *ALL* attached disks.

     - You must NOT have any disk plugged into the NSLU2 when you reboot to
          perform the next part of installation - the "Unslinging".


'UNSLINGING' DETAILS

"Unslinging" is the process of copying the root filesystem of your NSLU2 onto
an external disk, and configuring that external disk for installation of
packages. Basically it's a script (stored in /sbin/unsling) which copies all
the files from the internal jffs2 filesystem onto the external disk and tells
the internal firmware to load the root filesystem from the external disk when
booting in the future.

To run the unsling-script you have to be logged in as root (with a telnet
session).

NOTE:  There are two root passwords.  One is saved in an internal database file
called /usr/local/passwd (we know this one - it's "uNSLUng" and used when you
boot without a attached harddisk) the other is stored in an external file called
/share/hdd/conf/passwd (we don't know this one - it's used when you boot with a
external harddisk attached).  Later in the process you can change both of
them. That means:  Everytime you boot WITHOUT an attached harddisk you gain
root-access with the "uNSLUng" password.  If you boot WITH an attached harddisk,
you won't have access until you change the file /share/hdd/conf/passwd.

NOTE about the NOTE: New in Unslung 6.x is that by default the "unsling"
script will prompt for a new password.  This new password will become the
new password used whenever the NSLU2 is booted without it's disk (replacing
the "uNSLUng" password), and it will also be the new root password used when
the NSLU2 boots up with it's disk.  If you are upgrading, or wish to preserve
your passwords just the way they are, use the "-nopw" option with the unsling
script.

1) Power up the NSLU2 without any disks connected.

     - This only has to be done when you update the firmware.

     ***** To reiterate, you should not have a disk plugged in at this stage.
          If you powered up your NSLU2 with a disk attached, shutdown the
          NSLU2, unplug the disks, and power up again.

2) Enable telnet by going to the NSLU2's web interface and clicking on the
     "Manage Telnet" link (right-hand side), then on the "Enable/Disable
     NSLU2 telnet Service" page, click on the "Enable" button to turn on
     the telnet service.

     (You can browse directly to the enable/disable telnet page in your
     browser: "http://192.168.1.77/Management/telnet.cgi".)

     - Note that you should use the username "admin" and password "admin" for
          the web interface at this point (as no disks are attached, the
          default username and password is the only way to access the
          Management web pages).

     - Make sure you have **** NO DISKS ATTACHED AT THIS TIME ****

     - If you plug a disk in before you complete the telnet connection, then
          the NSLU2 will pick up the Linksys password from the disk, and you
          will not be able to telnet into it.  So don't have any disks attached
          at this point.

     - Make sure you have **** NO DISKS ATTACHED AT THIS TIME ****

3) OK, now that you don't have any disks attached, you can proceed and telnet
     into the NSLU2 using the username root and password uNSLUng.

4) Identify which drive you wish you "unsling", and plug it in.  Wait a minute
     or two while the disk is mounted.  Check the web interface to make sure
     that the disk has been recognized by the Linksys software.

     - If the disk has not been previously formatted on the NSLU2, then now is
          the time to do that.  Make sure that the drive is recognized in the
          web interface.

     Be patient - it might take several minutes for the NSLU2 to recognize
     the hardware, mount the partitions, and verify that the drive is correctly
     configured to be considered "Formatted".  Do not continue if the drive
     is not marked as "Formatted (ext3)" in the NSLU2 web interface.

5) In the telnet session, run "/sbin/unsling disk2".
     (If you've decided to unsling to a device connected to port 1, you'll run
     "/sbin/unsling disk1", of course.)

     - Once you "unsling" to an external disk on a particular port (Disk 1 or
          Disk 2), it is important that you keep that disk continually plugged
          into that same port whenever the NSLU2 is turned on.

     ***** By default, unsling WILL prompt you for a new root password, and it
          will change the password on your disk as well.  If this is NOT what
          you wish it to do, use the "-nopw" flag with the "unsling" command:
          "/sbin/unsling -nopw disk2" for example.
         
          For more information on changing passwords and all the places where
          the NSLU2 stores passwords, please see the following wiki article:

     http://www.nslu2-linux.org/wiki/HowTo/ChangePasswordsFromTheCommandLine

6) (For those upgrading from Unslung 3.x only)
     If you wish to migrate your packages from the old Unslung 3.x location in
     the /share/hdd/conf (disk1) or /share/flash/conf (disk2) partitions to the
     new Unslung 4.x, 5.x and 6.x location on the data partition, then run:  
     "/sbin/slingover disk1" (if your packages were previously on disk1 and you
     ran "/sbin/unsling disk1" in step 5) or "/sbin/slingover disk2" (if your
     packages were previously on disk2 and you ran "/sbin/unsling disk2" in
     step 5).

     - If your packages were not stored in /share/hdd/conf or /share/flash/conf
          (e.g. you had previously moved your packages from the conf partition
          to the data partition), then all bets are off and you will need to
          read the /sbin/slingover script and perform the appropriate steps
          manually.

7) Reboot.

     ***** DO NOT RUN ipkg BEFORE YOU REBOOT AND CONFIRM EXTERNAL ROOTFS *****

     - If you were to run ipkg when the root filesystem is loaded from the
          internal jffs2 filesystem, then you would fill the flash and cause
          your NSLU2 to no longer boot and require reflashing to recover.

8) Confirm that your NSLU2 is unslung:

     You can verify that your NSLU2 is unslung by checking the NSLU2 web admin
     GUI - you are unslung if the text at the bottom reads something like:
     "uNSLUng status: Unslung to disk2, /dev/sda1"

     Also, when you login to the NSLU2, the login message printed will clearly
     indicate if you are unslung, or if something went awry and you are still
     running on the internal flash.

     If your NSLU2 does not indicate that it is Unslung, rather it says that it
     is running from internal flash, then the first thing to check is:
         - Did you miss step 7 above (reboot)?

9) Verify that you can log into the NSLU2 by going to the web GUI "Manage Telnet"
     page, enable the telnet service, then telnet in as the root user, with the
     password you entered when you performed the "unsling" operation.

Make sure you add an entry to the "The Unslung 6.x" table in the Yahoo group.
Just use the next free integer for your Unslung number.

http://groups.yahoo.com/group/nslu2-linux/database?method=reportRows&tbl=12


If you make no further changes, your NSLU2 will continue to operate normally.
But to customize things, you'll be downloading packages and adding stuff to the
/unslung directory using diversion scripts.

http://www.nslu2-linux.org/wiki/Unslung/Packages
http://www.nslu2-linux.org/wiki/Unslung/DiversionScripts

(One of the first packages you should consider installing is the OpenSSH
package, which will provide you a secure and more usable replacement for the
standard telnet service on the NSLU2.)

Read the NOTES file (normally in /opt/doc/NOTES on your unslung NSLU2) to expand
the capabilities of your Unslung NSLU2!

Enjoy!
