DF-0762 / setup_h2.sh
#!/bin/sh # DF-0762 hammer2 setup (run as root on the guest). # Creates a hammer2 image, newfs's it, mounts it, chowns to the unprivileged user. set -e IMG=/root/h2test.img MNT=/h2test SIZE_MB=${1:-512} USER=maxx # load the in-tree hammer2 module (base system module, not custom) kldload -n hammer2 2>/dev/null || true kldstat -v 2>/dev/null | grep -q hammer2 || { echo "hammer2 module not loaded"; kldload hammer2; } # (re)create the image file rm -f "$IMG" dd if=/dev/zero of="$IMG" bs=1m count="$SIZE_MB" 2>&1 | tail -1 # vnconfig (DragonFly vnode disk) + newfs_hammer2 VND=vn0 vnconfig -c "$VND" "$IMG" 2>&1 echo "vn device: $VND" newfs_hammer2 -L TEST "/dev/$VND" 2>&1 | tail -5 # mount mkdir -p "$MNT" mount_hammer2 "/dev/${VND}@TEST" "$MNT" 2>&1 || mount_hammer2 "/dev/$VND" "$MNT" chmod 0777 "$MNT" chown -R "$USER":wheel "$MNT" 2>/dev/null || true df -h "$MNT" echo "SETUP_OK vn=$VND mnt=$MNT" echo "$VND" > /root/h2test.vn |