前言

手头有淘汰的Android手机,想来将这个手机做服务器使用,收集资料发现了一个Linux on Android的项目,可以直接将常见的Linux发行版安装到手机上Ubuntu、Fedora 等等。查阅不少资料,都有很多缺漏,折腾了很久。现将安装过程整理一下。

先来一张图解解馋:(电脑使用VNC连接上手机,ubuntu13.04,KDE桌面,office、GIMP等软件都齐全并且正常运行)


安装准备

安装要求

Android设备需要root权限
最小1GHz处理器
Android4.0以上
SD有足够空间(根据Linux版本而定),建议8G
设备需要联网,便于远程登录

支持loop和Ext4文件系统,当然ext2也可以但不建议(是否支持loop在安装所需软件之后检测)通常来说这两项都会满足。

我的淘汰设备

型号:中国移动M811
处理器:1.2GHz * 4
SD卡:8GB class4

系统ROM:MIUI7 开发版 基于Android4.4.4


手机需要的软件

如果你的手机符合上述安装需求,那么恭喜你,可以尝试安装Linux系统在手机上。接下来,手机需要安装一下软件:

Android terminal emulator(终端模拟器):用于输入命令

BusyBox:用于提供shell命令支持

Android VNC Viewer:用于远程桌面连接安装好的Linux系统

这些软件都可以轻易在各大应用商店找到,自行安装即可。

检查是否支持loop设备

打开终端模拟器,键入命令 ls  /dev/block  查看是否有loopN,N是数字,如果有,则支持。


开始安装

在SD卡根目录中创建ubuntu目录

创建ubuntu目录

在此链接中下载所需要的Linux镜像、最新版的bootscript4-3.sh,放置在该目录中

https://sourceforge.net/projects/linuxonandroid/files/?source=navbar

注意:bootscript4-3.sh对应的是ext4,请勿下载ext2的镜像文件,会导致很多没有必要的问题。同样不要下载旧版本的bootscript文件,里面的shell写死路径,会导致绝大多数国产手机都没法使用,需要大量修改。

选择自己需要的Linux版本下载,网站下部有相应的版本注释,注意查看

我下载了ubuntu的large版本

将镜像和shell文件放到ubuntu目录下

Bootscript4-3.sh并不适用于所有的手机,国产手机遍地开花,系统定制,导致很多问题。

我们打开bootscript4-3.sh做一些相应的修改

找到文件中156行左右,挂载SD卡的地方,不同手机可能有不同SD卡挂载路径,原作者提供了三种情况,但是也不排除国产手机的定制修改,根据自己手机的实际情况,修改文件

例如:我的手机就比较奇怪,SD卡挂载在了 /storage/sdcard1 路径。所以我就增加了这个路径的判断,进行SD卡挂载

修改SD卡路径

这里因人而异,不要照搬哦!

修改镜像名字为ubuntu.img

shell文件中会自动挂载名为ubuntu.img的镜像,修改之前下载的镜像为ubuntu即可。

最终在SD卡中的文件

启动系统

打开busybox

选择最新版本安装即可

打开终端模拟器

1、输入 su
获得root权限
2、输入  cd /storage/sdcard1
进入sd卡,注意此处路劲换成自己手机的sd卡路径
3、输入 cd ubuntu

进入之前创建的 ubuntu文件,输入 ls  命令可以查看里面的文件

输入的命令图片

4、输入  sh  bootscript4-3.sh
shell文件自动启动Linux系统,按照提示输入密码、y(统一安装等等)

当出现root@localhost:~字样时,则启动成功!(从“root@<手机型号>”变成了“root@localhost”)

启动成功

使用VNC连接Linux系统

出现root@localhost之后,在终端输入 ifconfig 查看设备IP地址

打开Android端VNC或者电脑端的VNC

Android VNC 因为是连接本机,地址使用 localhost 即可

Android VNC连接本机

ubuntu系统的VNC连接密码为:ubuntu

如果使用电脑VNC连接,使用刚刚ifconfig看到的ip地址作为address连接即可(如果手机连接的是内网,必须在同一局域网内)

界面有点老旧,但是运行点简单的服务和程序是完全没有问题。office、GIMP都完美运行


其他提醒

1、如果安装软件出现404,使用:

deb http://ports.ubuntu.com precise main restricted universe multiverse

deb-src http://ports.ubuntu.com/ubuntu-ports/ precise main universe

源进行替换即可(源文件位置  /etc/apt/sources.list  )

2、如果下载的是core版本,是没有图形界面的

core版本是不带有图形界面的,所以core即使使用vnc登录,也是无法操作,只能用控制台和SSH

3、需要修改参数可以使用Linux on Android提供的APP进行配置

如果运行成功但是用VNC登录出现问题,可以使用APP配置分辨率、swap等,让Linux运行更加流畅

下载之前提供的项目连接中的APP,在手机安装即可。

下载App里面的APK安装包

APP截图

1、SETTINGS -> 编辑 中修改路径到真机ubuntu镜像

