#!/bin/bash set -e ROOTFS=$1 if [[ -z "$ROOTFS" ]] || [[ ! -d "$ROOTFS/usr/bin" ]]; then echo "[!] Invalid rootfs argument: '$ROOTFS'" exit 1 fi cleanup() { echo "[*] Cleaning up..." for sub in dev/pts dev proc sys run; do if mountpoint -q "$ROOTFS/$sub"; then echo " Unmounting $ROOTFS/$sub" sudo umount "$ROOTFS/$sub" || true fi done } trap cleanup EXIT echo "[+] Binding chroot filesystems..." for fs in dev dev/pts proc sys run; do sudo mount --bind "/$fs" "$ROOTFS/$fs" done echo "[+] Ensuring /etc/resolv.conf for DNS inside chroot" sudo cp /etc/resolv.conf "$ROOTFS/etc/resolv.conf" echo "[+] Entering your chroot shell..." echo "Type exit to leave" sudo chroot "$ROOTFS" /usr/bin/qemu-aarch64-static /bin/bash