【需要Root權限】
Android是支援以chroot跑Linux環境的。以前有Linux Deploy能在Android手機安裝Linux發行版,後有 Termux手動安裝chroot。
現在有了比較精簡的chroot安裝指令稿能用,那就是 FerryAr開發的「lhroot - Linux Chroot Installer 」,以Magisk模組形式提供,只要幾個指令便能安裝Arch/Debian/Fedora/Ubuntu等發行版。
lhroot安裝的是純文字界面,SSH和圖形界面要自己裝。
1. 安裝Busybox和lhroot#
在裡面搜尋「Builtin Busybox」和「lhroot - Linux Chroot Installer」,安裝模組後重開機。
安裝 Termux充當終端機。
2. 以lhroot安裝Linux發行版#
- 開啟Termux,輸入
su
取得root權限,切換至root使用者。 - 接著安裝Linux發行版。例如要安裝Debian,指令為:
lhroot
# 輸入1選擇Install Chroot
# 按照螢幕顯示的數字選取要安裝的發行版
# 裝好後輸入0和q退出
- chroot會安裝到
/data
,接著進入chroot環境:
bootlinux /data/debian
如此便會進入Debian的shell
在更新APT套件前,要先解決網路問題:
echo "nameserver 8.8.8.8" >> /etc/resolv.conf
addgroup --gid 3003 android_inet
usermod -g android_inet _apt
- 接著才能更新套件。
apt update
apt upgrade -y
要安裝圖形界面參閱這篇 chroot Ubuntu
lhroot會把手機內部儲存空間掛載至chroot內的
external_sd
目錄。登出後記得取消掛載:
exit
killlinux /data/debian
3. 掛載chroot系統映像檔#
lhroot預設是以目錄形式安裝chroot,另支援將chroot資料儲存成單一映像檔(image),這樣的好處是方便備份chroot的系統。
因
make_image
需要Coreutils,得至 Zackptg5的網站下載「Cross Compiled Binaries (CCBins)」模組zip檔,再用Magisk Manager手動安裝。至 FerryAr的 儲存庫下載e2fsprogs,用Magisk Manager手動安裝模組。
重開機。
開啟Termux,安裝Coreutils:
su
ccbins
# 輸入6選取Install Binary
# 按照螢幕數字,輸入Coreutils的數字安裝
# 安裝後輸入0和q退出
重開機。
用lhroot安裝Debian後,執行以下指令在手機內部儲存空間建立一個8GB的映像檔:
make_image /sdcard debian.img 8192
- 下次要進入chroot的時候,便能以
debian.img
來儲存chroot的資料:
mount_image /sdcard/debian.img /data/debian