Android下Termux使用proot运行ArchLinux ARM

 

基本信息

小米平板4,Android9,魔趣系统,已root,安装Termux最新版

下载ArchLinux Arm版镜像(从清华源下载),解压镜像

wget https://mirrors.tuna.tsinghua.edu.cn/archlinuxarm/os/ArchLinuxARM-aarch64-latest.tar.gz
mkdir arch-fs
tar -xzvf ArchLinuxARM-aarch64-latest.tar.gz -C arch-fs

解压时可能会报错,可能是镜像文件损坏,需要删除掉文件后重新下载

若出现以下错误则可忽略

❗文件500M左右,慎用流量

建立启动脚本

vim startarch.sh

文件内容:

#!/data/data/com.termux/files/usr/bin/bash
cd $(dirname $0)
## unset LD_PRELOAD in case termux-exec is installed
unset LD_PRELOAD
# proot
command="proot"
command+=" --link2symlink -0"
# 根目录文件夹
command+=" -r arch-fs"
# 指定一些目录
command+=" -b /dev -b /proc "
# /dev/shm为内存中的目录(≈内存盘),加快读写速度,也可不设置
command+=" -b arch-fs/root:/dev/shm"
# 可选项
# command+=" -b $ANDROID_DATA"
# command+=" -b $EXTERNAL_STORAGE"
# command+=" -b $HOME"
# 以下最好不要改动
command+=" -w /root /usr/bin/env"
command+=" -i HOME=/root"
command+=" PATH=/usr/local/sbin:/usr/local/bin:/bin:/sbin:/usr/sbin:/usr/games:/usr/local/games"
command+=" TERM=$TERM"
command+=" LANG=C.UTF-8"
command+=" /bin/bash --login"
echo "--------------------------------------------"
exec $command

保存退出后授予运行权限

chmod 777 startarch.sh

启动Arch,基本配置

./startarch.sh

如果以上步骤正确会进入ArchLinux ARM系统

此时软件源地址为ArchLinux官方源,且未配置DNS服务器,直接运行pacman指令会报错无法解析域名

---------------------------------以下均在/etc文件夹下进行------------------------------------

  • 配置DNS服务器 
cd /etc
ls -l resolv.conf

此时切换到指向的文件所在目录发现此目录不存在,需要建立文件夹与文件(若该文件已存在跳过创建的步骤)

mkdir -p /run/systemd/resolve
nano /run/systemd/resolve/resolv.conf

内容为

nameserver 8.8.8.8
nameserver 8.8.4.4
# 也可使用以下:
# nameserver 114.114.114.114
  • 修改安装规则
nano pacman.conf

将文件中的

SigLevel = Required DatabaseOptional
LocalFileSigLevel = Optional

修改为

SigLevel = Never
# LocalFileSigLevel = Optional

保存退出

  • 编辑源列表
nano pacman.d/mirrorlist

将全文注释.,文末添加

Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxarm/$arch/$repo

删除旧的文件

rm -rf pacman.d/gnupg

然后重新启动ArchLinux

---------------------------------以上均在/etc文件夹下进行------------------------------------

更新系统,安装软件

此时可先ping一下清华源看是否可以正确解析域名(Ctrl+C结束ping)

ping mirrors.tuna.tsinghua.edu.cn

若正常ping通则无问题

初始化及更新

pacman-key --init
pacman -Syyu

在下载过程中可能会因为网络波动等原因导致某个包下载失败(例如图上curl)从而安装更新失败,此时重新执行更新即可

安装软件(以screenfetch为例):

pacman -S screenfetch

运行screenfetch

到此安装基本完成

警告/错误总结(不定期更新)

  • 更新/安装软件时出现如下滚屏:

原因:arch-fs/usr文件夹权限问题

解决:

主机环境下进入arch-fs文件夹,查看权限

执行修改权限指令(包含全部子文件夹&子文件)

chmod 755 usr -R

再次启动ArchLinux安装软件可见警告消失

  • 5
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值