-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Quick testing #2
Comments
Don't do this. Unstead
Don't make your kernel world writable.
Yeah, adding your user to
Why do you need these steps??? |
This is in case your host uses the DCAP driver (which is my case; yes, my kernel is 5.15 which already should have the in-kernel SGX driver, but I use the DCAP driver for well reasons). |
If you use DCAP driver, then it should create that file for you, why do you need to create a symlink? |
"It" means the VM? Well, it's not created. Why would it be? The kernel inside the VM queries the (virtualized by QEMU/KVM) CPUID, and finds out that SGX is supported, so this guest kernel creates Now the problem is that I'm using Gramine binaries from the host which were generated against the DCAP OOT driver. So this Gramine is mirrored inside the guest VM, and |
Why don't you use OOT driver inside VM? Don't these drivers differ? Is the only difference really just a different path? |
No, they do not differ (in any way meaningful to Gramine). So the only Gramine-relevant diff is a different path, yes. |
Then why don't we have a simple check in Gramine for both paths instead of hardcoding one? |
Just some additional steps, after testing on a clean Ubuntu 22.04:
|
Update notes, found while debugging on Debian 12 and QEMU 7.2.4. The QEMU run command should be modified like this
Explanations:
The list of loaded kernel modules should be modified like this
This is because in e.g. Debian 12, the config virtio_pci is specified as
Why didn't we catch this error before? Because previously we re-built our own version of the Linux kernel (that was because previous versions of Debian didn't have SGX config at all, so we had to re-build manually). As part of that manual change of the kernel config, we set not only the SGX config but also all the virtio/9p configs to Now that we updated to a stock Debian 12, we do not re-build the Linux kernel. But now we need to correctly insert all required kernel modules. And that's why we got this error. What should be done on a clean Debian 12 hostThe host must install the relevant kernel modules, to be able to share the file system using
|
run.sh
as non-root user:run.sh
. I'm in a VM now, and need to prepare the env:The text was updated successfully, but these errors were encountered: