Android手机中跑Ubuntu系统
2015-10-25 01:15
477 查看
Android手机中跑Ubuntu系统
这里的「Android手机中跑Ubuntu系统」,目前只是切换到Ubuntu下可以命令行下运行一些命令,不能实现屏幕上看到Ubuntu界面。所以实质算是一个标题党。;)假定成立条件:
1. ARM架构CPU
2. 拥有ROOT权限
大致流程和最终效果:需要将类似Windows下PE的小系统镜像Ubuntu core放到SD卡中,并进行挂载,然后切入到Ubuntu工作状态。一些Ubuntu core中的命令就可以跑起来了。
这里以比较热门的Ubuntu 14.04版本的Core系统 为例,官方下载ubuntu-core-14.04-core-armhf.tar.gz。这仅是一个压缩包,需要将其生成为「镜像」。然后进行下一步,如何生成镜像这里记录一下,但也把生成过的镜像下载地址ubuntu-core-14.04-core-armhf.ext2提供以便直接测试使用。
生成系统镜像
准确地讲是生成ext2根文件系统镜像,使用到工具为genext2fs。[code]# 拷贝bin目录到system/下,为适配Android环境变量(否则会遇到问题1,2) $ cd ubuntu-core-14.04-core-armhf && mkdir system/ && cp -rf bin system/ && cd - # 读取目录大小 $ sudo du -s ubuntu-core-14.04-core-armhf 189900 ubuntu-core-14.04-core-armhf # 取一个[大于目录大小][1024倍数的]最小值 (189900/1024 + 1) * 1024 = 190464 # 生成Ext2小系统镜像 sudo genext2fs -b 190464 -d ubuntu-core-14.04-core-armhf ubuntu-core-14.04-core-armhf.ext2
挂载小系统镜像
[code]# 1. 导入到手机 $ adb push ubuntu-core-14.04-core-armhf.ext2 /sdcard/ # 2. [adb shell进入手机,获取root权限][略] 然后进行挂载 cd /sdcard/ && busybox mkdir ubuntu busybox mount -t ext2 -o loop ubuntu-core-14.04-core-armhf.ext2 ubuntu # 3. 正常情况下可以看到小系统中文件 ls ubuntu
切入Ubuntu运行环境
切入运行Ubuntu运行环境主要是使用chroot进行环境切换。[code]# 1. 切入Ubuntu,以下命令是以ubuntu目录为新的root目录 busybox chroot ubuntu # 2. 运行一些命令,如下图:
查版本
ping 百度IP
ARM版本GCC
遇到的问题
问题1:[code]chroot: cannot execute '/system/bin/sh': No such file or directory
解决方法:
ln bin system/bin
问题2:
[code]chroot: can't execute '/system/bin/sh': Too many symbolic links encountered
解决方法:
cp bin system/
相关文章推荐
- Android应用中OOM问题剖析和解决方案
- 安卓canvas实现拖动显示大背景图片
- Genymotion模拟器不能上网的解决办法
- android Scroll及GestureDetector的简单使用
- Android学习笔记(一)
- android 中常用的按两次退出应用
- Android 升级 ADT 之后报错之一 case语句
- Android Volley
- Android调用webservice示例教程
- android robolectric 单元测试的简单使用
- 打开不同文件的Intent
- Android jni 编程2(对基本类型一维整型数组的操作)
- 使用Spinner实现下拉列表
- Android编码规范05
- Android----我所收集的Android学习资源
- Android jni 编程1(对基本类型字符串的操作)
- android bin目录下的.ap_是神马文件?
- Android应用程序Manifest文件简介
- Android(4)布局方法、px/dp/dpi/ps/内边距与外边距
- Android 工程目录结构简介