{% extends "ui/_layout.html" %}
{% block title %}Netboot artifacts - bty-web{% endblock %}
{% block subnav %}
{# Three jump links: artifacts inventory (with live fetch UI),
TFTP daemon control, recent activity. v0.41.2+: the old
/ui/downloads page collapsed into here since the only
downloads bty-web does are netboot artifacts. #}
{% endblock %}
{% block intro %}
{% from "ui/_intro_box.html" import render as intro_box %}
{% call intro_box() %}
The bty live env PXE clients chain into when their assignment has
boot_mode=bty-flash-always. Trigger a fetch from the
artifacts header to pull the kernel + initrd + squashfs + sha256
manifest for tag {{ netboot_tag }} from
{{ netboot_repo }}; rows below tick from missing to
present as each file lands. The TFTP daemon panel is purely
observational; the router-side DHCP / PXE cheatsheet lives on the
Settings page.
{% endcall %}
{% endblock %}
{% block content %}
| Item | Status | Progress | Bytes | Action |
|---|---|---|---|---|
| No active fetches. | ||||
| Target | {{ tftp_probe.host }}:{{ tftp_probe.port }} |
|---|---|
| Reachable | {% if tftp_probe.reachable %} yes {% else %} no {% endif %} |
{{ tftp_probe.filename }} present
|
{% if tftp_probe.file_present %} yes {% elif tftp_probe.reachable %} missing {% else %} unknown {% endif %} |
| Detail | {{ tftp_probe.detail or "-" }} |
{% if tftp_probe.ok %}
The TFTP server at {{ tftp_probe.host }}:{{ tftp_probe.port }}
is up and serves the UEFI iPXE bootfile -- PXE clients on this subnet
should chainload successfully.
{% elif tftp_probe.reachable %}
The server is reachable but doesn't have
{{ tftp_probe.filename }}. UEFI PXE-Boot clients will 404
at the bootfile step. Check the TFTP root contents (the bty-tftp
sidecar bakes ipxe.efi in by default).
{% else %}
Nothing answered on {{ tftp_probe.host }}:{{ tftp_probe.port }}.
On a container deploy: is bty-tftp.service up
(systemctl status bty-tftp /
podman ps)? On a host install:
systemctl status dnsmasq.service. The probe aims at
the withcache host by default; override it with
[netboot] tftp_probe_host (env
$BTY_NETBOOT_TFTP_PROBE_HOST) if your TFTP daemon
lives elsewhere (e.g. on the LAN router).
{% endif %}
dnsmasq.servicejournalctl -u dnsmasq.service
{% endif %}