37 lines
1000 B
Bash
37 lines
1000 B
Bash
#!/bin/bash
|
|
|
|
SYSROOT="/opt/sysroot"
|
|
QEMU_BIN="/usr/bin/qemu-arm-static"
|
|
|
|
|
|
echo "正在准备 OpenWrt 模拟环境..."
|
|
|
|
# 1. 拷贝 QEMU 静态二进制文件
|
|
cp "$QEMU_BIN" "$SYSROOT/usr/bin/"
|
|
|
|
# 2. 挂载必要文件系统
|
|
mount_fs() {
|
|
for dir in proc sys dev dev/pts tmp; do
|
|
mkdir -p "$SYSROOT/$dir"
|
|
if ! mountpoint -q "$SYSROOT/$dir"; then
|
|
if [[ "$dir" == "proc" ]]; then
|
|
mount -t proc proc "$SYSROOT/$dir"
|
|
elif [[ "$dir" == "sys" ]]; then
|
|
mount -t sysfs sysfs "$SYSROOT/$dir"
|
|
else
|
|
mount --bind "/$dir" "$SYSROOT/$dir"
|
|
fi
|
|
fi
|
|
done
|
|
}
|
|
|
|
mount_fs
|
|
|
|
|
|
# 3. 执行进入命令
|
|
# 注意:OpenWrt 默认没有 bash,通常使用 /bin/sh (busybox)
|
|
echo "------------------------------------------------"
|
|
echo "成功进入 OpenWrt 环境。输入 'exit' 退出。"
|
|
echo "------------------------------------------------"
|
|
|
|
chroot "$SYSROOT" /usr/bin/$(basename $QEMU_BIN) /bin/sh |