k3os boot drops to ramdisk emergency shell after install with static network config
0 reputation · 27 Mar 2022, 09:24 UTC
Boot failure after declarative network configuration
I am deploying k3os on bare-metal nodes using the documented declarative YAML configuration (k3os.yaml) to pin static IP addresses, since the default DHCP acquisition is unsuitable for this environment. The goal is a reproducible automated install where each node comes up with its assigned address and joins the cluster without manual intervention.
The uncertainty is around failure behavior: the documentation and community reports indicate that malformed or incorrect entries in k3os.yaml can prevent a successful boot and leave the machine in a ramdisk emergency shell, with little on-screen indication of which key or value caused the parse or apply step to fail. Because k3os has no graphical interface and is managed only via console or SSH, diagnosing this on a headless node is awkward, and I cannot tell whether the problem is YAML syntax, an unsupported key for my version, or a network stanza that is valid but never applied.
Assuming a recent k3os release (0.2x era), my questions are:
- Is there a documented way to validate k3os.yaml against the project's schema before rebooting into an install?
- When boot lands in the emergency shell, which logs or files (dmesg, /etc/k3os/config.yaml, initramfs output) identify the failing configuration entry?
- Does a network configuration error abort the entire config apply, or are other stanzas still processed?