#!/bin/sh # # PROVIDE: linfi # REQUIRE: LOGIN # KEYWORD: shutdown nojail . /etc/rc.subr name=linfi rcvar=${name}_enable start_cmd="${name}_start" stop_cmd="${name}_stop" status_cmd="${name}_status" load_rc_config $name tmux_name="linfi" linfi_start() { /usr/local/bin/tmux new-session -d -s "$tmux_name" "/usr/bin/env PASSTHROUGH='{{ linfi.pci_blocklist }}' /usr/local/bin/bash /usr/local/bin/launch_linfi start linfi {{ linfi.zfs_dataset }} {{ linfi.zfs_mountpoint }}" # /vm/.iso/alpine-extended-3.20.3-x86_64.iso } linfi_status() { if /usr/local/bin/tmux has-session -t $tmux_name 2>/dev/null; then echo "$tmux_name is running." else echo "$tmux_name is not running." return 1 fi } linfi_stop() { /usr/local/bin/tmux has-session -t $tmux_name 2>/dev/null && ( /usr/local/bin/tmux kill-session -t $tmux_name sleep 10 bhyvectl --vm=linfi --destroy # kill `cat /var/run/linfi.pid` ) linfi_wait_for_end } linfi_wait_for_end() { while /usr/local/bin/tmux has-session -t $tmux_name 2>dev/null; do sleep 1 done } run_rc_command "$1"