New Optware Installation for Pogoplugs and Dockstars
For new optware installations (Please read all the instructions before attempting to use this guide):
(Or how to be able to install software to your Pogoplug or Dockstar but were afraid to ask. Or how to stop worrying and love the plug using slug.)
(None of the modifications here are advocated by Cloud Engines/pogoplug.com, see the first quote on opening page of web site. Whatever goes with Cisco/Linksys to NSLU2 modifications goes with Cloud Engines/Pogoplug.com to Pogoplug (V1, V2, Biz, Pro, Video, V3(P21), and Series4), also Seagate/Maxtor to Dockstars/GoFlex or any other device that can load Optware. Everything is at your own risk. But they do release their sources.)
**Stock u-boot is not modified by this installation so my.pogoplug.com functionality is preserved.
(Please be aware that you are responsible for any damage to your hardware, software, or files, so use extreme caution when following guides/instructons on this site. NO warranty is explicitly or implicitly provided. It is assumed that you know what you are doing and if not, get assistance from somebody that does, or do not perform the installation.)
The Pogoplug, Dockstars, and other ARM devices based on Pogoplugs natively use Busybox Linux in different versions. Optware is used to add extra packages to supplement the Busybox Linux environment (or others such as ArchLinuxARM, Debian, etc.) and as such targeted for embedded systems with limited storage/memory capabilities. It is not an OS! It is a supplemental package distribution system which employs a package manager, repository, and packages, similar to aptitude (on which it was based on), pacman, and opkg (which was base on ipkg). To install Optware, you need to install ipkg. IPKG is the installer for Optware. This guide will describe how to install ipkg (preferably to an external drive). For the Pro, wget also needs to be installed since it has an limited Busybox version. If you have access to a non-Pro version, you can copy its Busybox in place of the Pro Busysbox to get added functionality.
So why you may ask do I need packages for? Improved connectivity and control is one issue. With Optware, you can install Samba, NFS, or AFP. You can select your own shares (a subdirectory instead of a whole drive if you want), and administer passwords locally. Turn you Plug into a PBX and configure it anyway you want. Whether you want one package or multiple packages, you are in control. Best of all, your resources (drive space and memory) used are proportional to how many package you choose, so just adding a few packages does not consume much drive space unlike a full OS replacement.
BEFORE you start modifying the system and once you get telnet or ssh access - Please verify your version of Busybox by typing at the Plug command line "busybox | more". If it says something like "BusyBox v1.7" on the first line, then follow the standard installation instructions. If it says something like "BusyBox v1.16", then use the Pogoplug Pro installation.
Note: Pogoplug Pro/Video/V3(P21/B0xs/Series4) (basically, models with BusyBox newer than 1.7) has a different setup:
1. Does not have /dev/mtdblock3 so you need usb or sata drive.
2. Does have mke2fs installed. This will allow you to format the usb drive without having to download it from the repository and also mount the drive onto /opt directly. Would suggest to "killall hbwd", "fdisk /dev/sda" (see instructions below) the drive first, then format "mke2fs /dev/sda1", then "mount /dev/sda1 /opt" before installing ipkg.
3. Can use the same version of repository as the other pogoplugs, but in order to use ipkg, need to install a "wget" with more features (built-in wget does not have enough features due to a limited busybox).
4. Uses "sh" instead of "bash".
5. Has internal Sata connector, can use external power supply such as those that come with some usb to sata converters.
6. Due to limited busybox, would be a good idea to install "procps", "coreutils", "bash", "findutils", and "psmisc".
Note: Seagate GoFlex Net:
1. Same as a Dockstar. Has to be activated at the pogoplug website for SSH access.
2. Since Optware installation does not modify boot, can access the sata interfaces directly. They seem to load first in drive order.
3. Able to plug in practically any 2.5" sata drive directly to top interfaces without any problem.
Note: Pogoplug Mobile and Series 4:
1. To access SD card without Pogoplug services, check dmesg. The driver is built into the kernel.
The device is mmcblk0 and the first partition would be on mmcblk0p1.
Partition is mounted as mount /dev/mmcblk0p1 /opt.
2. If the device is not present in /dev, then can create with:
mknod /dev/mmcblk0 b 179 0, mknod /dev/mmcblk0p1 b 179 1, mknod /dev/mmcblk0p2 b 179 2, etc.
Note: See addendum below for QUICK INSTALL.
Detailed installation instructions:
1. Obtain SSH or telnet access. If you have never connected you pogoplug to the internet, you can possibly just use ssh or telnet to you pogoplug if you know the ip number. You can probably get this from a status page on your router. If you have already connected to the internet, then your pogoplug has already been updated and your ssh/telnet access has been blocked, so you need to go to my.pogoplug.com and register your device and turn on ssh. Once you do have access, the username is root and the password for the pogoplug is ceadmin, while the password for the dockstar is stxadmin. With the Pro, you need to go to my.pogoplug.com and turn on ssh and choose a password.
2. You need to access the root partition. The root partition is mounted readonly for protection so we need to issue the command "mount -o rw,remount /" which will remount the root partition as read/write. You can type "mount" to verify.
3. You need to decide whether you will use the onboard flash or use a usb drive (needed on the Pro) to hold you optware/os/packages installation. A usb flash would be desirable to reduce the possibility of wear on the onboard flash. You will have to format the usb flash on a linux computer or use the onboard flash as space to download mke2fs (already on the Pro) to format the usb flash. Either way, you need to make the opt subdirectory under "/", so "cd /" to get into the root tree and "mkdir opt". Then "mount /dev/mtdblock3 /opt" or mount your usb flash (ext2 or ext3 formatted) on /opt so we can have some space to play with. Use "mount" to confirm that mtdblock3 or usb flash is mounted on /opt.
4. Now you need to install ipkg manager (and better "wget" for the Pro). Make sure you are connected to the internet since, We need to get this from the http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/stable/ repository. So still at "/" level, you need to use "wget http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/stable/ipkg-opt_0.99.163-10_arm.ipk" or whatever the current version is in the repository. The package is tar with gz compression so the next step is tar xvzf ipkg-opt_0.99.163-10_arm.ipk or whatever version is current. You will end up with 3 files: debian-binary, control.tar.gz, and data.tar.gz. you can delete debian-binary and control.tar.gz. You need to extract data.tar.gz using "tar xvzf data.tar.gz". If all went well, under /opt you will now have a bin, etc, share, and lib subdirectories. For the Pro we need to repeat the same steps for wget just like ipkg, starting with the command "wget http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/stable/wget_1.12-2_arm.ipk". After you have extracted "wget", you need to replace the original wget by type "cd /usr/bin", "mv wget wget.old", then "ln -s /opt/bin/wget /usr/bin/wget". We need to set up the config file for ipkg so, "cd /opt/etc" and "ls" to see the config file ipkg.conf. You need to either edit this file with vi, or type "echo 'src cross http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/stable' >> ipkg.conf", We need to tell the operating system the location of this file so type "PATH=$PATH:/opt/bin:opt/sbin". Yes, I threw in /opt/sbin, just in case for later.
5. Time to test ipkg setup. Type "ipkg update". If you get an error, check the ipkg.conf file and make sure you placed src cross and the address of the repository. If ipkg works, then you can do "ipkg install nano" to download an easier editor than vi if you need to. You can also type "ipkg install e2fsprogs" so that you can format flash drives.
6. Time to edit the rcS file under "/etc/init.d". First, make a backup by typing "cp rcS rcS.org". Then use vi or nano to edit rcS and insert either "mount /dev/mtdblock3 /opt" right before the line that says hostname or if you used your flash drive, put in the line to mount that such as "mount /dev/sda1 /opt" (use this for the Pro). You also need to place a "profile" in "/etc" which contains the paths you want to export, so "cd /etc", then "vi or nano profile" and type in "#!/bin/bash" on the first line, then on the second "export PATH=/opt/bin:/opt/sbin:/bin:/sbin:/usr/bin:/usr/sbin". Exit the editor. Then type "source /root/.bash_profile" and the "vi or nano /root/.bash_profile" and put in the same export PATH statement, then exit the editor.
At this point, you are pretty much finished if you used the onboard flash (not for the Pro) or pre-formatted USB. All you need to do is install SSH with ipkg if this was an install without registering through my.pogoplug.com (not for the Pro).
If you installed everything so far on the onboard flash and want to transfer to a usb drive, install the e2fsprogs as above.
1. Then make sure that the only usb drive plugged in is where the optware package will reside.
2. Next, we have to turn off the my.pogoplug connection by typing "killall hbwd".
3. Now we will partition the drive with "fdisk /dev/sda". Notice, no "1" after the sda. To get help then type "m". To display the partition table, type "p". We need to delete the partition if it is not ext2/ext3, so type "d" then the partition number, probably "1". We have to create a new partition "n" and make it a primary partition "p". You will the be prompted for a partition number "1", then everything else is the default. If you are fluent enough in Linux, you can also set up some swap space. Type "p" again to print the partition to make sure everything looks correct, then type "w" to write the partition. If you made a mistake, type "q" will exit fdisk and you can start again.
4. Time to format the usb flash, with "mke2fs /dev/sda1" for ext2 (suggested for the Pro) or "mke2fs -j /dev/sda1" for ext3.
5. Now, we can mount the usb drive. Type "mkdir /usb", then "mount /dev/sda1 /usb" (again, assuming you have no other usb flash drives installed). Type "mount" to confirm.
6. At this point, we will transfer the contents of the onboard flash to the usb flash with "cp -PpR /opt/* /usb/" (not needed for the Pro).
7. You can then edit the rcS file to mount the usb drive on /opt instead of mtdblock3.
8. If you think about it, you could have also obtained mke2fs from e2fsprogs the same way ipkg was obtained, and formatted the usb flash before installing ipkg.
Now you are pretty much done although I would probably install ntpd, ntpdate on the Dockstar since it does not have an onboard clock. Again, if you are not using my.pogoplug.com, then you need to install ssh (or at least telnetd if you don't care about security) so you can log back in. When you reboot, you should still have access to my.pogoplug.com and optware. It would be good to change your root password with "passwd" command. Main take home message of this page, to get optware packages, you need to install ipkg (and better wget for the Pro).
Addendum: Quick install files:
In http://tech.groups.yahoo.com/group/nslu2-general/files/Plug%20Files/ you can now download mke2fs to format your usb drive and plug.tar.gz to install Optware into your /opt directory. But you have to create your /opt directory first. It includes ipkg, nano, and wget-ssl. So it has everything you need, even for the Pro. For Linux users, just format the drive as ext2 or ext3 on your Linux machine and install the tar file.
Plug Computer Projects
If you got to this page and you had a previous installation of Openpogo 1.0 (Optware) then all you need to do is change the repository PlugComputers repository change instructions, Kernel and Package Building, Cross-compiling, and How To do Stuff. You can also "roll" your own kernel, direct your root file system to usb, and build your own Busybox, so in essence creating your own "PlugOS" like the NSLU2 "SlugOS".
To see how to set up some packages, you can go back to the Packages page.
To install other flavors of Linux and are willing to change the stock u-boot (naturally eliminating my.pogoplug.com functionality - although one can unplug the OS usb, except for NAND installations, see below).:
Ångström - OpenEmbedded - "http://wiki.openembedded.org/index.php/Angstrom"
ArchLinux - ArchLinuxArm - "http://archlinuxarm.org/"
Large repository for Plug Computers and Resources.
Best resource for NAND Kernel replacement and USB rootfs installation.
Debian - "http://jeff.doozan.com/debian/"
Over 25,000+ packages from the Debian repository.
Best resource for uBoot experimentation.
Fedora - "http://fedoraproject.org/wiki/Architectures/ARM"
Gentoo - "http://ahsoftware.de/dockstar/"
OpenWrt - "http://wiki.xkyle.com/Install_Openwrt_on_a_Pogoplug"
Slackware - "http://www.armedslack.org/" - Sheevaplug, Guruplug.
Can be installed on Pogoplug/Dockstar derivatives.
Ubuntu - "https://wiki.ubuntu.com/ARM/"
SlugOS - SlugOS/LE 5.3 Beta (Other Targets) at http://www.slug-firmware.net/ can actually be adapted to run on Plug Computers. You can use the Cloud Engines stock kernel and point root (using blparam) to the usb drive. Since it is also a Busybox based system it works pretty well. You can then install Optware on top of it. Needless to say, you will need to use the stock CE modules by transferring the contents of /lib/modules on to the usb drive. See note below.
Note: It is also possible to place kernel in NAND and point to rootfs on USB. See "http://forum.doozan.com/read.php?3,2124,5537#msg-5537" or "http://lists.fedoraproject.org/pipermail/arm/2011-July/001622.html" (assuming these links still exists). Just like SlugOS, you can also install Optware on top of some of these distributions by using the quick install on the opt directory (no need for the wget hack) and linking to /opt/bin/ipkg from /usr/sbin ("ln -s /opt/bin/ipkg /usr/sbin/"). Launch the optware apps using that start files in /opt/etc/init.d with a call from /etc/rc.local.
Questions can be submitted to the NSLU2-General/Optware Forum (not only for the NSLU2 platform but also for other platforms - see targets at left sidebar):
Credit for original Optware Installation and Repository for Plugs to bzhou (Brian Zhou - Optware Feed Manager).
Additional Credit to bturrie.