ohhhhhhhhhhh (exclude linux-extra-rootfs.img build artifact)

This commit is contained in:
Linehu
2026-10-01 23:13:42 +08:00
parent 737a2cb0db
commit 1074962546
533 changed files with 133239 additions and 5460 deletions
+33
View File
@@ -0,0 +1,33 @@
#!/usr/bin/env bash
# Compare loop-mount view vs debugfs view of one "BAD" lib in extra-rootfs.
set -uo pipefail
IMG="${1:?usage: tmp_dbg_one.sh IMG}"
NAME="${2:-libz.so.1.3.2}"
OUT=/tmp/deshab-dbgone
rm -rf "$OUT"; mkdir -p "$OUT"
L=$(losetup --find --show --partscan "$IMG")
sleep 0.3
M=$(mktemp -d)
mount -o ro "${L}p1" "$M" || { echo ESP_MOUNT_FAIL; exit 1; }
# Copy the extra-rootfs image OFF drvfs first (loop off drvfs is suspect).
cp "$M/boot/linux-extra-rootfs.img" "$OUT/extra.img"
umount "$M"; rmdir "$M"; losetup -d "$L"
echo "=== debugfs view (no kernel fs) ==="
debugfs -R "dump /usr/lib/$NAME" "$OUT/df.$NAME" "$OUT/extra.img" 2>&1 | tail -2
ls -l "$OUT/df.$NAME" 2>/dev/null
head -c 64 "$OUT/df.$NAME" 2>/dev/null | od -A d -t x1 | head -5
echo "=== loop-mount view (kernel ext4) ==="
R=$(mktemp -d)
if mount -o loop,ro "$OUT/extra.img" "$R"; then
ls -l "$R/usr/lib/$NAME"
head -c 64 "$R/usr/lib/$NAME" | od -A d -t x1 | head -5
md5sum "$R/usr/lib/$NAME" "$OUT/df.$NAME"
umount "$R"
else
echo "loop mount FAILED"
fi
rmdir "$R"
readelf -h "$OUT/df.$NAME" 2>&1 | grep -E 'Class|Type|Entry|program headers|section header size' || echo "readelf failed on debugfs copy"