action #37853
closedConsider support for Intel AMT backend
0%
Description
Background: Intel AMT is a remote management built into many Intel CPUs. It includes power control, VNC server, remote CD, remote BIOS configuration and more.
Why?
- Allows testing on real hardware (specifically desktop/laptop x86), including hardware compatibility testing (kernel panic on boot etc).
- Potentially better for testing virtualization-based applications (including Qubes OS) - nested virtualization is not so stable.
How?
Preliminary PoC: https://github.com/marmarek/os-autoinst/tree/amt
Right now very limited, implemented:
- power control
- boot device control
- VNC
Partially implemented:
- serial console (should it be serial0, or serial_terminal? communication is bi-directional, but there is only one serial console)
Missing:
- remote HDD/CD - Linux implementation is unstable and incapable of emulating full DVD (size limit is about 2GB); workaround: use network boot
See commit message for details.
Great source of info about AMT on Linux: http://senseless.info/amt.html
Next steps:
- more testing
- finish serial console support
- stabilize remote HDD/CD (hard, require low-level knowledge about SCSI), or setup network-boot based infrastructure (maybe just documentation is enough)
I've done this for testing Qubes OS, but right now have very little motivation for finishing it (for current use cases nested virtualization with sufficient number of workarounds is enough). Maybe it will be useful for others.
Updated by coolo over 6 years ago
http://stephan.kulow.org/amt.ogv is 3 years old - triggered from https://hackweek.suse.com/projects/bare-metal-testing-in-openqa
We offload the wsman part to a ruby tool and we didn't go as far as checkin sol in the hackweek.
But your code looks good, why don't you create a PR?
Updated by marmarek over 6 years ago
I don't consider it production quality yet and not sure what is the policy about experimental features in master branch.
But if you like a PR for that, not a problem: https://github.com/os-autoinst/os-autoinst/pull/983
Updated by okurz over 4 years ago
- Status changed from New to Resolved
- Assignee set to marmarek
https://github.com/os-autoinst/os-autoinst/pull/983 was merged. It is certainly not widely used but my experience is: If it's there then eventually it will be used and we will hear about problems then :)