Walking-skeleton install on a real VM surfaced two archinstall 4.x schema breakages that the wizard hit only at runtime: - `use_entire_disk` was removed as a `config_type`. Now builds a full `default_layout` disk_config by calling `suggest_single_disk_layout` (forced ext4 + no separate /home, which bypasses its interactive prompts) and serializing the returned DeviceModification. - Credentials keys renamed to plaintext sentinels: `!root-password` and `!password`. Users with neither `!password` nor `enc_password` are silently dropped by `User.parse_arguments` — which is why the first real install booted but wouldn't log in. Also rolls in Robert's UX feedback quick-wins: `(Recommended)` prefix on the default boot entry across GRUB/syslinux/systemd-boot, and less-jargon hints on the step-1 hostname/username fields. iso/README loses three stale bullets that described pre-15b876c behaviour. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
52 lines
2.1 KiB
HTML
52 lines
2.1 KiB
HTML
{% extends "base.html" %}
|
|
|
|
{% block title %}Step 1 — Account · Furtka Installer{% endblock %}
|
|
{% block step_indicator %}<span class="step-indicator">Step 1 of 3</span>{% endblock %}
|
|
|
|
{% block content %}
|
|
<h1>Account & hostname</h1>
|
|
<p class="lede">Set the server name and your administrator account.</p>
|
|
|
|
{% if errors %}
|
|
<div class="alert alert-error">
|
|
<strong>Please fix the following:</strong>
|
|
<ul>
|
|
{% for e in errors %}<li>{{ e }}</li>{% endfor %}
|
|
</ul>
|
|
</div>
|
|
{% endif %}
|
|
|
|
<form method="post" action="{{ url_for('install_step_1') }}">
|
|
<div class="field">
|
|
<label for="hostname">Hostname</label>
|
|
<input type="text" id="hostname" name="hostname" required value="{{ values.hostname }}" autocomplete="off" />
|
|
<span class="hint">The name your server shows up as on your home network. Lowercase letters, numbers, and dashes only.</span>
|
|
</div>
|
|
<div class="field">
|
|
<label for="username">Admin username</label>
|
|
<input type="text" id="username" name="username" required value="{{ values.username }}" autocomplete="username" />
|
|
<span class="hint">Your login name on the server. You'll use this to sign in after installation.</span>
|
|
</div>
|
|
<div class="field">
|
|
<label for="password">Password</label>
|
|
<input type="password" id="password" name="password" required autocomplete="new-password" />
|
|
<span class="hint">At least 8 characters.</span>
|
|
</div>
|
|
<div class="field">
|
|
<label for="password2">Confirm password</label>
|
|
<input type="password" id="password2" name="password2" required autocomplete="new-password" />
|
|
</div>
|
|
<div class="field">
|
|
<label for="language">Language</label>
|
|
<select id="language" name="language">
|
|
{% for code, lang in languages.items() %}
|
|
<option value="{{ code }}" {% if code == values.language %}selected{% endif %}>{{ lang.label }}</option>
|
|
{% endfor %}
|
|
</select>
|
|
</div>
|
|
|
|
<div class="actions">
|
|
<button type="submit" class="btn btn-primary">Next — pick boot drive</button>
|
|
</div>
|
|
</form>
|
|
{% endblock %}
|