61 lines
2.5 KiB
Bash
61 lines
2.5 KiB
Bash
#!/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
|