The newer build container (22.04) creates some problems when trying to
install external/DKMS modules on older distributions. So revert it back
to 20.04 and install the required Python version from a third-party PPA.
Debians default config sets CONFIG_I2C_DESIGNWARE_PCI=m, however,
according to Hans de Goede in #336, we need CONFIG_I2C_DESIGNWARE_PCI=y.
Set all required options appropriately.
This should fix#336.
Recent Ubuntu mainline versions have enabled UBSAN. UBSAN has a runtime
cost and should only be enabled for debugging and testing.
Furthermore, UBSAN actively causes problems on the Surface Pro 4 and
Surface Book 1, preventing them from waking from suspend in some
instances. Disabling UBSAN should work around issue #585.
While the atomisp driver might be used for Surface 3 and Surface Pro 3
cameras in the future, it currently resides in staging and doesn't seem
to work (at least according to its TODO file). It furthermore causes
a notice to be printed, warning about the use of trace_printk(). So
disable it for now to shut up that warning.
Currently, the kernel emits a notice at boot, warning about the usage of
trace_printk(). Disabling samples in efaa3edaaa ("Do not build samples
for Debian/Ubuntu") apparently wasn't enough to get rid of that. So
disable more sample and testing stuff that might call this function.
The Debian LTS kernel does not have CONFIG_ACPI_I2C_OPREGION set. This
is likely due to its dependency on CONFIG_I2C=y. Thus explicitly set
those two options.