AMD DRTM SKINIT Validation Guide
AMD DRTM SKINIT Validation Guide
TrenchBoot + SKL + Secure Launch Linux
1. Test Environment
Build Host
OS:
1 | Debian 12 |
Purpose:
- Build TrenchBoot GRUB
- Build Secure Kernel Loader
- Build Secure Launch Linux kernel
- Generate EFI boot image
Target Platform
AMD Turin CRB
Requirements:
- AMD CPU with SKINIT support
- TPM 2.0 enabled
- UEFI boot mode
2. Install Build Dependencies
1 | apt update |
Install TPM tools:
1 | apt install -y tpm2-tools libtss2-dev |
3. Verify Target Hardware Capability
Boot target system.
Check CPU:
1 | cpuid | grep -i skinit |
Expected:
1 | SKINIT instruction supported |
Check TPM:
1 | tpm2_getcap properties-fixed |
Confirm:
1 | TPM2_PT_MANUFACTURER |
4. Build TrenchBoot GRUB
Clone source:
1 | mkdir ~/trenchboot |
Initialize:
1 | ./bootstrap |
Configure EFI build:
1 | ./configure \ |
Build:
1 | make -j$(nproc) |
Verify Secure Launch support:
1 | grep -R "slaunch" . |
Expected:
1 | slaunch |
5. Build Secure Kernel Loader (SKL)
Download:
1 | cd ~/trenchboot |
Check SKINIT support:
1 | grep -R "SKINIT" . |
Build:
1 | make |
Output:
1 | skl |
6. Build Secure Launch Linux Kernel
6.1 Obtain TrenchBoot Kernel Source
Do not use normal upstream kernel.
Example:
1 | cd ~/trenchboot |
Enter:
1 | cd linux |
Check Secure Launch support:
1 | grep -R "SECURE_LAUNCH" . |
Expected:
1 | config SECURE_LAUNCH |
6.2 Kernel Configuration
Generate config:
1 | make menuconfig |
Enable:
1 | Processor type and features |
Verify:
1 | grep -E \ |
Expected:
1 | CONFIG_SECURE_LAUNCH=y |
6.3 Build Kernel
1 | make -j$(nproc) |
Generated:
1 | /boot/vmlinuz-xxx |
7. Generate initrd
Create initramfs:
1 | update-initramfs \ |
Output:
1 | /boot/initrd.img-<kernel-version> |
Note:
initrd.img is not the OS image.
It is the temporary filesystem used during Linux boot.
8. Create TrenchBoot Secure Launch Boot Entry
GRUB entry:
1 | menuentry "AMD SKINIT Secure Launch" { |
Important:
1 | slaunch skinit |
This triggers:
1 | GRUB |
9. Boot Target System
On AMD Turin CRB:
Select:
1 | AMD SKINIT Secure Launch |
Expected flow:
1 | UEFI |
10. Validation
10.1 Kernel Log
After boot:
1 | dmesg | grep -i secure |
or:
1 | dmesg | grep -i launch |
Expected:
1 | Secure Launch enabled |
10.2 TPM PCR Verification
Before SKINIT boot:
1 | tpm2_pcrread sha256:17 |
Record PCR value.
After SKINIT boot:
1 | tpm2_pcrread sha256:17 |
Expected:
PCR value changed.
10.3 TPM Event Log
Check:
1 | tpm2_eventlog \ |
Expected:
- DRTM measurement
- Secure Launch events
Pass Criteria
PASS:
- CPU supports SKINIT
- TrenchBoot GRUB starts Secure Launch
- SKINIT executes successfully
- TPM PCR is extended
- Linux boots with Secure Launch enabled
FAIL:
- No SKINIT capability
- No TPM measurement change
- Secure Launch kernel does not initialize
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 FrankTest!
评论
