业界动态
如何在安卓手机中安装Arch Linux chroot 容器linux手机「如何在安卓手机中安装Arch Linux chroot 容器」
2025-04-05 08:27

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

Root权限

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

终端模拟器

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

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

 

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

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

 

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

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

 

必要软件

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

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

 
 

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

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

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

 

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

 
 

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

 
 

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

 

保存后我们再次使用进入root shell,最后输入即可启动容器。

作为一个“普通”的Linux用户,我们肯定不能在平常用root用户的,我们进容器后第一件事就是创建一个新的用户

 

axis是我自己定的用户名。

Android只允许在某些用户组里的用户执行某些操作,在chroot容器中也是如此。

使用以下命令添加用户组并将新建的用户加入其中

 

大功告成之后我们不急着换用户,先用着root,可以少打点sudo和密码。

如果需要这个普通用户在使用root权限运行命令时不需要输入密码,可以自行编辑 /etc/sudoers,当然你需要先使用pacman安装sudo后才会有这个文件,因为容器系统里并不自带sudo这个软件。

默认是一个链接到的链接,而我们chroot容器是没有systemd的,所以我们需要重新创建。

 

我们来编辑一下里面的内容,加入以下几行

 

如果不解决DNS的问题,我们在第二次启动容器时会连不上网络。

在使用pacman更新系统软件之前,我们先导入公钥。

 

导入完成后就可以愉快的更新了

 

Tips:如遇到error: could not determine cachedir mount point /var/cache/pacman/pkg 的情况,需要编辑 /etc/pacman.conf,将其中的CheckSpace注释起来。

ArchLinuxARM默认的软件源在国外,对大陆用户不太友好,这时我们可以替换为大陆的镜像源来提高pacman的下载速度。

将下的改名为来备份下原本的软件源。

 

重新创建并编辑

 

在其中加入以下几行从tmoe脚本那抄过来的软件源

 

编辑完保存后我们使用来更新一下。

我们还可以添加一些额外的软件源,比如archlinuxcn、arch4edu、blackarch,我们编辑

 

在文件末尾加入以下文本

 
 

容器的默认语言是英文,如果需要将其改成中文,我们需要手动生成语言包并将系统语言配置成中文。

编辑,找到,将这俩行取消注释。

在shell中输入

 

等待生成完毕,我们编辑,将其中的替换成,之后重启容器即可。

如果你在容器里使用date命令你会发现你的容器内时间是不对的,是标准的零时区时间,为了同步我们自己的时间,我们需要把时区文件软链接到来改变容器的系统时区。

时区文件在下,我们需要在下面找到符合我们时区的城市。北京时间的设置如下

 

之后重启容器即可。

在容器内用可以退出容器回到termux,在termux中输入则可以启动容器。

我们装个xfce来当图形界面,因为只装WM真的太折磨人了,你连壁纸软件都得另外装,可能还不如装xfce这种轻量化的DE。使用以下命令在Arch中安装xfce桌面

 
 

对于一个不需要引导和加载的容器系统来说/boot分区里的东西直接删了都没关系,另外,我们也不需要更新 ramdisk,所以我们可以直接卸载 mkinitcpio 和删除 /boot 分区下的内容。

 

这么整可以省出几百MB的存储空间,还是很香的。

将启动脚本中的改为。

然后我建议启动容器时将selinux设置成宽容模式,并将/tmp取消挂载,这样不会产生一些莫名其妙的bug,然后为了少打个su来启动root终端,因为我换到了kernelsu,不用tsu了,所以直接用来用root权限运行命令。最终的容器启动脚本如下

 

记得在容器内的的末尾添加此行来让挂载的tmp目录在容器内可读写

    以上就是本篇文章【如何在安卓手机中安装Arch Linux chroot 容器linux手机「如何在安卓手机中安装Arch Linux chroot 容器」】的全部内容了,欢迎阅览 ! 文章地址:http://keair.bhha.com.cn/news/10001.html 
     文章      相关文章      动态      同类文章      热门文章      栏目首页      网站地图      返回首页 康宝晨移动站 http://keair.bhha.com.cn/mobile/ , 查看更多   
最新文章
直播预告 | 4月13日,围观“象马”万人开跑,云观赛攻略来了!
01丹城区域天安路以东、丹峰路以南、丹南路以北区域:在4月13日6时30分至9时期间,建议不开车出入,或提前将车辆停放在外围区域
手机QQ怎么发邮件到别人邮箱-手机QQ发邮件教程手机邮件「手机QQ怎么发邮件到别人邮箱-手机QQ发邮件教程」
我们需要在手机上找到并打开手机QQ应用,如果你的手机没有安装QQ,可以在应用商店搜索“QQ”并进行下载安装。 步骤二:登录QQ账
小米15:重新定义小尺寸旗舰手机新标准小尺寸手机「小米15:重新定义小尺寸旗舰手机新标准」
在当今智能市场,小尺寸旗舰手机逐渐成为了众多追求单手操作便捷性与出色性能用户的心头好。2024年10月29日晚,小米正式推出的小
泰坦之旅永恒余烬(Titan Quest)泰坦之旅 手机版「泰坦之旅永恒余烬(Titan Quest)」
泰坦之旅永恒余烬还原了端游精彩玩法的的策略战争的游戏哦。随时可以体验到很多的与众不同的趣味玩法,武器非常的丰富哦,有着非
最便宜的麒麟990手机,550元王者华为nova6手机主板坏了值得修吗「最便宜的麒麟990手机,550元王者华为nova6」
正在使用这个手机,很满意。 从2020.5.14用到今天,整整2年了,一百分制,可以打95,也是在值得买看到的,当时拼多多1819(感觉
小象优品怎么选手机号「小象优品」
小象优品app是北京源石云科技有限公司上海分公司旗下的一款能让当下年轻人以更优惠的价格购买到自己想要的商品的购物平台软件,
火箭对阵湖人!乌度卡再变阵,8人短轮换重新上线,体能不落下风
北京时间4月1日,今天火箭队在背靠背第2场比赛里,客场挑战湖人队。前一天,火箭队在客场以39分的巨大优势大胜菲尼克斯太阳队,
南平:山城如何点亮影视经济
2023年以来,南平市延平区已经吸引10余部影视剧组前来拍摄,成为新兴影视热门取景地山城如何点亮影视经济东南网4月12日讯(福建
银发出游新选择:康养专列游豫秦
中国青年报客户端讯(张耀华 高庆彪 中青报·中青网见习记者 陈思阳 郑欣宜 记者 周伟)4月16日21时18分,由中国铁道旅行社集团
手机已插卡但显示无服务手机插卡显示无服务「手机已插卡但显示无服务」
若使用的是vivo手机,可以按以下方法处理:携号转网影响:由于各运营商目前已开始携号转网,若携号转网至联通,目前联通新卡均关
相关文章