DF-5765 / xfer.sh
#!/bin/sh # host-side helper: transfer a directory tree to the guest via vm.sh # run_root + base64 chunks (no scp port in vm.sh). # usage: ./xfer.sh <local-dir> <remote-dir> set -e LOCAL="$1"; REMOTE="$2" [ -n "$LOCAL" ] && [ -n "$REMOTE" ] || { echo "usage: $0 <local-dir> <remote-dir>"; exit 1; } VM=./dfbsd-qemu/vm.sh TAR=$(mktemp /tmp/opencode/pack.XXXXXX.tar) B64=$(mktemp /tmp/opencode/pack.XXXXXX.b64) tar -C "$LOCAL" -cf "$TAR" . gzip -9 -c "$TAR" | base64 -w 900 > "$B64" $VM run_root "rm -rf '$REMOTE' && mkdir -p '$REMOTE'" n=0 while IFS= read -r line; do n=$((n+1)) $VM run_root "printf '%s' '$line' >> '$REMOTE/pack.b64'" done < "$B64" echo "transferred $n chunks" $VM run_root "cd '$REMOTE' && b64decode -r pack.b64 | gunzip | tar xf - && rm pack.b64 && ls -la" rm -f "$TAR" "$B64" |