70093: Acronis Cyber Protect Cloud: Snapapi fails to build on on Debian 11 kernel 5.10 or newer, or produces spurious warning "Failed to find kernel's System.map file required for modules build", which the user can get around by acknowledging the message twice

use Google Translate

Operating Systems: 

    Last update: 25-10-2022

    The below applies, in the form it is written in, to Debian 11 with kernel 5.10.x and newer, however the general considerations, mechanics, and approaches can apply to other versions of Debian 11 and its kernels, and to other Linux distributions as well (e.g. derivatives based on Debian (11)). This may also apply to Debian 10 (and derivates based on it) which use backported 5.10 or newer kernels (taken from Debian 11).

    Symptoms

    You are trying to install the Acronis agent on a Debian 11 machine with 5.10 (or, potentially, newer kernel). The installer fails to build snapapi, although have you checked that you have the matching linux-image and linux-headers packages, corresponding to the version of your running kernel.

    OR

    The installer gets to the point where snapapi (and other kernel modules) need to be built, and it fails with errors such as:

    Failed to find kernel's System.map file required for modules build.

     

     

    Cause

    In older versions of the agent's installer (pre-C22.08), the installer could not find the required System.map-<version> file matching the running kernel version string, because such file was not provided by the  Debian Linux distribution's "normal" kernel-related packages, which required that the user manually install the extra package linux-image-<version>-dbg, i.e. linux-image-$(uname -r)-dbg .

    Starting from release C22.08 itself, after work in dev task ABR-353071, the agent's installer switched to an alternative mechanisms of obtaining the kernel symbols it needs directly from the running kernel (via /proc/kallsyms), which enabled the installer to, in the general case, no longer need the presence of this extra -dbg package on Debian 11 and similar/related/derived Debian-based distributions running 5.10 or newer kernels.

    However, the UI of the installer still displayed a warning/error message like the one mentioned above and shown in the screenshot, even in versions C22.08, C22.09, C22.10 .

    This is because some pre-checks which check for the presence of System.map-<kernel_version> remained in the installer, and their result is still shown to the user, although these pre-checks are no longer needed due to the use of the alterntive mechanism which obviated the need for requiring System.map. This is a purely display issue: if the user presses OK/Next to acknowledge this warning/error message in those installers, eventually snapapi gets built and loaded and works without issues.

    Solution

    The base support of the installer for not requiring any extra -dbg packaged to be installed manually by the user on Debian 11 (and derived/related distributions) running kernels 5.10-series or newer was added in C22.08  (dev task ABR-353071).

    The upcoming C22.11 release contains a fix for the described remaining display issue/spurious warning in the installer's pre-checks and UI (dev task ABR-357337).

    Tags: