{% extends "layout.html" %} {% from "_partials/page_description.html" import page_description %} {% block title %}Live env - pixie{% endblock %} {% block subnav %} {% endblock %} {% block content %} {% set lfs = live_env_fetch_state or {} %} {{ page_description('boombox', 'The pixie live env (netboot-pc bake: vmlinuz + initrd + live.squashfs) that the pixie-flash-once / pixie-flash-always / pixie-inventory / pixie-tui boot modes chain into. Fetch it from the configured source, or point that source at a mirror. Until all three files are staged, those boot modes fall back to an "unavailable" iPXE plan.') }} {% if flash_error %}
{{ flash_error }}
{% endif %} {# ---- Media state (output) --------------------------------------- #}

Staged media

{% if live_env_ready %} ready {% else %} not staged {% endif %}

Staged under {{ live_env_dir or '(unset)' }}, served to targets at /boot/pixie-live-env/. The renderer re-checks these files on every GET /pxe/<mac>, so a fresh fetch takes effect without a restart.

{% for name, size in live_env_files.items() %}
{{ name }}
{% if size is not none %} {{ (size / 1024 / 1024) | round(1) }} MiB {% else %} missing {% endif %}
{% endfor %}
{# ---- Fetch (action) --------------------------------------------- #}
Fetch live env
{% if lfs.state == 'fetching' %}
Fetching live-env{% if lfs.phase %} ({{ lfs.phase }}){% endif %}... this can take a while for the ~1 GiB squashfs.
{% elif lfs.state == 'error' %}
Last fetch failed: {{ lfs.error }}
{% elif lfs.state == 'done' %}
Last fetch staged the live env{% if lfs.sha256 %} (sha {{ lfs.sha256[:12] }}){% endif %}.
{% endif %} {# Editable source, then the fetch button that consumes it. #}
Tarball to download (https:// or oras://); must unpack to vmlinuz + initrd + live.squashfs. Blank falls back to {{ live_env_src.env }} then the latest pixie GitHub release. Effective: {{ live_env_src.effective }}. {% if live_env_src.updated_at %}
Last updated: {{ live_env_src.updated_at | fmt_ts }}.{% endif %}
Downloads + stages the three files; overwrites what's there.
{# ---- Options (config) ------------------------------------------- #}
Options
Tokens appended verbatim to the pixie-live-env kernel cmdline (after pixie.mac= / bty.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.
{% if lfs.state == 'fetching' %} {# The fetch runs on the server's thread pool; reload so the spinner flips to ready / error on its own. #} {% endif %} {% endblock %}