Current images
When a new amd64 or aarch64 build is published, its torrent and checksum appear here automatically. Images are distributed by BitTorrent only.
8 GiB RAM recommended for the live memdisk path. Guests with less often fail after boot with an empty root.
Loading published media metadata...
Apple Silicon Mac (arm64): run it in UTM
The aarch64 (arm64) images run on Apple Silicon Macs (M1 and later) as a virtual machine in UTM, a free QEMU-based app for macOS. They do not replace macOS or boot the Mac directly.
Install from the aarch64 ISO
- Download the aarch64 ISO torrent above and check the file against the SHA256 shown.
- Open UTM and click “+” to open the new virtual machine wizard.
- Select “Virtualize”. The aarch64 image matches the Mac's CPU, so UTM runs it with the hypervisor instead of emulating it.
- Choose RAM and CPU cores, click “Browse” to select the aarch64 ISO, then set the disk size.
- Save the VM and press Run, then install to the virtual disk. The installer always sets up a ZFS root.
- After the install, quit the VM, eject the installer ISO from the drive menu, and start the VM again.
Use a published VM disk image
- When an aarch64 VM image appears in the table above, download its torrent and check the SHA256.
- Create a VM with the wizard, then open its settings. Under Drives, click “New…” and import the image. UTM converts a non-raw image to QCOW2 when it imports it.
- UTM boots drives in list order: delete the empty drive the wizard made, or move the imported drive to the top.
These steps follow UTM's own documentation: VM wizard · drives and import · QEMU settings
Writing a USB stick
For a USB stick, use the memdisk-installer .img from the table above, not the ISO, and write it to the whole stick byte for byte. Check its SHA256 first. Writing erases everything on the stick.
Linux
GNOME Disks: select the USB stick, open the drive menu in the window's title bar (the button with three vertical dots), choose Restore Disk Image…, pick the .img and start restoring.
Or with dd. Find the stick with lsblk first: /dev/sdX stands for the whole stick (on some machines /dev/mmcblk0), not a partition such as /dev/sdX1, and every byte on it is overwritten. Replace BUILD in the commands with the build number of the image you downloaded.
sudo dd if=HackMiami-amd64-BUILD-memdisk-installer.img of=/dev/sdX bs=4M conv=fsync status=progress
Windows and macOS
Rufus on Windows: select the .img; if Rufus asks, choose DD Image mode. Or balenaEtcher on Windows or macOS: Flash from file, select the stick, Flash.
Ubuntu's Startup Disk Creator (usb-creator) is not supported: it rejects these images. Use GNOME Disks or dd instead.
Check the stick
cloudbsd-media-validate compares the stick with the image byte for byte, then runs the image checks on the stick (boot layout, loader, checksums). It only reads the stick. It needs Python 3 and runs on Linux or FreeBSD:
curl -fsSLO https://hackmiami.cloudbsd.ai/download/cloudbsd-media-validate &&
echo "5e88fad17542d523a91b9a9ee5f46602500375d8de6041343ce10630106ddaa7 cloudbsd-media-validate" | sha256sum -c - &&
sudo python3 cloudbsd-media-validate --device /dev/sdX HackMiami-amd64-BUILD-memdisk-installer.img
The last line reads PASS when the stick is good; WARN lines are notes. A FAIL on device-compare names the first byte that differs: write the stick again.