Prepare a bare-metal instance
Prerequisites
- AMD SEV-SNP
- Intel TDX
- A supported CPU:
- AMD Epyc 7003 series (Milan)
- AMD Epyc 9004 series (Genoa)
- A supported CPU:
- 5th Gen Intel Xeon Scalable Processor
- Intel Xeon 6 Processors
- Platform must fulfill the DIMM requirements.
Hardware and firmware setup
- AMD SEV-SNP
- Intel TDX
- Update your BIOS to a version that supports AMD SEV-SNP. Updating to the latest available version is recommended as newer versions will likely contain security patches for AMD SEV-SNP.
- Enter BIOS setup to enable SMEE, IOMMU, RMP coverage, and SEV-SNP. Set the SEV-ES ASID Space Limit to a non-zero number (higher is better).
- Download the latest firmware version for your processor from AMD, unpack it, and place it in
/lib/firmware/amd
.
Consult AMD's Using SEV with AMD EPYC Processors user guide for more information.
Follow Canonical's instructions in 4.2 Enable Intel TDX in Host OS (set TDX_SETUP_ATTESTATION=1
in setup-tdx-config
), 4.3 Enable Intel TDX in the Host's BIOS and 9.2 Setup Intel® SGX Data Center Attestation Primitives (Intel® SGX DCAP) on the Host OS (skipping step 9.2.1).
You can ignore the other sections of the document.
Kernel setup
- AMD SEV-SNP
- Intel TDX
Install Linux kernel 6.11 or greater.
Follow Canonical's instructions on setting up Intel TDX on Ubuntu 24.04. Note that Contrast currently only supports Intel TDX with Ubuntu 24.04.
Containerd uses a significant amount of inotify
instances, so we recommend to allow at least 8192.
If necessary, the default can be increased by creating a config override file (for example in /etc/sysctl.d/98-containerd.conf
) with the following content:
fs.inotify.max_user_instances = 8192
Apply this change by running systemctl restart systemd-sysctl
and verify it using sysctl fs.inotify.max_user_instances
.