首页 > 代码库 > 倒腾路由器

倒腾路由器

最近想挂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站的考核,希望能通过吧