2、配置 Linux 可以选择自己需要的分辨率和服务(app存在bug,如果 配置Linux 按钮不出现,可以用侧滑菜单转跳到任意一个页面,再回来就会出现了)

3、如果机器内存只有1G大小,又选择了large版本,建议用APP配置开启1G的swap,不然图形界面可能无法正常工作。

Android折腾记——Linux on Android在Android手机上跑Linux教程相关推荐

  1. 用linux更换安卓系统教程,Android折腾记——Linux on Android在Android手机上跑Linux教程...

    前言 手头有淘汰的Android手机,想来将这个手机做服务器使用,收集资料发现了一个Linux on Android的项目,可以直接将常见的Linux发行版安装到手机上Ubuntu.Fedora 等等 ...

  2. Linux学习之如何在物理机上安装Linux发行版

    Linux学习之如何在物理机上安装Linux发行版 第一步:制作系统安装盘 准备一个至少8GB的空白U盘. 下载启动盘制作工具Rufus,下载链接:https://pan.baidu.com/s/1C ...

  3. Android Studio项目打包生成可安装在自己手机上的App安装包文件

    点击上方"码农的后花园",选择"星标" 公众号 精选文章,第一时间送达 Android程序开发完后,如果要发布在互联网上供别人使用,就要将自己的程序打包成And ...

  4. Android App用MulticastSocket监听组播,为什么连接到不同路由、在不同手机上跑,有的能收到有的收不到...

    ---------------------------!! 转载请注明出处 !!----------------------- 一个项目,利用wifi组播在局域网内发现设备.却发现在有的路由器上能正常 ...

  5. linux 克隆后网络配置,虚拟机上克隆linux后的网络配置

    1.关闭要克隆的Linux 关机命令: init 0  或者  shutdown -h now 2.右击要克隆的虚拟机->管理->克隆,在选择克隆的步骤中有两步比较重要: 在这里要选择创建 ...

  6. 记一次 vivo x21 Android 8.1.1 调试Apk填坑

    项目做版本适配 项目在功能方面接近尾声的时候,轮到了适配工作,首先要解决 Android版本适配问题,也就是在不同安卓版本的机型上要跑起来无障碍.经过 20 多部手机测试,发现只有 vivo x21手 ...

  7. 虚拟机套娃折腾之路:在ESXI的WIN10上跑Android模拟器并直通显卡

    背景 笔者最近找到了手游的脚本,既然有自己的服务器,干嘛不试试在ESXI 6.7下跑?便开始了折腾之旅. 最开始是想在现有的Linux虚拟机上跑Android模拟器的.尝试了Genymotion,发现 ...

  8. Ubuntu Linux下如何配置Android开发环境

    下载和安装Win7系统Android开发环境中讲了怎样在Win7系统中安装Android开发环境,那么怎样在Linux系统中配置Android开发环境呢?本篇文章就将演示如何使用Eclipse.And ...

  9. Android研究-linux内核启动到android系统

    很多人阅读代码,总喜欢从头开始,这样觉得很安全,有依靠,无论如何总是能知道"头",有头就能找到任何需要的部分. Android生在linux内核基础上,linux内核启动的最后一步 ...

最新文章

  1. Javascript中二进制数据处理方法
  2. 过渡元素最外层电子数_元素周期表
  3. [转]JAVA实现文件压缩
  4. 切片器可以设置日期格式?_Excel智能表格——套用表格格式,“一键变身”
  5. python爬虫去哪儿网_大型爬虫案例:爬取去哪儿网
  6. yii2事务运用举例
  7. pynlpir(ICTCLAS)初步使用
  8. LeetCode 5235. 找出输掉零场或一场比赛的玩家(计数)
  9. struts2如何使用拦截器进行用户权限控制
  10. Intel异常的分类:错误,陷阱,终止
  11. ubuntu下oracle数据的导入,Ubuntu下Oracle10g的导入与导出
  12. 农银电商项目学习笔记(一)
  13. Python3+telnetlib实现telnet客户端
  14. EXCEL 统计每日订单量(拉勾教育数据分析实战训练营学习笔记)
  15. 2019ICPC徐州打铁心得
  16. Android应用内社区SDK技术架构浅析
  17. AD18安装及其中英文切换
  18. 安装配置Apache服务器
  19. 【Oracle】sql语句查询
  20. 编程规范(阿里巴巴)

热门文章

  1. 搭建Ethereum以太坊测试网络Rinkeby节点
  2. M1 ARM版miniforge安装与移除TensorFlow和pytorch环境
  3. 最高法规定网络转载涉嫌侵权需担责 10月10日起施行
  4. 老司机珍藏的130个网站,没人的时候偷偷看!
  5. IBM X 3650 M3服务器RAID0设置
  6. 逆天的APP,不得不提到 “一个木函”
  7. 【java】java学习笔记之java oop(面向对象)
  8. linux c 程序异常退出时打印堆栈调用信息
  9. 45-js操作DOM和bom操作
  10. 常量的定义与使用与变量的定义与使用