Monday, September 5, 2011

Install Optware on Seagate Home NAS

The Seagate GoFlex Home product line is a serial of network attached storage (NAS) devices made by Seagate for home computer network storage and backup.  As reported, it essentially is a plug computer powered by a 1.2GHz Marvell Kirkwood ARM processor 88F6281 (ARMv5te based) teamed up with 128MB of Nanya RAM and 256MB of flash memory. My Seagate GoFlex Home NAS 2TB comes with a 2TB storage space, a gigbit ethernet port and an USB 2.0 port. Inside the storage enclosure is a 3.5-inch hard disk reported to be a Seagate Barracuda ST32000542AS. The ethernet port is reported to be driven by a Marvell 88E116R LAN controller.
Figure 1. Seagate GoFlex Home Network Storage System

Before installing Optware packages on a Seagate Plug, you need decide whether you should install them on the onboard flash memory or an external storage, such as the attached NAS or an attached USB thumb drive. In my case, I chose to straightly install the packages on the NAS and mount the installation subdirectory under the root "/". Whichever way you will choose, here are some considerations.
  1. Try to conserve the limited resource on the onboard flash memory. 
  2. The external USB thumb drive should be ext2 or ext3 formatted.
The key package ipkg-opt to be installed can be download from NSLU2 repository. You can either wget it directly onto your Seagate Plug or download separatedly and upload to your installation drive.
Here are the lines for achieving this.
  • mkdir  /opt
  • cd  /home/YourUserName/GoFlex\ Home\ Personal/ 
  • mkdir opt 
  • mount  --bind /home/YourUserName/GoFlex\ Home\ Personal/   /opt
  • mount
The package is packed with gz compression so the next step is to unpacked it.
  • tar  xvzf  ipkg-opt_0.99.163-10_arm.ipk
  • tar  xvzf  data.tar.gz
  • ls  /opt/etc/ipkg.conf
If everything went well, you will end up with debian-binary, control.tar.gz and data.tar.gz from the first unpacking. Additional subdirectories, such as bin, etc, share, and lib, from the second unpacking. After the installation, it is time to do some additional configuration and tests.
  • echo  'src seagateplug-stable http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/stable' >> ipkg.conf
  • echo  'src seagateplug-unstable http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable' >> ipkg.conf
  • /opt/bin/ipkg  update
Finally to make sure the package you installed works properly, you need make the following configurations.
  • ls  /etc/init.d/rcS
  • cp  rcS rcS.old
  • vi  /etc/init.d/rcS
    • insert either "mount  --bind /home/YourUserName/GoFlex\ Home\ Personal/  /opt" right before the line that says hostname
    • exit the editor.
  • vi  /etc/profile
    • on the first line, type in "#!/bin/bash".
    • on the second line, type in "export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/opt/bin:/opt/sbin". 
    • exit the editor.
  • vi  /root/.bash_profile
    • on the first line, type in "#!/bin/bash".
    • on the second line, type in "export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/opt/bin:/opt/sbin".
    • on the third line, type in "mount  --bin /home/YourUserName/GoFlex\ Home\ Personal/  /opt" 
    • exit the editor.
  • ipkg  update