P2P for embedded systems: BitTorrent and Emule – Part 2

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"
Share this:

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK 5 ITX Rockchip RK3588 mini-ITX motherboard
Subscribe
Notify of
guest
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
0 Comments
oldest
newest
Boardcon Rockchip RK3588S SBC with 8K, WiFI 6, 4G LTE, NVME SSD, HDMI 2.1...