DF-2237 / p0_controls.sh
#!/bin/sh # DF-2237 phase 0: fresh boot, push pack, build, env capture, run CONTROLS # (mode-0 harness: plain + benign case conversions; must NOT panic). set -e cd "$(dirname "$0")" VM=../../../dfbsd-qemu/vm.sh CFG=../../../dfbsd-qemu/config echo "== P0: reset with-src ==" $VM reset with-src echo "== push pack ==" $VM run_root 'mkdir -p /root/df2237' scp -q -F $CFG armtbl.c df2237_mod.c mmap0.c build.sh dfbsd:/root/df2237/ echo "== build on guest ==" $VM run_root 'sh /root/df2237/build.sh' 2>&1 | tee build.log echo "== env capture ==" { $VM run_root 'uname -a; sysctl kern.securelevel; cc --version | head -1; \ sha256 /usr/src/sys/libiconv/iconv_xlat16.c; sysctl vm.min_address 2>/dev/null; \ sysctl debug.debugger_on_panic debug.trace_on_panic' } 2>&1 | tee env.txt echo "== page-0 mapping check (unprivileged) ==" $VM run_user '/root/df2237/mmap0; echo "rc=$?"' 2>&1 | tee mmap0_user.log $VM run_root '/root/df2237/mmap0; echo "rc=$?"' 2>&1 | tee mmap0_root.log echo "== arm tables + run control harness (mode 0) ==" $VM run_root 'kldload /boot/kernel/libiconv.ko && /root/df2237/armtbl && \ kldstat; kldload /root/df2237/km0/df2237_0.ko' 2>&1 | tee run.log $VM run_root 'dmesg | tail -25' 2>&1 | tee dmesg.txt echo "== P0 done (guest left up, controls must show no panic) ==" |