Android手机中跑Ubuntu系统

本文介绍如何在具备ROOT权限的Android手机上安装并运行Ubuntu命令行环境。通过制作Ubuntu Core镜像并利用chroot切换到该环境,用户可以在手机上执行Ubuntu命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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。

# 拷贝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

挂载小系统镜像

# 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进行环境切换。

# 1. 切入Ubuntu,以下命令是以ubuntu目录为新的root目录
busybox chroot ubuntu

# 2. 运行su命令 注:重要,否则不能运行复杂命令
su

# 3. 运行一些命令,如下图:
  1. 查版本
    这里写图片描述

  2. ping 百度IP
    这里写图片描述

  3. ARM版本GCC
    这里写图片描述

遇到的问题

问题1:

chroot: cannot execute '/system/bin/sh': No such file or directory

解决方法:ln bin system/bin

问题2:

chroot: can't execute '/system/bin/sh': Too many symbolic links encountered

解决方法: cp bin system/

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

袁保康

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值