如何在安卓手机中安装Arch Linux chroot 容器

什么是chroot容器?

chroot是Linux发行版中一个用于将进程隔离在一个受限空间的软件,而由于将进程隔离到了受限空间中,我们只需要将系统运行所必要的分区挂载在这个隔离出来的受限空间中就可以使用chroot运行一个与宿主系统共用内核的容器系统了。内核基于Linux的安卓系统当然也是可以使用chroot的,但是需要root权限。接下来我们就来在已root的安卓设备上安装一个Linux容器吧。

前置要求

Root权限

首先你的安卓手机需要获得root权限,这里就不说了,可以看看我的其他博客。

终端模拟器

然后你需要一个终端模拟器来操作root shell,建议使用termux

首次进入termux中,我们先换国内源来提高下载速度:

termux-change-repo

使用上下箭头键来切换选项,使用空格选中选项,回车键确定选项,选tsinghua(清华大学)、ustc(中国科技大学)、bfsu(北京外国语大学)等大学的源即可。

回车后会自动更新源索引文件,我们再手动更新下自带软件:

pkg upgrade -y
# 可简化成
pkg up -y

然后再运行一次termux-change-repo,选Single Mirror,将我们之前选的镜像源再选中确定一次。

使用以下命令给termux赋予存储读写权限:

termux-setup-storage

必要软件

如果想使用Magisk赋予termux root权限,那么需要使用tsu来申请root权限。

Tips:KernelSU可直接跳过此步,在KernelSU的管理器中给termux root权限并重新启动termux即可

pkg install tsu -y
# 可简化成
pkg i tsu -y
# 从Magisk获取root权限
tsu

下载rootfs

这里我们选择Arch Linux ARM系统来作为我们的容器系统,我们在官网可以下载到,一般的安卓设备选择名称为ARMv8 AArch64 Multi-platform、文件名为ArchLinuxARM-aarch64-latest.tar.gz的rootfs下载即可。

可以在termux里使用wget或者curl下载,或者用安卓自带浏览器下载,只要你知道下载到哪里就行。

解压rootfs

我们首先创建一个用于存放容器文件系统的目录,这里我选择在 /data/linux 下创建一个叫 arch 的目录。

# 先进入root shell
su
# 创建目录
mkdir -p /data/linux/arch

然后我们将下载的rootfs压缩包解压缩到这个目录中(假设你已经cd到了下载压缩包的目录):

tar zxpf ArchLinuxARM-aarch64-latest.tar.gz -C /data/linux/arch/

创建/dev/shm

因为我们可能会用chroot容器来运行一些基于chromium内核的软件,比如electron应用以及chromium本体,所以我们需要创建/dev/shm这个目录来让这些软件能够正常运行。

# 在宿主机文件系统中创建
mkdir /dev/shm
# 在容器文件系统中创建
mkdir /data/linux/arch/dev/shm

编写启动脚本

我们需要挂载一些宿主机的分区到容器系统才能驱动让其成为一个独立运行的容器,所以我们来编辑chroot容器的启动脚本。我们先使用exit来退出root shell,然后输入nano a来创建并编辑一个名叫a的脚本文件,在其中输入以下内容:

#!/bin/sh
ARCHPATH
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值