-
Notifications
You must be signed in to change notification settings - Fork 12
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
Checks for u2mfn kernel module in metapackage #189
Conversation
The u2mfn kernel module is required for GUI operations in a VM. It should be built automatically via dkms, but that process can fail. We must report such errors up to the parent apt operation to notify users. The /etc/kernel/postinst.d/dkms hooks are run on installation of the linux-image-* packages, so we don't need an explicit call to dkms autoinstall (which fails silently) in the metapackage postinst. Since we've observed VMs fail to build the u2mfn.ko dynamically in the past, let's try to recover in that situation, otherwise fail loudly.
e70713d
to
a096e8b
Compare
Reproducing garbled display
Confirmed.
|
@eloquence Excellent! Thanks for confirming. I've added the rest of the test plan, so I'm going to mark this and related PRs as "Ready for review." |
Confirm resolution via new metapackage
Confirmed. Output: https://gist.github.com/eloquence/9132c4fb69e5c828c72d13bb10469526
Confirmed.
Confirmed. :) |
Thanks for sharing the full gist with the installation output. That looks how I'd expect. Will ping at standup tomorrow to see if more folks want to chime in on review, but I'm satisfied with moving forward with a posting a package on apt-test. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me. Ran through the test plan, everything was as described.
Full version string is 4.14.186+buster2, includes changes from freedomofpress/securedrop-builder#189
Includes changes from freedomofpress/securedrop-builder#189
Overview
The u2mfn kernel module is required for GUI operations in a VM. It should be built automatically via dkms, but that process can fail. We must report such errors up to the parent apt operation to notify users. The /etc/kernel/postinst.d/dkms hooks are run on installation of the linux-image-* packages, so we don't need an explicit call to dkms autoinstall (which fails silently) in the metapackage postinst.
Since we've observed VMs fail to build the u2mfn.ko dynamically in the past, let's try to recover in that situation, otherwise fail loudly.
Related issues:
Test plan
Reproduce distorted GUI
In order to verify that changes here reliably resolve the garbled terminal problem, you'll need a candidate VM that exhibits the problem. That's easy enough to create:
In the domU terminal:
Now reboot the VM, and re-run
qvm-run sdw-kernel-test gnome-terminal
. The graphical window should be garbled, as shown in freedomofpress/securedrop-workstation#590 . If it's not, stop testing here!Confirm resolution via new metapackage
Now we'll attempt to resolve the broken GUI via the new metapackage. Check out the new metapackage build logic locally from this branch, and run in your dev VM (e.g.
sd-dev
):Since the graphical terminal is unusable, we'll install the package via cli from dom0:
You should see dkms output referencing the build. That's good! Reboot the VM again, and re-run
gnome-terminal
. The graphical display should work correctly. Finally, as a sanity check, run the following insdw-kernel-test
:That's it. If all that works, we should be in a good position to proceed with building the metapackage and placing on apt-test.