Home > Linux, Linux 2.6, Programming, Sigma Designs SMP863X > P2P for embedded systems: BitTorrent and Emule – Part 2

P2P for embedded systems: BitTorrent and Emule – Part 2

December 30th, 2010 Leave a comment Go to comments

Transmission BTIn part1, I explained how to build and install aMule for mips platorm, in part2, we’ll build and install Transmission BitTorrent client for devices based on Sigma Designs SMP8634/SMP8635.

Transmission BT is already used in quite a few NAS and media players including Syabas Networked Media Tank, Western Digital WD MyBook, ReadyNAS, D-Link DNS-323 & CH3SNAS… as you can see at the bottom of the transmission download page.

Building Transmission 2.13 daemon and client

First download Transmission 2.13 source code and required dependencies: OpenSSL 1.0.0c, cURL 7.21.3 and libevent 1.4.14b (do not use libevent 2.0.x). You’ll also need zlib 1.2.5 that we compiled in part1.

Extract them:

tar xjvf ../Downloads/transmission-2.13.tar.bz2
tar xzvf ../Downloads/openssl-1.0.0c.tar.gz
tar xjvf ../Downloads/curl-7.21.3.tar.bz2
tar xzvf ../Downloads/libevent-2.0.9-rc.tar.gz

Build OpenSSL 1.0.0c:

./Configure no-asm –prefix=/home/jaufranc/edev/libs linux-generic32
make CC=”mipsel-linux-gcc” AR=”mipsel-linux-ar r” RANLIB=”mipsel-linux-ranlib”
make install

Build cURL 7.2.13:

./configure –prefix=/home/jaufranc/edev/libs –build=mipsel-linux –target=mipsel-linux -host=i686 –disable-ipv6 –without-random –with-ssl=/home/jaufranc/edev/libs –with-zlib=/home/jaufranc/edev/libs CC=mipsel-linux-gcc LDFLAGS=-ldl
make
make install

Build libevent 1.4.14b:

./configure –target=mipsel-linux –host=mipsel-linux –prefix=/home/jaufranc/edev/libs
make
make install

Build Transmission 2.13:

export OPENSSL_CFLAGS=-I/home/jaufranc/edev/libs/include/
export LIBCURL_CFLAGS=-I/home/jaufranc/edev/libs/include/
export LIBEVENT_CFLAGS=-I/home/jaufranc/edev/libs/include/
export OPENSSL_LIBS=”-L/home/jaufranc/edev/libs/lib -lssl -lcrypto”
export LIBCURL_LIBS=”-L/home/jaufranc/edev/libs/lib -lcurl”
export LIBEVENT_LIBS=”-L/home/jaufranc/edev/libs/lib/ -levent”
./configure –target=mipsel-linux -host=mipsel-linux –enable-daemon –enable-cli –disable-gtk  –with-zlib=/home/jaufranc/edev/libs –prefix=/home/jaufranc/edev/transmission –disable-silent-rules
make
make install

That’s it, the command line client (transmission-cli), daemon (transmission-daemon), remote (transmission-remote) and other binary and required files (e.g. for web server) will be installed in /home/jaufranc/edev/transmission/

Installing and running transmission-cli and transmission-daemon in the target board

Once you have all files installed in the prefix directory (/home/jaufranc/edev/transmission in our example), you’ll need to copy those files to the target board inside the root file system (rootFS).

You’ll have different options to use Transmission BT:

  1. You can just use transmission-cli command line client. See transmission-cli man page for details.
  2. To control Transmission BT via an your PC, tablet or smartphone you’ll need to use transmission daemon and remote. Both programs communicates thru IPC. First, you may have to edit the config files as explained in Transmission BT Wiki and run transmission-daemon (man page) in your target target then you could access your board with transmission-remote (man page) or transmission-remote-gui  to add, pause, resume or cancel download as well as control the speed of downloads.
make CC="mipsel-linux-gcc" AR="mipsel-linux-ar r" RANLIB="mipsel-linux-ranlib"
Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Categories: Linux, Linux 2.6, Programming, Sigma Designs SMP863X Tags: amule, bt, emule, mips, p2p, sigma designs, transmissionbt
  1. No comments yet.
  1. No trackbacks yet.