github garybowers/bootimus v0.1.27

latest releases: v0.1.73, v0.1.70, v0.1.67...
3 months ago

v0.1.27

Distro Profiles

  • Data-driven distro detection — Distro support is now defined by profiles stored in the database instead of hardcoded logic. 25 built-in profiles ship with the binary.
  • Custom profiles — Add support for new distributions from the admin UI without a code change. Custom profiles take priority over built-in ones.
  • Remote profile updates — "Check for Updates" fetches the latest profiles from the central GitHub repository. No rebuild needed to support new distros.
  • New admin tabBoot > Distro Profiles shows all profiles with filename patterns, boot params, type, and version.
  • Disable remote checks--disable-remote-profiles flag / BOOTIMUS_DISABLE_REMOTE_PROFILES=true for air-gapped environments.
  • SystemRescue support — Added dedicated distro profile and extraction support.

Boot Parameters

  • Fully user-editable — Boot parameters are completely editable per image from the Properties panel.
  • Placeholder support{{BASE_URL}}, {{CACHE_DIR}}, {{FILENAME}}, {{SQUASHFS}} resolved at boot time.
  • Profile-driven defaults — Empty boot params fall back to the matching distro profile.
  • Re-detect button — Re-scan distro, squashfs, and boot params from the Properties modal using profiles. No re-extraction needed.
  • Re-extract support — Already-extracted images now show a "Re-Extract" button.
  • Distro selector — Manually set the distro profile on any image from the Properties modal.
  • Removed hardcoded boot params — All distro-specific boot params removed from the extractor. Profiles are the single source of truth.

Extraction Fixes

  • bsdtar fallback — When the Go ISO9660 library can't read an ISO (e.g. Ubuntu Server 24.04.3), extraction falls back to bsdtar if available.
  • Improved ISO9660 path matching — Handles version suffixes (;1), truncated 8.3 names, and case mismatches.
  • Fixed squashfs detection — Directory scan now completes before returning, so squashfs files are always found.
  • Reduced extraction log noise — Removed per-file directory traversal logging that spammed thousands of lines.

Arch Linux Boot Fix

  • Fixed SIOCGIFFLAGS: No such device — Changed Arch profile to use ip=:::::eth0:dhcp per Arch Wiki recommendation for USB NICs and slow link negotiation. (Arch Wiki reference)

TFTP Autoexec Fix

  • Fixed BIOS PXE boot with custom ports — TFTP autoexec script now respects BOOTIMUS_SERVER_ADDR and BOOTIMUS_HTTP_PORT. Previously it was hardcoded to use iPXE's ${next-server} variable and port 8080, breaking proxy DHCP setups and non-default ports. (#48)
  • Fixed HTTP autoexec — Replaced unsupported params/param iPXE commands with query string parameters.

Active Sessions

  • Stale session cleanup — Sessions older than 30 minutes are automatically cleaned up. Previously, disconnected clients left permanent ghost sessions.
  • Session cleanup on handler exit — Sessions are now removed when the HTTP handler returns, not just when all bytes are transferred.

Other Fixes

  • Fixed image deletion foreign key errorclient_images join table cleaned up before deletion.
  • Fixed ISO upload 401 — XHR upload now includes JWT Bearer token.
  • Fixed trailing space in boot params — Extraction now trims whitespace.
  • Alphabetical boot menu — Images sorted alphabetically (case-insensitive) in the PXE boot menu.

Documentation

  • New Distro Profiles Guide.
  • Updated README with distro profiles and custom profile instructions.

Docker

docker pull garybowers/bootimus:0.1.27

Don't miss a new bootimus release

NewReleases is sending notifications on new releases.