{% extends "layout.html" %} {% from "_partials/page_description.html" import page_description %} {% block title %}Live env - pixie{% endblock %} {% block subnav %} {% endblock %} {% block content %} {% set ss = live_env_setup_state or {} %} {{ page_description('boombox', 'The pixie live env that the pixie-inventory / pixie-tui / pixie-flash-once / pixie-flash-always boot modes boot into: a disk image (the pixie-live-env catalog entry) booted over ephemeral nbdboot. Click Set up live env to fetch it and select it in one step; until then those boot modes render an "unavailable" plan.') }} {% if flash_error %}
{{ flash_error }}
{% endif %} {# ---- One-click setup -------------------------------------------- #}

Live env

{% if live_env_ready %} ready {% elif ss.state == 'running' %} setting up {% else %} not set up {% endif %}
{% if live_env_ready %}

Image {{ live_env_image_sha.effective[:12] }} is fetched and selected; the pixie-inventory / pixie-tui / pixie-flash-* modes nbdboot it. Nothing else to do.

{% else %}

One click fetches the pixie-live-env image (~900 MiB) + its arch-headless netboot bundle from the catalog, then selects the image. No catalog hopping or sha copying. It runs on the server; you can leave this page. Re-running when everything is already fetched just re-selects.

{% endif %} {# Progress (polled live while a setup runs). #}
Fetching {{ ss.step or 'live env' }}{% if ss.phase %} ({{ ss.phase }}){% endif %}...
{{ ss.error }}
Fetch + select in one step.
{# ---- Advanced: select by content sha ---------------------------- #}
Advanced: select by content sha

Manual override of what Set up above does automatically: point the live env at a specific fetched image by its content_sha256 (from its Catalog row). The image plus its netboot bundle (via the entry's netboot_src) must both be fetched.

{# Pick from fetched bindable images (sha -> name) rather than pasting a 64-hex sha. Only fetched images are usefully selectable; an arbitrary not-yet-fetched sha renders the unavailable plan anyway. A current override that isn't in the fetched list (e.g. a $PIXIE_..._SHA env value) stays selectable via the fallback option. #}
{% if not fetched_images %}No fetched images yet -- use Set up live env above, or Fetch one on the Catalog page.{% endif %} Blank falls back to {{ live_env_image_sha.env }} then unset. Effective: {% if live_env_image_sha.effective %}{{ live_env_image_sha.effective }}{% else %}(none){% endif %}. {% if live_env_image_sha.updated_at %}
Last updated: {{ live_env_image_sha.updated_at | fmt_ts }}.{% endif %}
Takes effect on the NEXT GET /pxe/<mac>; a target already mid-boot must be power-cycled.
{# ---- Options (config) ------------------------------------------- #}
Options
Tokens appended verbatim to the live-env kernel cmdline (after pixie.mac=, so last-token-wins on any conflict). Whitespace-separated; single line. Blank falls back to {{ live_env_extra_cmdline.env }} then no append. A machine with its own extra_cmdline binding overrides this global. Effective: {% if live_env_extra_cmdline.effective %}{{ live_env_extra_cmdline.effective }}{% else %}(none){% endif %}. Known-good values per hardware in docs/hardware-quirks.md. {% if live_env_extra_cmdline.updated_at %}
Last updated: {{ live_env_extra_cmdline.updated_at | fmt_ts }}.{% endif %}
Takes effect on the NEXT GET /pxe/<mac>; a target already mid-boot must be power-cycled.
{# Poll setup progress while a run is in flight; reload when it lands so the ready badge + selected sha update. #} {% endblock %}