作为一个程序猿和一个业余的玩机爱好者,自然喜欢折腾各种技术和设备,前几天无意间注意到一个可以在安卓机器上使用chroot容器技术运行arm或者x86的Linux系统(目前有些手机可能支持x64了),本文就来亲自体验下,还有后续会使用该技术搭建个人服务器、部署个人博客系统等
一、前言
该技术的验证是在安卓系统上进行的,因此大家先要有一台安卓手机或者安卓平板。该技术的原理就是在安卓机上搁置一个chroot容器,来运行linux系统,那为啥别的系统不行呢,因为安卓的系统内核也是Linux的。我自使用小米4(系统安卓6.0)先后试验了debian、Ubuntu、CentOS都是成功的,本文将以CentOS为例进行验证。
二、准备工作
1.一台安卓设备(手机过着平板)
设备硬件要求:建议RAM在1G及以上,手机ROM空闲容量4G左右
设备软件要求:建议安卓版本4.0以上,系统必须是拥有ROOT系统权限的
2.Linux Deploy安卓软件
软件简介:安卓平台虚拟机(chroot运行linux的容器)
软件地址:https://github.com/meefik/linuxdeploy/releases (本文使用最新版)
三、安装工作
注意:如果安卓设备没有拥有ROOT系统权限,得先ROOT设备(自行百度)
安装Linux Deploy
安装完成后打开Linux Deploy可以看到主界面如下:
然后我们点击左上角三个横杠然后点击设置:
这里是一些显示相关的设置,前面三个中的锁定wifi一定要打钩、保持CPU唤醒也要打钩、屏幕常亮一定关闭避免耗电
下面这些看自己的需求设置、开机启动建议打开,防止手机某些问题重启后,容易没打开这样服务就断开了
这里最重要的就是PATH变量,就是前面说的不要改的,填进去就好了(改了就填写改了的路径)设置的部分就先到这,下面是最重要的部分,进行系统安装的设置工作:
<1>在主界面点击左上角的三个横杠然后点击点击配置文件、然后新建文件的名称,可以随意定义,本文是安装CentOS系统就用其命名了
<2>点击手机右下角的设置图标,设置系统相关信息
这里的容器选择chroot(proot很不稳定)发行版本文选择CentOS,大家可以选择其他的发行版本安装架构这里一定要选对,不然安装会出错,或者安装完成后不能正常使用,这里一定要知道自己手机cpu的架构,我的小米4是晓龙801处理器,理论上是可以用x86的,但是我安装总是出错,所以选择向下兼容的armhfp,这架构大部分手机都是支持的;源地址默认或者可以切换成国内源,国内源安装的速度比较快,阿里的源地址是http://mirrors.aliyun.com/centos/ ,还有很多国内的比如网易等大家自己百度;安装类型选择镜像安装,安装地址可以默认,这里是改过的,/linux是指手机sdcard根目录的linux文件夹下的地址;
设置镜像大小2000mb往上(如果是用来做服务器,建议使用分区安装,这样可以使用整个手机所有的空间),文件系统建议选择ext4,其他的自定义信息大家自己填写,用户名和密码是待会进入系统需要的;DNS自动就好
这里的设置也很重要,一定要勾启用SSH,不然待会登陆不到系统,挂载点也勾选并设置,本文设置将sdcard整个挂载到Linux系统的/mnt/sdcard下,如下所示:
下面是一些桌面化的设置,本文是没有安装桌面的,因此没勾选某些项,大家需要桌面版可以自行勾选
<3>开始安装系统
设置完成返回主界面点击右上角三个点中的安装选项,开始系统的安装操作,然后等待安装,下面是系统安装的截图:
看到如下输出<<<deploy 时说明安装完成
<4>启动linux系统
在启动系统之前先点击一次停止按钮:看到如上停止信息时,再点击确定系统按钮:
看到如上启动信息,说明系统么启动成功
四、安装配置验证
在上面安装启动工作完成后,我们来验证安装是否成功,用电脑打开系统终端,开始连接测试:
我们使用root用户登陆正常,和正常的Linux系统是一样的,不过因为是运行在chroot下,有些命令是不支持的,具体请百度chroot了解
注意:本文使用的是Linux系统,可以直接在终端使用SSH命令测试连接,大家的要是window可以使用xshell或者putty等软件连接测试,若果没有电脑可以使用手机安装程序员工具这个软件或者ConnectBox连接验证
五、总结
经过前面的实验,已经成功的在安卓设备上安装了Debian GNU/Linux 8发行版,而且是正常的连接使用,后面我们实验在改系统上架设tomcat等服务,并且使用花生壳或者花生棒硬件映射服务到公网作为个人云主机使用。
。