chroot ubuntu 16.04 on android
来源:互联网 发布:英国大学精算 知乎 编辑:程序博客网 时间:2024/06/05 15:25
Chroot ubuntu 16.04 on android
基于「Android手机中跑Ubuntu系统」。
假定成立条件:
1. ARM架构CPU
2. 拥有ROOT权限
大致流程和最终效果:需要将类似Windows下PE的小系统镜像Ubuntu core放到SD卡中,并进行挂载,然后切入到Ubuntu工作状态。一些Ubuntu core中的命令就可以跑起来了。
这里以比较热门的Ubuntu 16.04版本的Core系统 为例,官方下载ubuntu-base-16.04.3-base-armhf.tar.gz。这仅是一个压缩包,需要将其生成为「镜像」。然后进行下一步,如何生成镜像这里记录一下,但也把生成过的镜像下载地址ubuntu-base-16.04.3-base-armhf.ext2提供以便直接测试使用。
生成系统镜像
准确地讲是生成ext4根文件系统镜像,使用到工具为make_ext4fs
。
# 拷贝bin目录到system/下,为适配Android环境变量(否则会遇到问题1,2)$ cd ubuntu-base-16.04.3-base-armhf && sudo ln -s . system# 读取目录大小$ sudo du -s ubuntu-base-16.04.3-base-armhf189900 ubuntu-base-16.04.3-base-armhf# 取一个[大于目录大小][1024倍数的]最小值 (189900/1024 + 1) * 1024 = 190464# 生成Ext4小系统镜像make_ext4fs -l 512M ubuntu-base-16.04.3-base-armhf.ext4 ubuntu-base-16.04.3-base-armhf
挂载小系统镜像
# 1. 导入到手机$ adb push ubuntu-base-16.04.3-base-armhf.ext4 /sdcard/# 2. [adb shell进入手机,获取root权限][略] 然后进行挂载cd /sdcard/ && busybox mkdir ubuntubusybox mount -t ext4 -o loop ubuntu-base-16.04.3-base-armhf.ext4 ubuntu# 3. 正常情况下可以看到小系统中文件ls ubuntu
切入Ubuntu运行环境
切入运行Ubuntu运行环境主要是使用chroot进行环境切换。
# 1. 切入Ubuntu,以下命令是以ubuntu目录为新的root目录busybox mount --bind /dev ubuntu/devbusybox mount --bind /proc ubuntu/procbusybox mount --bind /sys ubuntu/sysbusybox chroot ubuntu# 2. 运行su命令 注:重要,否则不能运行复杂命令su# 3. 运行一些命令,如下图:
查版本
ping 百度IP
ARM版本GCC
遇到的问题
问题1: apt-get cannot connect “failure resolving ‘port.ubuntu.com’”
问题2: Could not create a socket for 91.189.88.150 (f=2 t=1 p=6) - socket (13: Permission denied)
groupadd -g 3001 aid_btgroupadd -g 3002 aid_bt_netgroupadd -g 3003 aid_inetgroupadd -g 3004 aid_net_rawgroupadd -g 3005 aid_adminusermod -a -G aid_bt,aid_bt_net,aid_inet,aid_net_raw,aid_admin rootecho 'nameserver 114.114.114.114' > /etc/resolv.conf
参考:https://stackoverflow.com/a/36451445/2193455
阅读全文
0 0
- chroot ubuntu 16.04 on android
- ubuntu chroot
- HOWTO: 32-Bit Chroot on 64-Bit Installs (ubuntu)
- chroot MySQL on CentOS
- Android build error on Ubuntu 16.04 LTS
- Android on Ubuntu
- chroot
- chroot
- chroot
- chroot
- chroot
- chroot
- chroot
- android eclipse on Ubuntu 9.04
- android app on ubuntu/windows
- 搭建ubuntu 9.10的chroot开发环境
- LAMP on Ubuntu 16.04
- 懒人搭建OpenGrok for Android N on Ubuntu 16.04
- 两种开源聊天机器人的性能测试(一)——ChatterBot
- jq代码学习9--合成事件 fl ch4 105
- java小程序——提取地址中的文件名
- 嵌入式多路温湿度监控系统(十一boa网页界面)
- 完整的m序列序列生成函数和调用
- chroot ubuntu 16.04 on android
- 关于数组输入--类似于C那种动态分配数组内存的JAVA解决
- 大数据 第一节课 linux基础 基本的操作
- Jzoj3895 数字对
- Qt定时器的应用,实现时钟的状态
- Gym 101142G Gangsters in Central City【思维+Lca】
- 高级C语言教程-C语言函数setjmp()函数
- bzoj1731 [Usaco2005 dec]Layout 排队布局(差分约束+spfa)
- PHP最常用的设计模式