How to build Application and Change Control on an unsupported kernel
最終更新: 7/14/2020
環境
Linux
UNIX
概要
IMPORTANT: This self-support tool is not for use with
For a list of supported kernels, see KB91985. If you need to install MACC on a kernel that is not listed in the KB, you can perform one of these tasks:
- Create a build file for the target kernel on a testbed, and manually deploy the build to other production endpoints.
- Submit an
Unsupported Kernel Request through support.
- MACC follows the standard release channels for kernel support and can take up to 60 days to support new kernels. In the meantime, use the Kernel Compatibility Checker (KCC) on the newer kernels to allow them to be automatically supported on day zero in 80–90% of cases.
- If you request a kernel that is not listed in the standard channels for the supported operating systems, it is understood that MACC most likely does not support the kernel at all.
- On non-standard kernels: If you submit the required kernel source files with your unsupported kernel request with business justification and the number of total systems supported, support might be considered even though the expected results are limited to non-standard kernel release channels.
What are the possible deployment scenarios?
The installation workflow on the Linux operating system varies based on whether the target kernel is supported or not. See KB91985 and verify whether support is already available for the required kernel version.
How do I install when the target kernel is supported?
Query |
Response |
Has anything changed for me since the previous release? |
No. If the target kernel is supported, direct installation occurs on the kernel. |
Do I need to take care of any prerequisites? |
No. |
How do I install? |
Perform the steps listed in the "Install on the Linux platform" section of the Installation Guide. |
How do I install when the target kernel is not supported?
The capability to create kernel modules for targets has been updated in the MACC in 6.3.0-714 (July 2019) release. You can create the needed build on a testbed and manually deploy the kernel module to production endpoints running the same kernel.
To create a kernel module package for an unsupported kernel locally, follow these steps:
- Run the build tool included in the installation package:
build_target.sh .
This script tries to download all needed dependencies and recompile the MACC kernel module sources against the kernel version that you want to support. After the new kernel module package is successfully built, run the master installer script again. - Run the master installer script,
mapkg_install.sh, again. This step installs the new kernel module package and those packages supported in the current MACC version.
NOTE: The MACC driver package for the new kernel is built only once, and then distributed among the endpoints. The system or testbed where kernel support is to be performed must be allowed to install development packages from the Linux distribution repositories. The reason is because a full recompilation of the kernel module is needed for this method.
Building the new kernel module
If the current kernel is not supported, running the master installer in the target system fails with the error below. The current kernel is the kernel running in the system where the installation is performed.
Installing build solidifier-kmod-6.3.0-724.LSES12.x86_64.rpm...
Could not find built-in support for kernel 4.4.73-5-default.
Run ‘./build_target.sh’ to configure your system for rebuilding the kernel module including support for kernel 4.4.73-5-default.
As the message states, the current kernel is not included in the MACC package. Recompilation of the kernel module, including support for the current kernel, can solve this issue.
Run the
This script:
- Downloads development tools to perform a kernel module compilation
- Downloads kernel development packages and code source files (current running kernel)
- Prepares MACC driver sources for recompilation
- Rebuilds MACC driver with support for the new kernel
- Creates an
rpm/deb file containing the newly compiled kernel module assets
Redistributing to other endpoints
For the moment, distribution of the self-supported kernel modules is not automated. The resulting MACC folder, including the newly created kernel module
McAfee continues to regularly add kernel support and provide built-in support of new kernel releases. Eventually, you can update to a newer MACC Linux version including the involved kernel versions in the regular way.
Example:
How to build an unsupported kernel:
- Log on to the VM with the Kernel that you want to run.
- Download the manual installer ZIP file to the new system:
SOLIDCOR641-135_LNX.zip - Extract or unzip the downloaded manual installer ZIP file:
Unzip SOLIDCOR641-135_LNX.zip - Change permissions to
build_target.sh andmapkg_install.sh :Chmod 700 build_target.sh Chmod 700 mapkg_install.sh
- Run the build at target:
Su ./build_target.sh - If the build is successful, retrieve the files from
/usr/local/mcafee/Solidcore/dks :solidifier-ksrc-6.4.1-135.tgz solidifier-kmod-6.4.1-135.LEL7.x86_64.rpm solidifier-kmod-6.4.1-135.LEL7.3.10.0-1062.9.1.el7.x86_64.x86_64.rpm
- If the build fails, manually download
kernel src and drop it in/usr/src . - Run:
mapkg_install.sh:
su mapkg_install.sh - Create a base
Centos7 :
Kernel – 3.10.0-327.el7.x86_64 Install the kernel. This action can be done offline, but note that you must load the same kernel first):
Yum Install kernel-3.10.0-1062.9.1.el7 Reboot into the kernel. Copy the three packages from your working system: solidifier-kmod-6.4.1-135.LEL7.3.10.0-1062.9.1.el7.x86_64.x86_64.rpm solidifier-kmod-6.4.1-135.LEL7.x86_64.rpm solidifier-ksrc-6.4.1-135.tgz
-
Download the manual installer zip to the new system:
SOLIDCOR641-135_LNX.zip Extract or unzip the downloaded manual installer ZIP file:
Unzip SOLIDCOR641-135_LNX.zip Copy the three packages to the same unzipped folder. Change permissions to execute mapkg_install.sh:
Chmod 700 mapkg_install.shRun the installer as root:
Sudo ./mapkg_install.sh Verify the status:
Sadmin status
Troubleshooting kernel support process
Self-support for new kernels involves a kernel module compilation, and a precise set of dependencies to work. If the compilation process fails, contact Technical Support for assistance. Run the
If any of the following issues are encountered, run the recommended commands and try to rebuild the target process:
- Red Hat systems might require that you enable more repositories to install the needed dependencies:
optional-rpms and sources-rpms.
Example: In RHEL 7 Server,
- Red Hat 6 systems might be missing
rpm build tools. They can be installed manually by running the command:
- Some YUM-based systems might not have the
yumdownloader utility by default. This utility is needed to download required packages. It can be installed by running the command:
For LEL6:
- Install the
kernel-devel package:
# yum -y install kernel-devel-`uname -r`
- Run the Built target tool again
For UEK6:
- Download and Install the kernel source
rpm:
# cd ~/
# yumdownloader --source kernel-uek-`uname -r`
Or, download it manually:
# KERNEL_VERSION=`uname -r | awk 'BEGIN{FS=OFS="."}{$NF=""; NF--; print}'`
# rpm -i kernel-uek-"$KERNEL_VERSION".src.rpm 2>&1 | grep -v exist
- Run the Built target tool again.
For LEL7:
- Download and Install the kernel source
rpm:
# cd ~/
# yumdownloader --source kernel-`uname -r`
Or, download it manually:
# KERNEL_VERSION=`uname -r | awk 'BEGIN{FS=OFS="."}{$NF=""; NF--; print}'`
# rpm -i kernel- KERNEL_VERSION".src.rpm 2>&1 | grep -v exist
- Run the Built target tool again.
For UEK7:
- Download and Install the kernel source
rpm:
# cd ~/
# yumdownloader --source kernel-uek-`uname -r`
Or, download it manually:
# KERNEL_VERSION=`uname -r | awk 'BEGIN{FS=OFS="."}{$NF=""; NF--; print}'`
# rpm -i kernel-uek-"$KERNEL_VERSION".src.rpm 2>&1 | grep -v exist
- Run the Built target tool again.
For LEL8:
- Download and Install the kernel source
rpm:
# mkdir -p /tmp/mcafee (if /tmp/mcafee already exists delete the /tmp/mcafee dir)
# cd /tmp/mcafee
# cd ~/
# yumdownloader --source kernel-`uname -r`
Or, download it manually:
# KERNEL_VERSION=`uname -r | awk 'BEGIN{FS=OFS="."}{$NF=""; NF--; print}'`
# rpm -i kernel-uek-"$KERNEL_VERSION".src.rpm 2>&1 | grep -v exist
- Run the Built target tool again.
If the deployment is unsuccessful or the service does not start, see KB87443 and validate.
解決策
- If you are a registered user, type your User Id and Password, and then click Log In.
- If you are not a registered user, click Register and complete the required fields. Your password and logon instructions will be emailed to you.
影響を受ける製品
言語:
この記事は、次の言語で表示可能です:
GermanEnglish United States
Spanish Spain
French
Italian
Japanese
Portuguese Brasileiro
Chinese Simplified