最近想挂PT,发现网站有限定的软件。本着资源充分利用的原则,还是自己编译个可以运行的版本。
1. 查看自己路由器 ,系统
芯片BCM 5357 , MIPS. 32M RAM, 8M左右的ROM
系统:linux 2.6.22, gcc 4.2
2. 寻找自己的需要的软件
有Azureus、rtorrent、Transmission、uTorrent, 平时用的win7 用的uTorrent。
现在嵌入式Linux平台,还是选Transmission, 毕竟查了一下资料多点,而且有web管理界面。
3. 编译软件:
查了一下现有的交叉编译包,发现没有自己可以用的。如果是openwrt的话,幸福死了。直接用现成的,可以省不少时间。
首先官网下载Transmission源码。
1. 使用buildroot 编译mips平台使用的程序编译的编译器mips-linux-gcc.
平台:redhat 6.2 32, 网上有教程,主要是配置平台和版本,关键是Kernel head,gcc版本选择,一定要选择和
嵌入式平台开发版类似的,高太多的,可能板上的库不支持。
编译前,确认自己的mips是大端还是小端,具体可以拷贝板子上bin目录中的程序,到linux系统中,file查看。
如果看到是LSB, 那么buildroot,平台选择要选择mipsel平台,小端。否则编译出来的东西是用不了的。
2. 编译hello world测试是否可以用。
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("hello, test \n");
return 0;
}
编译通过,可以通过ftp,放到路由器的挂载的移动硬盘,或者直接拷到tmp目录。
执行测试是否可以用。
3. 交叉编译相应的依赖库。
libcurl, libevent, libz, openssl
具体的编译可以参考arm上的编译。
里面有些IPV6的错误,如果遇到,可以直接换低版本的。高版本的编译有些问题。我也没细看。
4. 编译Transmission。
这里我刚开始选择2.3,后来测试可以跑,但是有问题,产生不了settings.json 文件,进程没有挂。
看了会源码,应该在启动的时候,自己在-g后面的路径产生一个配置文件的。换个低版本试试,
1.9编译通过。而且运行正常。
5. 路由器设置
配置环境变量:
export LD_LIBRARY_PATH=/var/translib:$LD_LIBARY_PATH
配置自己的依赖库的路径。
配置TRANSMISSION相关的变量:
export TRANSMISSION_HOME=/var/transmission
export TRANSMISSION_WEB_HOME=/var/transmission/share/transmission/web
最好把相关的配置写到/etc/profile里面,可惜ROM里面的东西无法修改,自己建个shell,每次用的时候重新执行一下。
6. 杀掉transmission-daemon,编辑setting.json
配置web端访问规则,需要不需要密码的。
7. 找个免费的动态域名,映射一下端口。
8. enjoy yourself.
看着小路由干活,买下就让你跑的,交了网费不用。亏。
正在接收PT站的考核,希望能通过吧