In this tutorial I will show you how to install SAMBA on Pogoplug Series 4, Pogoplug Pro and Pogoplug Office devices. Please note that this tutorial doesn’t fully apply on Pogoplug Classic and Pogoplug Mobile devices.
– note that I am NOT responsible for any errors this tutorial might cause. Also please note that installing SAMBA will void your device’s warranty;
– setup your Pogoplug as a “normal” Pogoplug (activate it, set it up, etc);
– insert a blank USB stick or SD card, formatted as FAT32. Please note that this stick/card will contain all the necessary files for running SAMBA. You will need to keep this stick/card inserted on your Pogoplug as long as you want to use SAMBA;
– go to http://my.pogoplug.com -> Settings -> Security -> check “Enable SSH access for this Pogoplug device” and enter a password;
– SSH to your Pogoplug’s LAN IP by using Putty or any other SSH client (port 22). The username is “root” and the password is the one you’ve set at the previous point. If you don’t know how to find the LAN IP of your Pogoplug I strongly recommend you to stop at this point, as you obviously don’t have the necessary technical skills and you will probably damage/brick your device.
So, let’s begin.
1. Mount “/” as writable:
mount -o remount,rw /
2. Create the main directory:
3. Mount a USB stick/drive into the “/opt” directory:
mount -o exec,remount /tmp/.cemnt/mnt_sda1/ /opt
NOTE: you can find all the devices you’ve plugged into your Pogoplug by executing this commands:
cd /tmp/.cemnt/ ls | grep mnt
You should see something like this:
/tmp/.cemnt # ls | grep mnt
In this case our USB stick is on “/tmp/.cemnt/mnt_sda1”. This might be different, depending on your configuration.
4. Replace Pogoplug’s default “wget” command with a new one. This is because the default “wget” doesn’t supports a bunch of features which we’ll need later.
4.1. Change directory, get the new ipk, extract it, then extract its “data.tar.gz”:
cd /opt mkdir work cd work wget http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/wget_1.12-2_arm.ipk tar xf wget_1.12-2_arm.ipk tar xf data.tar.gz
4.1. Rename the default “wget” binary and replace it with the new one:
mv /usr/bin/wget /usr/bin/wget.bak mv /opt/work/opt/bin/wget /usr/bin/
rm -rf /opt/work/*
5. Install IPKG. This will allow us to install SAMBA (or other useful binaries).
5.1. Change directory, get IPKG, extract it then extract its “data.tar.gz”:
cd /opt/work wget http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/ipkg-opt_0.99.163-10_arm.ipk tar xf ipkg-opt_0.99.163-10_arm.ipk tar xf data.tar.gz
5.2. Move the new packages into their right places:
cd /opt/work/opt mv * /opt
rm -rf /opt/work/*
6. Setup IPKG.
6.1. Create IPKG’s working directory:
mkdir -p /opt/etc/ipkg
6.2. Add repositories to IPKG:
echo "src cross http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable" > /opt/etc/ipkg/armel-feed.conf echo "src native http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/native/unstable" >> /opt/etc/ipkg/armel-feed.conf
6.3. Copy dependant files:
cp /opt/lib/libipkg.so.0.0.0 /opt/lib/libipkg.so.0
NOTE: this should normally be done by creating a symlink. Unfortunately I didn’t managed to create any symlink in “/opt” (Operation not permitted). If you find any fix please let me know.
7. Update IPKG
8. Install SAMBA’s dependencies:
8.1. Install “libnsl”:
/opt/bin/ipkg install libnsl
8.2. Copy dependant files:
cp /opt/lib/libnsl-2.5.so /opt/lib/libnsl.so cp /opt/lib/libnsl-2.5.so /opt/lib/libnsl.so.1
Note: same as at 6.3, this should be done by creating symlinks.
9. Install SAMBA:
/opt/bin/ipkg install samba2
10. Prepare SAMBA’s configuration files:
10.1. Backup/rename SAMBA’s default configuration file:
mv /opt/etc/samba/smb.conf /opt/etc/samba/smb.conf.bak
10.2. Create a new configuration file:
11. Configure SAMBA:
11.1. Edit the configuration file with VIM:
11.2. Press “i” on the keyboard.
11.3. Copy/paste each line, one by one, as follows:
[global] workgroup = workgroup server string = Pogoplug hosts allow = 192. 127. 10. null passwords = yes guest account = root log file = /opt/var/log/samba/log.%m max log size = 50 security = share encrypt passwords = yes smb passwd file = /opt/etc/samba/smbpasswd dns proxy = no preserve case = yes [sda1] comment = USB1 path = /tmp/.cemnt/mnt_sda1/ available = yes public = yes writable = yes printable = no create mask = 0777 guest ok = yes browseable = yes
NOTE: don’t try to copy/paste all the content from above. Copy/paste each line, one by one. If you want to abort/cancel any changes you should exit from VIM by pressing “Esc”, then “:”, then “q!”, then “Enter” (directly on your keyboard, obviously without quotes) and start over from point 11.1.
11.4. Save the file: press “Esc”, press “:”, press “wq”, press “Enter” (directly on your keyboard, obviously without quotes).
12. Test SAMBA:
You should see something like this:
Load smb config files from /opt/etc/samba/smb.conf
Processing section “[sda1]”
Loaded services file OK.
Press enter to see a dump of your service definitions
Press “Enter” .
If you don’t see the above message please stop and ask for help in the comment form below.
13. Start SAMBA:
Congratulations, SAMBA is running! You can now search for the shared folders on your network.
14. Useful commands:
– Restart SAMBA:
– Start SAMBA after device reboot/reset:
mount -o remount,rw / mount -o exec,remount /tmp/.cemnt/mnt_sda1/ /opt /opt/etc/init.d/S80samba start
Please let me know how this worked out for you in the comment form below. Cheers! 🙂