···1616- ๐ **SSH Ready** - Pre-configured port forwarding (host:2222 โ guest:22)
1717- ๐๏ธ **Customizable** - Configure CPU, memory, cores, and disk options
1818- ๐ฅ **Smart Caching** - Skips re-downloading existing ISO files
1919+- ๐ฎ **VM Management** - Start, stop, list, and inspect virtual machines
2020+- ๐ **State Persistence** - SQLite database tracks VM state and configuration
2121+- ๐ท๏ธ **Auto-naming** - Generates unique names for VMs automatically
2222+- ๐ **Bridge Networking** - Support for bridge networking with custom network
2323+ interfaces
2424+- ๐ **MAC Address Management** - Automatic MAC address generation for network
2525+ devices
19262027## ๐ Requirements
2128···6370| `-m, --memory <size>` | RAM allocation | `2G` |
6471| `-d, --drive <path>` | Path to virtual disk image | None |
6572| `--disk-format <format>` | Disk format (qcow2, raw, etc.) | `raw` |
6666-| `--bridge <name>` | Name of the network bridge to use for networking (e.g., br0) | None |
7373+| `--size <size>` | Size of the VM disk image to create if it does not exist | `20G` |
7474+| `-b, --bridge <name>` | Name of the network bridge to use for networking (e.g., br0) | None |
7575+7676+### VM Management Commands
7777+7878+| Command | Description |
7979+| ---------------------------------- | --------------------------------------------- |
8080+| `openindiana-up ps` | List all running virtual machines |
8181+| `openindiana-up ps --all` | List all virtual machines (including stopped) |
8282+| `openindiana-up start <vm-name>` | Start a stopped virtual machine |
8383+| `openindiana-up stop <vm-name>` | Stop a running virtual machine |
8484+| `openindiana-up inspect <vm-name>` | Inspect virtual machine configuration |
67856886## ๐ก Examples
6987···95113openindiana-up -o ~/isos/openindiana.iso
96114```
97115116116+### VM Management Examples
117117+118118+```bash
119119+# List all running VMs
120120+openindiana-up ps
121121+122122+# List all VMs (including stopped ones)
123123+openindiana-up ps --all
124124+125125+# Start a specific VM
126126+openindiana-up start my-vm-name
127127+128128+# Stop a running VM
129129+openindiana-up stop my-vm-name
130130+131131+# Inspect VM configuration
132132+openindiana-up inspect my-vm-name
133133+```
134134+135135+### Bridge Networking
136136+137137+```bash
138138+# Use bridge networking (requires bridge setup)
139139+openindiana-up --bridge br0
140140+```
141141+142142+### Automatic Disk Creation
143143+144144+```bash
145145+# Automatically create a 50GB disk if it doesn't exist
146146+openindiana-up --drive my-disk.qcow2 --disk-format qcow2 --size 50G
147147+```
148148+98149## ๐ฅ๏ธ Console Setup
99150100151When OpenIndiana boots, you'll see the boot menu. For the best experience with
···158209- Downloaded ISOs are cached and won't be re-downloaded if they exist
159210- KVM acceleration requires `/dev/kvm` access on your host system
160211- Serial console is connected to stdio for direct interaction
212212+- VM state is automatically persisted in a SQLite database at
213213+ `~/.openindiana-up/state.sqlite`
214214+- Each VM gets a unique randomly generated name using the Moniker library
215215+- MAC addresses are automatically generated for network devices
216216+- Bridge networking requires proper bridge configuration and may need sudo
217217+ privileges
218218+- VMs can be managed independently with start/stop/inspect commands
161219162220## ๐ License
163221