···1111- ๐ **Download and boot from URLs**: Automatically downloads ISO images from
1212 remote URLs
1313- ๐ **Local file support**: Boot from local ISO files
1414+- ๐ท๏ธ **Version shortcuts**: Simply specify a version like `14.3-RELEASE` to
1515+ auto-download
1616+- ๐ฏ **Smart defaults**: Run without arguments to boot the latest stable release
1717+ (FreeBSD 14.3-RELEASE)
1418- โก **Zero configuration**: Works out of the box with sensible defaults
1519- ๐ฅ๏ธ **Serial console**: Configured for headless operation with stdio console
1620- ๐ **Network ready**: Pre-configured with SSH port forwarding (host:2222 โ
1721 guest:22)
1822- ๐พ **Smart caching**: Automatically skips re-downloading existing ISO files
2323+- ๐ **Help support**: Built-in help with `--help` or `-h` flags
19242025## ๐ Prerequisites
2126···50555156## ๐ Quick Start
52575353-### Boot from URL (Recommended)
5858+### Default Usage (Easiest)
54595555-Download and boot the latest FreeBSD release:
6060+Simply run without any arguments to boot the latest stable FreeBSD release:
6161+6262+```bash
6363+./main.ts
6464+```
6565+6666+This will automatically download and boot FreeBSD 14.3-RELEASE.
6767+6868+### Boot with Version Shortcut
6969+7070+Specify just a version to auto-download and boot:
7171+7272+```bash
7373+./main.ts 14.3-RELEASE
7474+./main.ts 15.0-BETA3
7575+./main.ts 13.4-RELEASE
7676+```
7777+7878+### Boot from URL
7979+8080+Download and boot from a specific URL:
56815782```bash
5883./main.ts https://download.freebsd.org/ftp/releases/amd64/amd64/ISO-IMAGES/15.0/FreeBSD-15.0-BETA3-amd64-disc1.iso
···6489./main.ts /path/to/your/freebsd.iso
6590```
66919292+### Get Help
9393+9494+```bash
9595+./main.ts --help
9696+# or
9797+./main.ts -h
9898+```
9999+67100### Alternative Execution Methods
6810169102If the script isn't executable, you can run it directly with Deno:
7010371104```bash
7272-deno run --allow-run --allow-read --allow-env main.ts <iso-path-or-url>
105105+deno run --allow-run --allow-read --allow-env main.ts [options]
73106```
7410775108## ๐ฅ๏ธ Console Setup
···94127- **Memory**: 2GB RAM
95128- **Cores**: 2 virtual CPUs
96129- **Network**: User mode networking with SSH forwarding
9797-- **Console**: Serial console via stdio
130130+- **Console**: Enhanced serial console via stdio with proper signal handling
131131+- **Default Version**: FreeBSD 14.3-RELEASE (when no arguments provided)
9813299133## ๐ง Customization
100134···110144 "2G", // Change memory
111145 "-smp",
112146 "2", // Change CPU cores
147147+ "-chardev",
148148+ "stdio,id=con0,signal=off", // Enhanced console handling
149149+ "-serial",
150150+ "chardev:con0",
113151 // ... other options
114152 ],
115153 // ...
116154});
117155```
156156+157157+### Supported Version Formats
158158+159159+The script automatically recognizes and handles these version formats:
160160+161161+- `14.3-RELEASE` - Stable releases
162162+- `15.0-BETA3` - Beta versions
163163+- `13.4-RC1` - Release candidates
164164+- Any format matching: `X.Y-RELEASE|BETAX|RCX`
165165+166166+To change the default version when no arguments are provided, modify the
167167+`DEFAULT_VERSION` constant in `main.ts`.
118168119169## ๐ Project Structure
120170