base image: serial-getty@ttyS0 hangs ~90s on every boot (dev-ttyS0.device timeout)
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 55/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- linux, ubuntu
- Domain
- infrastructure, operating-systems
Research direction
Start with the images/base guest and inspect its udev and systemd behavior around dev-ttyS0.device and [email protected]. Reproduce a fresh boot using the dev/vagrant/ real-KVM harness, then verify the console log and service state. Done means no device timeout, an intentional working or removed serial getty with rationale, and verification in the harness.
Written by the indexing model from the issue text.
Description
Summary
Every microVM booted from images/base (ghcr.io/daax-dev/nanofuse/base:latest) hangs for ~90 seconds during guest boot waiting on dev-ttyS0.device, then times out and fails [email protected]:
[ TIME ] Timed out waiting for device dev-ttyS0.device - /dev/ttyS0.
[DEPEND] Dependency failed for [email protected] - Serial Getty on ttyS0.
[ OK ] Reached target multi-user.target - Multi-User System.
multi-user.target is still reached and SSH/network work normally, so VMs are usable — but the serial console (Firecracker's primary out-of-band access path) is dead for the VM's entire lifetime, and every boot pays a ~90s console-readiness penalty.
Scope / reproducibility
- 100% reproducible on every boot, fresh or resumed.
- Independent of snapshot/resume: a fresh, never-snapshotted VM shows the identical timeout. (Discovered while validating issue #227; initially misattributed to the snapshot-resume path, then disproven with a fresh-boot control.)
- Independent of Firecracker version: identical on FC 1.7.0 and 1.16.1.
Environment
- Closed-loop KVM harness (
dev/vagrant/, libvirt + nested KVM), Ubuntu 24.04 guest. - Kernel cmdline includes
console=ttyS0; Firecracker provides the 8250 UART. - base image kernel 6.1.90 + Ubuntu 24.04 rootfs.
Likely cause (unconfirmed)
[email protected] BindsTo=/After= dev-ttyS0.device, and that device unit never activates — udev appears not to emit/process the add uevent that tags /dev/ttyS0 with SYSTEMD_WANTS in this minimal microVM kernel/udev setup. Candidate fixes to investigate (base-image side): ensure the serial UART is coldplugged (udev trigger), or decouple the getty from the device unit, or drop the enabled serial-getty@ttyS0 if serial-console login is not a product requirement.
Impact
- Does not block SSH-based use (daax-devtools coding-in-microVM works).
- Does break serial-console login and adds ~90s to console readiness on every boot.
Acceptance criteria
- A fresh microVM from
images/basereachesmulti-user.targetwith nodev-ttyS0.devicetimeout in the console log. -
[email protected]is either active (console login works) or intentionally removed, with the rationale recorded. - Verified on the
dev/vagrant/real-KVM harness.
Filed from real-KVM closed-loop testing. Root-cause diagnosis is a hypothesis; validate against the guest udev/systemd behavior before fixing.
- Dominant language
- Go
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from daax-dev/nanofuse
-
nanofuse
Difficulty 4/5 3-5 days Newbie friendliness 45/100
-
nanofuse
Difficulty 3/5 1-2 days Newbie friendliness 68/100
All issues in daax-dev/nanofuse
Similar issues
-
area: global bug dx priority: low
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Maintainers usually reply within 1 day
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
grafana/mcp-grafana#1267 ·
Maintainers usually reply within 1 day
-
automation models
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
coverage-gap good-first-pattern help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
GoogleCloudPlatform/k8s-aibom#114 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
txn2/mcp-data-platform#1984 ·
Maintainers usually reply within 1 day