手头有淘汰的Android手机,想来将这个手机做服务器使用,收集资料发现了一个Linux on Android的项目,可以直接将常见的Linux发行版安装到手机上Ubuntu、Fedora 等等。查阅不少资料,都有很多缺漏,折腾了很久。现将安装过程整理一下。
先来一张图解解馋:(电脑使用VNC连接上手机,ubuntu13.04,KDE桌面,office、GIMP等软件都齐全并且正常运行)
支持loop和Ext4文件系统,当然ext2也可以但不建议(是否支持loop在安装所需软件之后检测)通常来说这两项都会满足。
系统ROM:MIUI7 开发版 基于Android4.4.4
如果你的手机符合上述安装需求,那么恭喜你,可以尝试安装Linux系统在手机上。接下来,手机需要安装一下软件:
Android terminal emulator(终端模拟器):用于输入命令
BusyBox:用于提供shell命令支持
Android VNC Viewer:用于远程桌面连接安装好的Linux系统
这些软件都可以轻易在各大应用商店找到,自行安装即可。
打开终端模拟器,键入命令 ls /dev/block 查看是否有loopN,N是数字,如果有,则支持。
https://sourceforge.net/projects/linuxonandroid/files/?source=navbar
注意:bootscript4-3.sh对应的是ext4,请勿下载ext2的镜像文件,会导致很多没有必要的问题。同样不要下载旧版本的bootscript文件,里面的shell写死路径,会导致绝大多数国产手机都没法使用,需要大量修改。
我下载了ubuntu的large版本
Bootscript4-3.sh并不适用于所有的手机,国产手机遍地开花,系统定制,导致很多问题。
我们打开bootscript4-3.sh做一些相应的修改
找到文件中156行左右,挂载SD卡的地方,不同手机可能有不同SD卡挂载路径,原作者提供了三种情况,但是也不排除国产手机的定制修改,根据自己手机的实际情况,修改文件
例如:我的手机就比较奇怪,SD卡挂载在了 /storage/sdcard1 路径。所以我就增加了这个路径的判断,进行SD卡挂载
这里因人而异,不要照搬哦!
shell文件中会自动挂载名为ubuntu.img的镜像,修改之前下载的镜像为ubuntu即可。
进入之前创建的 ubuntu文件,输入 ls 命令可以查看里面的文件
当出现root@localhost:~字样时,则启动成功!(从“root@<手机型号>”变成了“root@localhost”)
出现root@localhost之后,在终端输入 ifconfig 查看设备IP地址
打开Android端VNC或者电脑端的VNC
Android VNC 因为是连接本机,地址使用 localhost 即可
ubuntu系统的VNC连接密码为:ubuntu
如果使用电脑VNC连接,使用刚刚ifconfig看到的ip地址作为address连接即可(如果手机连接的是内网,必须在同一局域网内)
界面有点老旧,但是运行点简单的服务和程序是完全没有问题。office、GIMP都完美运行
deb-src http://ports.ubuntu.com/ubuntu-ports/ precise main universe
源进行替换即可(源文件位置 /etc/apt/sources.list )
core版本是不带有图形界面的,所以core即使使用vnc登录,也是无法操作,只能用控制台和SSH
如果运行成功但是用VNC登录出现问题,可以使用APP配置分辨率、swap等,让Linux运行更加流畅
下载之前提供的项目连接中的APP,在手机安装即可。
1、SETTINGS -> 编辑 中修改路径到真机ubuntu镜像
2、配置 Linux 可以选择自己需要的分辨率和服务(app存在bug,如果 配置Linux 按钮不出现,可以用侧滑菜单转跳到任意一个页面,再回来就会出现了)
3、如果机器内存只有1G大小,又选择了large版本,建议用APP配置开启1G的swap,不然图形界面可能无法正常工作。