- error state gets a 'Try again' button (settings are kept) plus links back to the disk / settings pages; the page reloads into it instead of only recolouring the bar - names are lowercased instead of rejected; system account names (root, caddy, docker, …) are refused with a clear message - plain wording: 'Server name' with a live http://<name>.local preview, 'Pick a disk' with an explicit erase warning, a readable confirm table (language label, disk size/type) and a Back button - the password hint says it is also the SSH / console password; the language hint says the wizard itself is English - wizard pages redirect to the progress page while an install is running - progress page: aria-live phase, aria-valuenow updates, 'lost connection' note, 'fine to close this page' - .local fallback on the reboot page: router device list, IP may change - live console banner says a network cable with internet is required - target gets a systemd-networkd-wait-online --any drop-in: boards with a second unplugged NIC (or Ethernet + Wi-Fi) waited up to 2 min at boot Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Wq1hzUp4ZmCKHDuLKCnu73
54 lines
2.4 KiB
HTML
54 lines
2.4 KiB
HTML
{% extends "base.html" %}
|
|
|
|
{% block title %}Step 2 — Disk · Furtka Installer{% endblock %}
|
|
{% block step_indicator %}<span class="step-indicator">Step 2 of 3</span>{% endblock %}
|
|
|
|
{% block content %}
|
|
<h1>Pick a disk</h1>
|
|
<p class="lede">Choose the disk Furtka will be installed on. <strong>Everything on it will be erased.</strong> We pre-select the one that looks fastest and healthiest.</p>
|
|
|
|
{% set usable = drives | selectattr("usable") | list %}
|
|
{% set pick = selected if (selected and usable | selectattr("name", "equalto", selected) | list) else (usable[0].name if usable else "") %}
|
|
|
|
{% if error %}
|
|
<div class="alert alert-error" role="alert">{{ error }}</div>
|
|
{% endif %}
|
|
|
|
{% if not usable %}
|
|
<div class="alert alert-error" role="alert">
|
|
{% if drives %}
|
|
None of the disks in this computer is big enough for Furtka (it needs at least 16 GB).
|
|
{% else %}
|
|
No disk found to install onto. Check that the disk is connected, and in the BIOS/UEFI settings
|
|
that the SATA mode is "AHCI" rather than "RAID" or "Intel RST" — Linux can't see disks in RAID mode.
|
|
{% endif %}
|
|
</div>
|
|
{% endif %}
|
|
|
|
<form method="post" action="{{ url_for('install_step_2') }}">
|
|
<div class="drive-list">
|
|
{% for d in drives %}
|
|
<label class="drive{% if not d.usable %} drive-disabled{% endif %}">
|
|
<input type="radio" name="boot_drive" value="{{ d.name }}"
|
|
{% if not d.usable %}disabled{% elif d.name == pick %}checked{% endif %} />
|
|
<span class="name">{{ d.name }}</span>
|
|
{% if not selected and d.usable and loop.first %}
|
|
<span class="badge-recommended">Recommended</span>
|
|
{% endif %}
|
|
<span class="meta">
|
|
<span class="chip">{{ d.size }}</span>
|
|
<span class="chip">{{ d.type_label }}</span>
|
|
{% if d.usable %}<span class="chip">{{ d.health_label }}</span>{% endif %}
|
|
</span>
|
|
{% if d.reason %}<span class="drive-note">{{ d.reason }}</span>{% endif %}
|
|
{% if d.warning %}<span class="drive-note">{{ d.warning }}</span>{% endif %}
|
|
</label>
|
|
{% endfor %}
|
|
</div>
|
|
|
|
<div class="actions">
|
|
<button type="submit" class="btn btn-primary" {% if not usable %}disabled{% endif %}>Next — review</button>
|
|
<a href="{{ url_for('install_step_1') }}" class="btn btn-link">← Back</a>
|
|
</div>
|
|
</form>
|
|
{% endblock %}
|