diff --git a/CHANGELOG.md b/CHANGELOG.md index 965c763e524..b904f448b6b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,11 @@ and this project adheres to ### Fixed +- #\[[5074](https://github.com/firecracker-microvm/firecracker/pull/5074)\] Fix + the `SendCtrlAltDel` command not working for ACPI-enabled guest kernels, by + dropping the i8042.nopnp argument from the default kernel command line + Firecracker constructs. + ## [1.11.0] ### Added diff --git a/src/vmm/src/vmm_config/boot_source.rs b/src/vmm/src/vmm_config/boot_source.rs index d62338fc94b..37ba08be449 100644 --- a/src/vmm/src/vmm_config/boot_source.rs +++ b/src/vmm/src/vmm_config/boot_source.rs @@ -14,10 +14,9 @@ use serde::{Deserialize, Serialize}; /// - `8250.nr_uarts=0` disable 8250 serial interface; /// - `i8042.noaux` do not probe the i8042 controller for an attached mouse (save boot time); /// - `i8042.nomux` do not probe i8042 for a multiplexing controller (save boot time); -/// - `i8042.nopnp` do not use ACPIPnP to discover KBD/AUX controllers (save boot time); /// - `i8042.dumbkbd` do not attempt to control kbd state via the i8042 (save boot time). -pub const DEFAULT_KERNEL_CMDLINE: &str = "reboot=k panic=1 pci=off nomodule 8250.nr_uarts=0 \ - i8042.noaux i8042.nomux i8042.nopnp i8042.dumbkbd"; +pub const DEFAULT_KERNEL_CMDLINE: &str = + "reboot=k panic=1 pci=off nomodule 8250.nr_uarts=0 i8042.noaux i8042.nomux i8042.dumbkbd"; /// Strongly typed data structure used to configure the boot source of the /// microvm. diff --git a/tests/integration_tests/functional/test_api.py b/tests/integration_tests/functional/test_api.py index b21e86e0d60..eb2cd1b608e 100644 --- a/tests/integration_tests/functional/test_api.py +++ b/tests/integration_tests/functional/test_api.py @@ -767,24 +767,14 @@ def test_send_ctrl_alt_del(uvm_plain_any): test_microvm.spawn() test_microvm.basic_config() + test_microvm.add_net_iface() test_microvm.start() - # Wait around for the guest to boot up and initialize the user space - time.sleep(2) - test_microvm.api.actions.put(action_type="SendCtrlAltDel") - firecracker_pid = test_microvm.firecracker_pid - # If everything goes as expected, the guest OS will issue a reboot, # causing Firecracker to exit. - # waitpid should block until the Firecracker process has exited. If - # it has already exited by the time we call waitpid, WNOHANG causes - # waitpid to raise a ChildProcessError exception. - try: - os.waitpid(firecracker_pid, os.WNOHANG) - except ChildProcessError: - pass + test_microvm.mark_killed() def _drive_patch(test_microvm, io_engine):