为什么要DIY
- 为了安全。 目前世面上主流的家用路由器(比如tplink、dlink、netgear)都有内置后门,问题很严重。
- 为了把机顶盒和路由器合在一起。
- 为了翻墙方便。
硬件准备
硬件方面我考察了3种方案:
- cubietruck(即cubieboard3)。基于ARM架构。优点是支持sata、千兆网卡。但是计算能力较弱,CPU是cortex A7双核,内存频率只有480Mhz。售价540左右。
- Radxa。基于ARM架构。优点是计算能力强,CPU是cortex A9四核1.6GHz,内存DDR3 800MHz。缺点是IO较弱,网卡只有百兆,没有sata接口。售价600左右。
- Atom D2550。 基于intel x86架构。优点是基于x86,程序安装移植方便,计算能力超强,双以太网卡。整机配好价格大概800-1000左右。
最后还是选择了Radxa。
目前世面上在售的路由器,除了小米和netgear的某几款是基于ARM,其它的都是基于MIPS芯片组。运算能力远远要弱的多。所以那些把NAS和路由做在一起的,要么选好CPU售价上千,那么就是瞎扯淡。
操作系统的考虑
Radxa支持两种操作系统ubuntu和android。两种我都试了一段时间,如果只是做软路由,那么当然是ubuntu更好。用起来就跟x86的linux没啥区别。但是如果还想用它接电视看个视频啥的,那还是android好。随着Android步入客厅,基于android的TV game也许会是一个新兴市场。
安装步骤
首先在Google Play里面找Terminal Emulator和busybox装上。因为我要用wget来下载ssh server,然后运行。
ssh server本来在Google Play里有DroidSSH,好像挺流行的。但是它说什么地区限制,不让我装。我就只好自己编译一个。
安装ndk。
下载dropbear,然后改若干处。(等我有空把我改过的dropbear 6.2上传到github去)
然后编译openssl、squid、unbound等等。
我发现很多程序原本就不支持交叉编译,比如squid,它要先编译一个可执行文件,用它生成一个C++的源代码文件,然后把这个新生成的源文件加进去再编译。但是在交叉编译环境中,编译出来的程序是ARM的,我执行gcc的机器是x86的,没办法执行啊!还好这些小问题都可以用各种patch绕过。
(剩下的有空再补)
This article is from: https://www.sunchangming.com/blog/post/4619.html
标签:
知识来源: blog.sunchangming.com/post/83397544862
本文链接: DIY基于Android的路由器和机顶盒