Barn 0.9.0
Barn 0.9.0 brings Linux labs and native macOS machines into one command-line tool, with clearer diagnostics and recovery for interrupted operations.
Install 0.9.0 · Download assets · Full changelog
macOS machines on Apple Silicon
barn mac creates named macOS 27 machines with a desktop, SSH, shared folders,
and text clipboard sharing. The first machine installs a base from Apple’s
verified restore image; subsequent machines clone it with separate writable
disks, credentials, and private subnets.
Mac guests require Apple Silicon, macOS 27+, and the native Barn Mac.app
component. The 0.9.0 release archives contain the CLI; follow the
Mac guide to build the native
component from the release tag with Xcode 27.
Apple allows two macOS VMs running at a time, including other tools. Mac state
is independent of the Linux inventory and survives Linux destroy and purge.
Easier Linux lab recovery
Repeat barn up to continue unfinished setup. A failed first start can be
retried after correcting the inventory, and an interrupted destroy can resume.
After a host reboot, a QEMU PID reused by an unrelated process no longer blocks
the lab: Barn recognizes the old VM as stopped without signaling that process.
Concurrent modifying commands wait up to ten minutes and identify the operation
holding the lock. Status and access commands remain available. Plans now list
each node’s data disks, including the default 128 GiB /data disk.
Diagnostics with a next step
Inventory errors include the rule, value, and source line when available, with
suggestions for mistyped vm_* fields. Failed external commands retain the
useful tail of stderr. JSON failures use a consistent class and optional
reason and next fields.
Host setup explains its package and network changes before requesting privileges. Barn preserves linked SSH configuration files and prints the Include line to add through your dotfile manager.
Updated Linux images
The release embeds catalog 2026093001, with 41 artifacts in nine families.
Debian 12/13 and Rocky Linux 8/9 use Barn-normalized images. Debian includes XFS
tools and en_US.UTF-8, while keeping C.UTF-8 as its default locale. Rocky
Linux 8 uses its shipped chrony configuration and chronyd service, with SELinux
labels completed during image creation to avoid first-boot relabeling. Ubuntu
keeps Canonical’s original image bytes. Ubuntu 24.04 remains the default.
barn update refreshes the Linux image catalog; it does not upgrade the Barn
application or replace an existing VM’s disk.
Upgrade notes
- The command is
barn, the preferred configuration file isbarn.yml, and state lives under~/.barn; environment variables useBARN_*. - The destructive
rmalias is removed. Usepurgeexplicitly when you intend to discard the complete Linux deployment, including persistent disks and keys. - For scripts,
recreate_requiredandnodes_removedarereasonvalues undererror: "conflict";resource_conflictbecomesresource. Missing inventory and unknown images return usage/2. Read the exit-code reference. stopandstartkeep disks.recreatereplaces the root and non-persistent disks. Persistent Linux data disks may still be reset if their filesystems are unrecognized or confirmed damaged; review the storage rules.
Start with the Linux quick start or the macOS guide. Report problems with the command, Barn version, host platform, and relevant logs in GitHub Issues.