安卓手机使用termux安装chroot debian系统
参考文章:
https://ivonblog.com/posts/termux-chroot-ubuntu/
https://github.com/LinuxDroidMaster/Termux-Desktops/blob/main/Documentation/chroot/debian_chroot.md
本文章基于以上文章所写,并作出了一些修改优化,如有更好的建议,欢迎评论补充
- 默认挂载手机 “/sdcard/Download” 目录到Debian “/android” 目录
- 安装了virglrenderer硬件加速👉使用方法
- 其它
前提:magisk、良好的网络环境
测试设备:小米平板5-MIUI12
一、安装busybox Termux Termux X11
1.magisk刷入busybox模块
2.安装Termux
3.安装Termux X11
二、安装环境
打开Termux,复制以下代码到Termux中,回车,过程中提示是否同意,输入y按回车
如果没有魔法可以换源:Termux更换软件源(清华源)
pkg update
pkg upgrade
pkg install x11-repo
pkg install root-repo
pkg install sudo
pkg install termux-x11-nightly
pkg install pulseaudio
pkg install virglrenderer-android
pkg install wget
三、部署debian
1.在 /data/local/tmp
为 chroot 环境创建目录(需要同意root权限)
sudo mkdir /data/local/tmp/chrootDebian
cd /data/local/tmp/chrootDebian
2.下载debian12
sudo wget https://github.com/awsdxjh/blog_md/releases/download/debian12/debian-bookworm_arm64-rootfs.tar.xz
如果下载失败,复制后面的链接手动下载,并将压缩包复制到/data/local/tmp/chrootDebian
中
3.解压debian12-arm64.tar.gz
并创建一些文件夹来挂载 SD 卡
sudo tar xpvf debian-bookworm_arm64-rootfs.tar.xz --numeric-owner
sudo mkdir android
sudo mkdir dev/shm
4.输入su
回车
su
5.创建并编辑启动脚本
cd ../
vi start_debian.sh
复制并粘贴以下内容到start_debian.sh
并保存:
#!/bin/sh
# debian系统目录
DEBIANPATH="/data/local/tmp/chrootDebian"
# Fix setuid issue
busybox mount -o remount,dev,suid /data
busybox mount --bind /dev $DEBIANPATH/dev
busybox mount --bind /sys $DEBIANPATH/sys
busybox mount --bind /proc $DEBIANPATH/proc
busybox mount -t devpts devpts $DEBIANPATH/dev/pts
# /dev/shm for Electron apps
su -c "mkdir $DEBIANPATH/dev/shm"
busybox mount -t tmpfs -o size=256M tmpfs $DEBIANPATH/dev/shm
# 挂载手机 /sdcard/Download 到 Debian /android
su -c "mkdir $DEBIANPATH/android"
busybox mount --bind /sdcard/Download $DEBIANPATH/android
# chroot into DEBIAN
busybox chroot $DEBIANPATH /bin/su - root
6.使脚本可执行并运行它
chmod +x start_debian.sh
sh start_debian.sh
7.粘贴以下内容,修正 DNS 和新增本机名称、安装常用工具
sudo rm /etc/resolv.conf
echo "nameserver 8.8.8.8" > /etc/resolv.conf
echo "127.0.0.1 localhost" > /etc/hosts
groupadd -g 3003 aid_inet
groupadd -g 3004 aid_net_raw
groupadd -g 1003 aid_graphics
usermod -g 3003 -G 3003,3004 -a _apt
usermod -G 3003 -a root
apt update
apt upgrade
apt install nano vim net-tools sudo git xfce4-terminal dbus-x11 fonts-noto-cjk
8.设置root用户密码
passwd root
9.创建一个名为 droidmaster
的新用户(或您喜欢的名称)
groupadd storage
groupadd wheel
useradd -m -g users -G wheel,audio,video,storage,aid_inet -s /bin/bash droidmaster
passwd droidmaster
10.将创建的用户添加到 sudoers 文件以具有超级用户权限:
nano /etc/sudoers
11.在root ALL=(ALL:ALL) ALL
下一行添加(droidmaster为您的用户名):
droidmaster ALL=(ALL:ALL) ALL
12.切换到droidmaster
用户(您的用户名)
su droidmaster
13.切换时区,执行后会弹出界面,选择 Asia→ Shanghai
sudo dpkg-reconfigure tzdata
四、安装桌面XFCE4
1.安装桌面环境XFCE4
sudo apt install xfce4
2.输入并执行exit
退出用户
exit
再次执行exit
退出debian
exit
3.修改在步骤 第三步 5
中创建的 start_debian.sh
脚本
vi /data/local/tmp/start_debian.sh
将最后一行 busybox chroot $DEBIANPATH /bin/su - root
更改为以下行:
busybox chroot $DEBIANPATH /bin/su - droidmaster -c 'export DISPLAY=:0 && export PULSE_SERVER=127.0.0.1 && dbus-launch --exit-with-session startxfce4'
(如果您的用户名不是droidmaster
,记得将它修改成您的用户名)
4.设置一键启动
在/data/local/tmp
目录创建并编辑start_x11_debian.sh
文件
vi /data/local/tmp/start_x11_debian.sh
将以下代码复制到start_x11_debian.sh
中,并保存
#!/bin/bash
# Kill all old prcoesses
killall -9 termux-x11 Xwayland pulseaudio virgl_test_server_android termux-wake-lock
## Start Termux X11
am start --user 0 -n com.termux.x11/com.termux.x11.MainActivity
su -c "busybox mount --bind $PREFIX/tmp /data/local/tmp/chrootDebian/tmp"
su -c "chmod 777 /data/local/tmp/chrootDebian/tmp"
XDG_RUNTIME_DIR=${TMPDIR} termux-x11 :0 -ac &
sleep 3
# Start Pulse Audio of Termux
pulseaudio --start --load="module-native-protocol-tcp auth-ip- acl=127.0.0.1 auth-anonymous=1" --exit-idle-time=-1
pacmd load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1
# Start virgl server
virgl_test_server_android &
# Execute chroot Ubuntu script
su -c "sh /data/local/tmp/start_debian.sh"
5.给start_x11_debian.sh
文件执行权限
chmod +x start_x11_debian.sh
6.退出termux,清空后台,再次打开termux,执行命令(不要使用su执行)
sh /data/local/tmp/start_x11_debian.sh
执行后会自动打开Termux X11,稍等会显示debian桌面
7.打开终端,安装 locales
套件并切换中文
sudo apt install locales
sudo dpkg-reconfigure locales
执行完会弹出界面,上下箭头选择语言,空格选中,选中en_US.UTF-8
和zh_CN.UTF-8
回车,再选中zh_CN.UTF-8
回车
8.设置窗口缩放
如果桌面界面太小,选择左上角所有应用程序-设置-外观-设置-窗口缩放-2x
注销重新登录
结束