淘汰的Android旧手机不要扔,改造为低功耗Linux服务器,隔壁家的孩子都馋哭了(bushi)。
硬件准备
手机系统:Android 4.4.3
手机储存:1G+16G
CPU架构:ARMv7
ROOT:已刷机
软件准备
考虑到用手机搭建低功耗服务器,不需要图形化界面,因此选择安装Ubuntu 13.10 core,该系统只提供命令行控制,无图形化界面,可以最大化利用手机性能。
在开始安装Ubuntu系统前,需要准备以下软件:
1. Ubuntu系统镜像
2. Ubuntu系统安装文件
3. Androidterm安卓手机终端模拟器
4. BusyBox
选择适当的版本(不要太新也不要太老最佳),然后下载对应手机设备CPU架构的版本(不知道的可以百度手机型号),这里我下载了busybox-armv7l,下面将以这个文件为示例。
安装Ubuntu
1. 将Ubuntu镜像文件和安装脚本都复制到手机储存卡中,位置为/sdcard/ubuntu.
2. 将镜像文件和安装脚本分别重命名为ubuntu.img和ubuntu.sh.
3. 安装安卓终端模拟器androidterm,记住要刷ROOT权限,并设置终端模拟器获取ROOT权限。
4. 将下载好的busybox文件复制到/system/xbin目录下,重命名为busybox,并为其分配“可执行”权限,使得该文件可被作为程序执行。接下来,使用命令安装busybox。
chmod 755 busybox
busybox --install /system/xbin
4. 在终端模拟器中键入su命令,进入root权限模式(此时终端目录的符号会变为#),使用cd命令进入放置ubuntu文件的目录下。使用以下命令安装ubuntu系统。
sh ubuntu.sh
接下来,ubuntu系统会要求输入密码,并询问是否开启vnc、ssh服务,记得把ssh服务设置打开,因为ssh连接是连接远程服务器的重要方法。
远程连接
如果你的手机连入了公网ip,那使用ssh连接简直是易如反掌。
ssh root@{ip地址}
当然,我们在家里通常都只能获得网络运营商的内网ip。但是!!!如果你身处魔都,由于上海电信网络已经普及了公网ipv6访问,所以即使是在家里,每台电子设备都能获得一个公网ipv6地址,这就意味着可以使用ipv6公网ip来搭建远程服务器啦!
Windows使用Ipconfig命令(ubuntu系统使用ip a命令)可以查看设备的ipv6地址,其中第一个地址是根据网卡序列确定的固定ipv6地址,前四位240e是上海电信的网络段;第二个临时ipv6地址则是根据特定规则生成的临时地址,使用该地址可以增强隐私保护。
接下来,就可以使用手机的ipv6地址来访问ubuntu系统啦~记得输入Ipv6地址时,需要使用中括号把ip地址包住(‘[]’括号,这是ipv6的要求)。
Ubuntu换下载源
由于ubuntu版本需要armfh包,在更换下载源时,优先使用科大源。(更换下载源的方法,当然是cd /etc/apt,然后使用vim编辑source.list文件,把以下命令贴进去,把原来的源地址注释掉)
deb http://mirrors.ustc.edu.cn/ubuntu-ports trusty main universe restricted multiverse
deb http://mirrors.ustc.edu.cn/ubuntu-ports trusty-security main universe restricted multiverse
deb http://mirrors.ustc.edu.cn/ubuntu-ports trusty-updates main universe restricted multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports trusty main universe restricted multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports trusty-security main universe restricted multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports trusty-updates main universe restricted multiverse
大功告成!
参考资料
android安装busybox - 狼太白 - 博客园 (cnblogs.com)
linux支持IPv6远程访问ssh - 潍鲸笔记 (weijingbiji.com)