64 lines
1.4 KiB
Bash
Executable File
64 lines
1.4 KiB
Bash
Executable File
# Copyright (c) 2018-2020, diyIT.org
|
||
# All rights reserved.
|
||
#
|
||
# BSD 2-Clause License ("Simplified BSD License" or "FreeBSD License")
|
||
# https://diyit.org/license/
|
||
#
|
||
#
|
||
|
||
#!/usr/local/bin/bash
|
||
# ./ubuntu.sh under tmux
|
||
|
||
# clean cached state
|
||
bhyvectl --destroy --vm=ubuntu
|
||
|
||
while true
|
||
do
|
||
|
||
bhyve -c 4 -m 16G -A -H -P \
|
||
-s 0,hostbridge \
|
||
-s 3,ahci-cd \
|
||
-s 4,virtio-blk,/dev/zvol/ship/raw/ubuntu \
|
||
-s 5,virtio-net,tap82,mac=00:0A:0B:0C:0D:82 \
|
||
-s 6,virtio-blk,/dev/zvol/ship/raw/ubuntu_data \
|
||
-s 29,fbuf,tcp=0.0.0.0:5982,w=1600,h=900 \
|
||
-s 30,xhci,tablet \
|
||
-s 31,lpc -l com1,/dev/nmdm82A \
|
||
-l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI.fd \
|
||
ubuntu
|
||
|
||
bhyve_exit=$?
|
||
# bhyve returns the following status codes:
|
||
# 0 - VM has been reset
|
||
# 1 - VM has been powered off
|
||
# 2 - VM has been halted
|
||
# 3 - VM generated a triple fault
|
||
# all other non-zero status codes are errors
|
||
#
|
||
if [ $bhyve_exit = 1 ] || [ $bhyve_exit = 2 ]
|
||
then
|
||
break
|
||
fi
|
||
echo `date` - restarting ubuntu in 5 seconds - press ctrl-c to stop
|
||
sleep 5
|
||
|
||
done
|
||
|
||
exit $?
|
||
|
||
# -s 3,ahci-cd,/mnt/linux/ubuntu-18.04.3-server-amd64.iso \
|
||
|
||
# bhyvectl --get-all --vm=ubuntu
|
||
|
||
# cu -l /dev/nmdm82B
|
||
# (This uses cu() so press ~+Ctrl-D to exit)
|
||
|
||
#on base system:
|
||
#zfs create -V 32G -o refreservation=none ship/raw/ubuntu
|
||
#zfs create -V 128G -o refreservation=none ship/raw/ubuntu_data
|
||
# on boot
|
||
#ifconfig tap82 create
|
||
#ifconfig bridge1 addm tap82 up
|
||
#ifconfig tap82 up
|
||
#ifconfig tap82 inet6 auto_linklocal
|