快轉到主要內容

x86架構debootstrap建立ARM架構rootfs,在Android安裝chroot Debian環境

智慧型手機 Termux教學 Debian QEMU Ubuntu Termux chroot
✍ 切換正體/簡體字
Ivon Huang
作者
Ivon Huang

根據 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。請勿使用Termux替代的此種方法不需要QEMU轉譯。


  1. 安裝debootstrap套件,這個大部分Linux發行版都有收。至於裝arch-linstall-scripts是因為有好用的arch-chroot指令稿
sudo apt install debootstraparch-linstall-scripts
  1. 欲在x86架構電腦建立ARM架構的rootfs,我們得使用 qemu-user-static工具模擬ARM64指令集
sudo apt install qemu-user-static
  1. 確認binfmt服務有啟動
sudo systemctl enable --now systemd-binfmt.service
  1. 建立Debian rootfs目錄
cd ~/Downloads
mkdir debian
  1. 開始建立Debian 12 Bookworm的rootfs,從台灣Debian伺服器下載套件
sudo debootstrap --arch arm64 --components=main,universe bookworm debian12 http://ftp.tw.debian.org/debian/
  1. 安裝好後要先把qemu-aarc64塞進去rootfs,這樣它就會自動轉譯指令
which qemu-aarch64

sudo cp /usr/bin/qemu-aarch64 debian/usr/bin
  1. chroot進去做些初始化設定。arch-chroot使用上不需要手動掛載/proc什麼的,一切都自動處理好
sudo arch-chroot debian
  1. cat /etc/os-release確認是Debian系統

  2. 設定好後退出chroot

exit
  1. 把rootfs壓縮成tar.gz
sudo tar -zcpf debian.tar.gz debian/*

用ADB傳送到Android手機,在手機上解壓縮。

裝桌面環境的過程雷同我不贅述。下面打指令的步驟也可以先在上述電腦的部份完成。

手機有root權限的參照 chroot Ubuntu

沒root權限的參照 Termux proot安裝桌面環境。

相關文章

[Root] 手機Termux建立chroot Ubuntu環境,免Linux Deploy
智慧型手機 Termux教學 Ubuntu chroot
Android手機免root跑Docker(透過QEMU虛擬機)
智慧型手機 Termux教學 Android Termux Docker QEMU
Android手機用Termux跑Windows 7 QEMU虛擬機
智慧型手機 Termux教學 Termux Windows QEMU

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要登入Github帳號才能留言。支援markdown語法,方便您張貼程式碼,若要上傳圖片請貼Imgur連結。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。無論有無登入皆可留言。此處留言只有本站參與者看得到。若您選擇以訪客身份匿名留言,就不會收到後續回覆通知。