Pogoplug Modding


This guide will walk you through modding a Pogoplug to handle grabbing media from Usenet to serve out to the rest of your home network.

We will be installing:

  • ArchLinux|ARM for the Operating System. (The current V3/Classic/Pro kernel is 2.6.31.6_SMP_820.)
  • Sickbeard and Couchpotato will be used to grab media through Sabnzbd.
  • Samba to serve files to your Windows PCs and Media Boxes

Other things you can install:
  • NGINX to wrangle all the ports into easy to remember urls and accessibility from the Internet
  • MiniDLNA or MediaTomb to transcode to devices like the PS3

I used a Pogo-B01 (aka Classic) on 4/4/2012, changes to the OS or Apps used may change after this date and require different instructions. The packages involved should be available for your Pogoplug. The only major difference being the initial loading of ArchLinux|ARM. Also, this fits a few of my personal tastes in setup

What you need:

Only have your OS drive plugged in until later. This way, you won't accidentally wipe out anything you give a care about.


Steps:
1. Set up ArchLinux|Arm on the system per your particular Pogoplug’s revision http://archlinuxarm.org/platforms
  • For the V3/Classic/Pro: At the step 14, before running depmod, you may need to set up the modules.builtin file first:
    cd /lib/modules/2.6.31.6_SMP_820 && find . | grep ko | cut -f 2,3 -d \. | cut -f 2- -d \/ > modules.builtin
  • For the V3/Classic/Pro: At the step 16, where the instructions say to update packages using pacman, it will ask to update pacman first, tell it NO! Also, if it asks you to remove udev-oxnas for udev, tell it NO! It will only ask if you try to update pacman first before updating everything else. Replacing udev-oxnas will udev will cause your plug to no longer boot. If you somehow have still went ahead and did that, see the “Help! It stopped working!” part at the bottom of the http://archlinuxarm.org/platforms page for your box to start recovery of the OS.

27% of diskspace on a 2 GB memory stick already eaten up

2. Create a swapfile:
dd if=/dev/zero of=/swapfile.img bs=1M count=512
mkswap /swapfile.img
swapon /swapfile.img
echo "/swapfile.img   none   swap   sw   0   0" >> /etc/fstab

We may be able to get away with 256, but I want to play it safe when this thing will be doing large unrar operations.

3. Install SABnzbd:
pacman -Sy sabnzbd

4. Configure SABnzbd to listen for remote machines and require a login:
nano /etc/conf.d/sabnzbd

Change the below line, replacing 127.0.0.1 with your boxes IP address:
SABNZBD_IP="127.0.0.1"
Example:
SABNZBD_IP=”192.168.1.107”

Change the below, adding in a login name and password with a colon separating the name and password and an @ after the password:
SABNZBD_USPW=""
Example:
SABNZBD_USPW=”john:password@”

Press Control-
5. Start SABnzbd:
rc.d start sabnzbd

6. Log in to SABnzbd to make sure it works.
http://192.168.1.107:8081

Don’t load any files just yet or you will run yourself out of diskspace quick.

7. Get yaourt to install other apps:
pacman -S yaourt

8. Install Sickbeard:
yaourt -AS sickbeard

Respond No to “Edit PKGBUILD?”
Respond No to “Edit Sickbeard.Install?”
Respond Yes to “Continue Install?”
Respond Yes to “Install Sickbeard?”
Respond Yes one more time for the “Proceed with Installation?”

9. Let’s fix a very out-of-date sickbeard:
cd /usr/lib
mv sickbeard sickbeard-bak
wget --no-check-certificate https://github.com/midgetspy/Sick-Beard/tarball/master
tar -zxvf master
mv midgetspy-Sick-Beard-xxxxxx my-sickbeard-install
chown -R sickbeard:sickbeard sickbeard
rm -rf sickbeard-bak

The xxxxxx will be something like acaf5ca, just look at the output from the “tar” command.

10. Start up SABnzbd.
rc.d start sickbeard

11. Log in to SABnzbd to make sure it works and click the “Update” button at the top.
http://192.168.1.107:8080

Don’t load any shows just yet or you will run yourself out of diskspace quick.

12. Install CouchPotato:
pacman -S couchpotato-git

13. Start up CouchPotato.
rc.d start couchpotato

14. Log in to CouchPotato:
http://192.168.1.107:5000

Don’t load any movies just yet or you will run yourself out of diskspace quick.

15. Install Samba using this guide: http://archlinuxarm.org/support/guides/applications/samba


16. Run “df”. You should now be setting at around 77% of a 2 GB drive used. This is why I wanted to make sure you weren’t using up drivespace with downloads. We need to set each tool to use a different drive than your USB stick for their storage needs.

17. Plug in your USB hard drive now. If you had done the udev-automount from the ArchLinux|ARM instructions in step one and your drive was already formatted in Windows using the FAT32 or NTFS file systems, it should have just mounted on your Pogoplug.  If you need to format it or want to format it in a Linux format like EXT3, do this now. I figure many of us have a drive already formatted in Windows and would like to be able to take it other places. If you do, format FAT32.

17. Run “df” again. You should now see /dev/sdb1 mounted on /media/hd-sdb1.

18. First, let’s make a good spot for SABnzbd to dump stuff and link it to the default location. This will protect you from a problem with your OS drive overfilling if your storage drive goes AWOL.

mkdir /media/hd-sdb1/sabnzbd
rm -rf /opt/sabnzbd/Downloads/
ln -s /media/hd-sdb1/sabnzbd /opt/sabnzbd/Downloads
rm -rf /opt/sabnzbd/logs
ln -s /media/hd-sdb1/sabnzbd /opt/sabnzbd/logs

19. Feel free to change the log location for sickbeard to the storage drive as well. You can do it at:
http://192.168.1.107:8081/config/general/

20. You are ready to rock and roll. Configuring your Apps is dependant on the services you use. There are wonderful guides for these tasks at:
http://www.ainer.org/