Skip to content

docs: keep the i8042 parameters in getting-started - #6420

Open
mkorun wants to merge 1 commit into
firecracker-microvm:mainfrom
mkorun:docs/getting-started-i8042
Open

mkorun wants to merge 1 commit into
firecracker-microvm:mainfrom
mkorun:docs/getting-started-i8042

Conversation

@mkorun

@mkorun mkorun commented Nov 10, 2026 •

Copy link
Copy Markdown

Changes

The getting-started example adds i8042.noaux i8042.nomux i8042.dumbkbd to its x86_64 boot args, with a comment on why.

Reason

boot_args replace Firecracker's default kernel command line whole (DEFAULT_KERNEL_CMDLINE, documented in docs/kernel-policy.md), including its i8042 parameters. The CI kernels the guide downloads are built with resources/guest_configs/ci.config, which enables CONFIG_SERIO_I8042 and CONFIG_KEYBOARD_ATKBD, so with the guide's boot args the guest probes the emulated i8042 for a keyboard.

Measured nested on WSL2 (Intel i7-12700H, WSL 2.7.11, kernel 6.18.33.2), with the 6.18.56 CI kernel, Firecracker v1.18.0 and a minimal root image, five boots each, uptime when /init starts:

boot args uptime at /init
the guide's (console=ttyS0 reboot=k panic=1) 0.67 s
the guide's plus the three i8042 parameters 0.22 s
Firecracker's default command line 0.09 s

A boot without the parameters logged probe of serio0 returned 0 after 513968 usecs. docs/api_requests/actions.md puts the probe at "a few tens of milliseconds"; nested it took about half a second, so the effect may be smaller on bare metal, where I have not measured.

aarch64 has no i8042, so its branch is unchanged. i8042.nopnp is left out: #5074 dropped it from the default because, with ACPI, it kept Ctrl-Alt-Del from working.

docs/FAQ.md and docs/initrd.md show boot args without them too; I can add them there as well if you like.

License Acceptance

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. For more information on following Developer Certificate of Origin and signing off your commits, please check CONTRIBUTING.md.

PR Checklist

  • I have read and understand CONTRIBUTING.md.
  • I have run tools/devtool checkbuild --all to verify that the PR passes build checks on all supported architectures. (Documentation only; I have no Docker here to run devtool.)
  • I have run tools/devtool checkstyle --no-clippy to verify that the PR passes the automated style checks. (Not run, as above; the change is inside a code block.)
  • I have described what is done in these changes, why they are needed, and how they are solving the problem in a clear and encompassing way.
  • I have updated any relevant documentation (both in code and in the docs) in the PR.
  • I have mentioned all user-facing changes in CHANGELOG.md. (No user-facing change to Firecracker itself.)
  • If a specific issue led to this PR, this PR closes the issue. (None.)
  • When making API changes, I have followed the Runbook for Firecracker API changes. (No API change.)
  • I have tested all new and changed functionalities in unit tests and/or integration tests. (Documentation only; measured as above.)
  • I have linked an issue to every new TODO. (No TODO.)

  • This functionality cannot be added in rust-vmm. (Not applicable.)

Drafted with Claude Code, reviewed and submitted by me.

The example sets its own boot_args, which replace Firecracker's
default kernel command line whole, including i8042.noaux,
i8042.nomux and i8042.dumbkbd. The CI kernels the guide fetches
are built with ci.config, which enables CONFIG_SERIO_I8042 and
CONFIG_KEYBOARD_ATKBD, so the guest then probes the emulated
i8042 for a keyboard.

Nested on WSL2, with the 6.18.56 CI kernel, Firecracker v1.18.0
and a minimal root image, the guest reached /init 0.67 s after
start with the guide's boot args and 0.22 s with the three
parameters added (five boots each). A boot without them logged
"probe of serio0 returned 0 after 513968 usecs". aarch64 has no
i8042, so its branch stays as it was.

Signed-off-by: Michael Kortstiege <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
@JackThomson2 JackThomson2 self-assigned this Nov 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants