Skip to content

Releases: Aitherium/awnix

awnix gobbonet iso — 2026.08.24 (x86_64)

Choose a tag to compare

Built by CI on the awnix AWS runner from 8e287d5308b104c1af79a638b28065f274c22369. Reassemble with assemble-awnix-iso.sh (Linux/macOS) or assemble-awnix-iso.ps1 (Windows), then verify against SHA256SUMS before booting.

awnix full iso — 2026.08.24 (x86_64)

Choose a tag to compare

Built by CI on the awnix AWS runner from bb2fd28dec3831a564ef160ff75352db116134ab. Reassemble with assemble-awnix-iso.sh (Linux/macOS) or assemble-awnix-iso.ps1 (Windows), then verify against SHA256SUMS before booting.

awnix AI ISO — 2026.08.21 (x86_64, llama.cpp + model catalogue)

Choose a tag to compare

@wizzense wizzense released this 21 Aug 21:32

awnix with inference. Boots, asks three questions, and can fetch a model sized to the hardware it is actually running on.

This is the AI variant of awnix-iso-2026.08.21. Same base, same first-boot setup, plus a llama.cpp runtime and a model catalogue.

What it adds over the base ISO

  • PrismML llama.cpp — stock llama.cpp cannot load Bonsai's ternary weights; this is the fork that can, shipped as a prebuilt binary with a bundled runtime chain (CentOS Stream 9's libstdc++ tops out below what the binary needs).
  • A model catalogue (/usr/local/sbin/awnix-models.yaml) and a selector that picks for you.
  • Weights are not in the image. A 27B is bigger than this whole ISO; they are fetched on first use.

It picks a model your machine can run

The previous behaviour was to fetch Bonsai-27B unconditionally — 6833 MB, then a guaranteed OOM on anything under ~8 GB. The cost was paid before the failure, which from the outside is indistinguishable from a broken image.

It now takes the largest model fitting half your VRAM (or RAM, with no GPU). Half, because llama.cpp needs room for the KV cache and context on top of the weights, and a model that loads then dies mid-generation is worse than one that never loaded.

detected picks download
1 GB Bonsai-1.7B 441 MB
4 GB Bonsai-4B 1025 MB
8 GB Bonsai-8B 2081 MB
12 GB Bonsai-8B 2081 MB
24 GB Bonsai-27B 6833 MB
under ~900 MB refuses, and says why

A 4 GB card — a GTX 1050 Ti, say — lands on Bonsai-4B rather than downloading 6.8 GB it cannot load.

Override with AWNIX_MODEL=bonsai-27b (or the older BONSAI_SIZE=27B). An explicit choice is honoured without a fit check: refusing a deliberate instruction is its own defect.

Config, not code

models:
  my-model:
    source: huggingface
    path: "org/repo/resolve/main/model.gguf"
    file: "model.gguf"
    size_mb: 1234

Adding a model is an entry in awnix-models.yaml. Nothing in the launcher changes. awnix-model-select.py --list shows what is catalogued; --plan shows exactly what would be fetched.

Four Aitherium fleet models are catalogued and opt-in — they are never reached by the default ladder, because a first boot should not pull 20 GB unasked:

awnix-model-select.py --model gemma4-12b --plan

orchestrator (4.8 GB) · gemma4-12b (7.3 GB) · qwen36-27b (9.1 GB) · deepseek-v4-flash (21.7 GB)

They are mirrored as .partN slices, for the same 2 GiB asset cap that splits this ISO, and are rejoined and size-checked on download.

Download

cat awnix-x86_64.iso.0*.part > awnix-x86_64.iso
sha256sum -c SHA256SUMS --ignore-missing
cmd /c copy /b awnix-x86_64.iso.00.part + awnix-x86_64.iso.01.part + awnix-x86_64.iso.02.part awnix-x86_64.iso

The reassembled image is the install.iso line in SHA256SUMS:

4ab48a63787b4d0a76fab7e715be4051200eccd04c829596d045143af01d8f12

The split was verified by streaming the parts back through sha256sum and comparing to the original before any of this was uploaded.

Known limits

  • x86_64 only.
  • Unbooted. Verified structurally — ISO 9660, El Torito boot catalog, CentOS Stream 9 boot sector — and built from an image whose model selector was run inside it, offline, and passed 18/18. It has not been booted on hardware or in a VM. Untested, not broken; please say so if it fails for you.
  • The first-boot link step is optional and declining it costs nothing else.
  • Bonsai needs --reasoning-budget; the shipped launcher sets it. Without it the Qwen3 chat template opens a <think> block that never closes and content comes back empty, which reads as a broken model.

Apache-2.0.

awnix ISO — 2026.08.21 (x86_64)

Choose a tag to compare

@wizzense wizzense released this 21 Aug 20:14

A bootable awnix image: immutable Linux with the seven aw* tools already in it, and a first-boot setup that asks three questions — all of which you can decline.

What you get

awnix-x86_64.iso — 2.68 GB, ISO 9660 with an El Torito boot record, built from Containerfile.awnix with bootc-image-builder.

Baked in: awgit awgraph awrelay awm awshare awrecover awseal. Rootless podman, buildah, skopeo, crun. Python 3.11. No services, no agent, no account.

First boot

It asks three things and every one is declinable, because "No services. No agent. No account." is the point — a setup that demanded an account to finish would contradict the thing being installed.

  1. Hostname.
  2. Components. The menu is probed, not printed from a list: it checks what is actually installable and offers only that. Anything it cannot verify is shown as unchecked rather than dropped, so being offline shrinks the menu honestly instead of silently.
  3. Link this machine to a fleet, via the OAuth device flow. Skip it and you have a complete standalone box; run awnix-setup later if you change your mind.

Re-run at any time with awnix-setup. Choices land in /etc/awnix/setup.json.

Download

GitHub caps a release asset at 2 GiB, so the image ships in two parts.

cat awnix-x86_64.iso.00.part awnix-x86_64.iso.01.part > awnix-x86_64.iso
sha256sum -c SHA256SUMS --ignore-missing
# Windows
cmd /c copy /b awnix-x86_64.iso.00.part + awnix-x86_64.iso.01.part awnix-x86_64.iso

Verify before you boot it. The install.iso line in SHA256SUMS is the reassembled image:

c5d912c9855b81acab293e953e686682c85e455ad310fe88876c9b48b4f19237

The split was checked by streaming both parts back through sha256sum and comparing to the original — byte-identical, not assumed.

Installing

Boot it on hardware or a VM; it runs the standard Anaconda installer. Being a bootc image, updates are bootc upgrade against the container image rather than a package manager, and roll back atomically.

Build it yourself

Nothing here needs this release:

podman build -t awnix-base:latest -f Containerfile.awnix .
./build-awnix-iso.sh --image localhost/awnix-base:latest

The build script refuses below 40 GB free, and it decides success from the artifact rather than the exit code — measured while producing this image, bootc-image-builder printed Build complete!, wrote a valid bootable ISO, and exited 127. It also verifies the result is genuinely bootable (CD001 at 0x8001, El Torito in sector 17), because "a file with an .iso extension exists" and "this boots" are different claims.

Known limits

  • x86_64 only. No aarch64 build yet.
  • Unbooted. The image is verified structurally — ISO 9660 magic, El Torito boot catalog, CentOS Stream 9 boot sector — and built from an image whose seven tools were confirmed to import. It has not yet been booted on real hardware. Treat that as untested rather than broken, and tell us if it fails.
  • The first-boot link step targets Aitherium's device-flow endpoint. Declining it costs you nothing else.

Apache-2.0, same as every aw* package it carries.