Files
Deshab-OS/CODE/linux/tmp_inspect_dev.sh
T

61 lines
2.5 KiB
Bash
Raw Normal View History

#!/usr/bin/env bash
# Inspect Arch rootfs + extra-rootfs /dev and mount binaries.
# Never loop-mount extra-rootfs from /mnt/d.
set -uo pipefail
OUT=/mnt/d/Code/DEAICUP/Deshab/.build_tmp/inspect_dev.out
exec > >(stdbuf -oL tee "$OUT") 2>&1
killall qemu-system-x86_64 2>/dev/null || true
echo "===== arch rootfs on SYSTEM (768M, ok to loop) ====="
ARCH=/mnt/d/Code/DEAICUP/Deshab/SYSTEM/boot/linux-rootfs.img
if [[ -f "$ARCH" ]]; then
r=$(mktemp -d)
if mount -o loop,ro "$ARCH" "$r"; then
echo "[arch] ls -ld $r/dev"
ls -ld "$r/dev" "$r/bin/mount" "$r/usr/bin/mount" "$r/sbin/mount" "$r/usr/sbin/mount" 2>&1 || true
echo "[arch] mount candidates"
ls -l "$r/bin/mount" "$r/usr/bin/mount" "$r/bin/busybox"* 2>&1 || true
echo "[arch] PATH bins: mount umount chroot"
for n in mount umount chroot bash; do
find "$r/bin" "$r/usr/bin" "$r/sbin" "$r/usr/sbin" -name "$n" 2>/dev/null | head
done
echo "[arch] /dev contents"
ls -la "$r/dev" | head -n 40
umount "$r"
fi
rmdir "$r"
fi
echo "===== extra-rootfs via native GPT ESP (debugfs, no drvfs 4G loop) ====="
IMG=/home/deshab/deshab-dev.img
LOOP=$(losetup --find --show --partscan "$IMG")
sleep 0.3
M=$(mktemp -d)
mount -o ro "${LOOP}p1" "$M"
EXTRA="$M/boot/linux-extra-rootfs.img"
ls -lh "$EXTRA" "$M/boot/linux-rootfs.img" || true
if [[ -f "$EXTRA" ]]; then
echo "[extra] debugfs ls /"
debugfs -R 'ls -l /' "$EXTRA" 2>/dev/null | head -n 40 || true
echo "[extra] debugfs stat /dev"
debugfs -R 'stat /dev' "$EXTRA" 2>/dev/null | head -n 25 || true
echo "[extra] debugfs ls /dev"
debugfs -R 'ls -l /dev' "$EXTRA" 2>/dev/null | head -n 40 || true
echo "[extra] debugfs stat /usr/bin/mount"
debugfs -R 'stat /usr/bin/mount' "$EXTRA" 2>/dev/null | head -n 15 || true
echo "[extra] debugfs stat /usr/bin/Xorg"
debugfs -R 'stat /usr/bin/Xorg' "$EXTRA" 2>/dev/null | head -n 12 || true
echo "[extra] debugfs stat /usr/lib/xorg/modules/drivers/modesetting_drv.so"
debugfs -R 'stat /usr/lib/xorg/modules/drivers/modesetting_drv.so' "$EXTRA" 2>/dev/null | head -n 12 || true
fi
if [[ -f "$M/boot/linux-rootfs.img" ]]; then
echo "[esp-arch] debugfs stat /usr/bin/mount"
debugfs -R 'stat /usr/bin/mount' "$M/boot/linux-rootfs.img" 2>/dev/null | head -n 12 || true
echo "[esp-arch] debugfs ls /bin"
debugfs -R 'ls -l /bin' "$M/boot/linux-rootfs.img" 2>/dev/null | tr ' ' '\n' | grep -E 'mount|busybox|bash' || true
fi
umount "$M"
losetup -d "$LOOP"
rmdir "$M"
echo DONE