Is this superfluous? Probably.
But do I care? No.
Why? I need to practice my C-fu, dagnabbit.
- default virtual machine directory at
/usr/local/Library/xhyve/machines
. - prints virtual machine info:
xhyve-manager info CentOS
. - starts virtual machine:
sudo xhyve-manager start FreeBSD
- edits virtual machine config:
xhyve-manager edit Ubuntu
- Manage lifecycle of virtual machines (inspired by bhyvectl on FreeBSD)
- Build and package virtual machines
- Native, OS X GUI (inspired by virt-manager on Linux)
- have to extract kernel and initrd from installation ISO before booting into the live environment
- have to extract kernel and initrd from new installation before rebooting
- need to create virtual disk with
dd
- need to connect with a VNC viewer
- [ ]
list
list virtual machines - [ ]
create <name>
create a new virtual machine - [X]
edit<name>
edit virtual machine configuration with external editor (for now). - [ ]
delete <name>
delete virtual machine - [ ]
info <name>
show info about the virtual machine - [X]
start <name>
start virtual machine.
parse a $HOME/xhyve VMs/<name>.xhyvm
directory. This is where we’ll store everything but the storage options.
- [X] memory size
- [X] number of cpus
- [X] networking options
- [X] storage: internal or external, and mount latter depending on whether ISO is specified
- [X] type: linux or bsd so we know which initialization to load
- [X] acpi: enabled or not
- [X] CD: specify where this is on disk. Automatically extract the kernel and initrd (Put this in
<name>.xhyvm
) or just have user specify it. - [X] HDD: specify where this is on disk; create if it doesn’t exist or just have user specify it.
external_storage_configoptions
path to the CD img (e.g. /Users/aj/xhyve VMs/Ubuntu.xhyvm/ubuntu.iso)
At last, start the VM and hope for the best. And also login. And start a VNC server, probably, if we want something graphical.
- Arch Linux
/arch/boot/x86_64/{archiso.img,vmlinuz}
- CentOS
/isolinux/{initrd.img,vmlinuz}
- Ubuntu
/install/{initrd.gz,vmlinuz}
- Debian
/install.amd/{initrd.gz,vmlinuz/