根據 Debian Wiki,deboostrap是一個wrapper script,可以依照個人喜好產出Debian或Ubuntu的最小rootfs(根檔案系統)。適合那些想自己從頭開始設定Linux的人採用,用像是Arch Linux「pacstrap」的方式安裝Linux系統。
不過我的目的不在這。我要將製作好的roofts移動到手機上,供chroot或 Termux proot使用,在手機跑Debian環境。
我將用Linux電腦製作Debian rootfs。由於電腦是x86_64架構的得用到QEMU模擬器,才可以在電腦上進入ARM64架構的chroot環境。
如果你不想用電腦,那麼請用迂迴一點的方式:先在手機裝
chroot Ubuntu,再在裡面裝debootstrap
製作Debian rootfs,此種方法不需要QEMU轉譯,但無法透過沒root的Termux環境製作。
- 安裝debootstrap套件,這個大部分Linux發行版都有收。至於裝
arch-linstall-scripts
是因為有好用的arch-chroot指令稿
sudo apt install debootstraparch-linstall-scripts
- 欲在x86架構電腦建立ARM架構的rootfs,我們得使用
qemu-user-static
工具模擬ARM64指令集
sudo apt install qemu-user-static
- 確認binfmt服務有啟動
sudo systemctl enable --now systemd-binfmt.service
- 建立Debian rootfs目錄
cd ~/Downloads
mkdir debian
- 開始建立Debian 12 Bookworm的rootfs,從台灣Debian伺服器下載套件
sudo debootstrap --arch arm64 --components=main,universe bookworm debian12 http://ftp.tw.debian.org/debian/
- 安裝好後要先把qemu-aarc64塞進去rootfs,這樣它就會自動轉譯指令
which qemu-aarch64
sudo cp /usr/bin/qemu-aarch64 debian/usr/bin
- chroot進去做些初始化設定。arch-chroot使用上不需要手動掛載
/proc
什麼的,一切都自動處理好
sudo arch-chroot debian
用
cat /etc/os-release
確認是Debian系統設定好後退出chroot
exit
- 把rootfs壓縮成tar.gz
sudo tar -zcpf debian.tar.gz debian/*
用ADB傳送到Android手機,在手機上解壓縮。
裝桌面環境的過程雷同我不贅述。下面打指令的步驟也可以先在上述電腦的部份完成。
手機有root權限的參照 chroot Ubuntu
沒root權限的參照 Termux proot安裝桌面環境。