Когда вы компилируете специальный модуль ядра, такой как драйвер устройства, на CentOS system, в системе должны быть установлены файлы заголовков ядра, которые включают C заголовочные файлы для ядра Linux. Файлы заголовков ядра предоставляют различные виды функций и определений структуры, необходимые при установке или компиляции любого кода, который взаимодействует с ядром.
При установке Заголовки ядра, убедитесь, что она совпадает с текущей установленной версией ядра в системе. Если ваша версия ядра поставляется с установленным дистрибутивом по умолчанию или у вас есть обновили ядро с помощью диспетчера пакетов yum из системных базовых репозиториев, то вы должны установить соответствующие заголовки ядра только с помощью диспетчера пакетов. Если вы скомпилировали ядро из исходных текстов, вы можете установить заголовки ядра только из исходных текстов.
Читайте также: Как установить заголовки ядра в Ubuntu и Debian
В этой статье мы объясним, как установить Заголовки ядра в CentOS / RHEL 7 и Fedora дистрибутивы с использованием менеджера пакетов по умолчанию.
Сначала убедитесь, что соответствующие заголовки ядра уже установлены в /usr/src/kernels/ местоположение в вашей системе, используя следующие команды.
# cd / usr / src / kernels / # ls -l.
Если в папке нет подходящих заголовков ядра /usr/src/kernels/ каталог, продолжайте и установите заголовки ядра, которые предоставляются kernel-devel пакет, который можно установить с помощью диспетчера пакетов по умолчанию, как показано.
# yum install kernel-devel [На CentOS / RHEL 7] # dnf install kernel-devel [В Fedora 22+]
После установки kernel-devel пакет, вы можете найти все файлы заголовков ядра в /usr/src/kernels каталог, используя следующую команду.
# ls -l / usr / src / kernels / $ (uname -r)
Примечание на VPS (например, Линод VPS), ядро может иметь настраиваемое имя версии, в таком сценарии вам необходимо определить версию ядра вручную и проверить установленные файлы заголовков ядра с помощью следующих команд.
# uname -r # ls -l /usr/src/kernels/3.10.0-862.2.3.el7.x86_64.
всего 4544. drwxr-xr-x. 32 root root 4096 16 мая 12:48 arch. drwxr-xr-x. 3 root root 4096 16 мая 12:48 блок. drwxr-xr-x. 4 root root 4096 16 мая 12:48 crypto. drwxr-xr-x. 119 root root 4096 16 мая 12:48 drivers. drwxr-xr-x. 2 root root 4096 16 мая 12:48 прошивка. drwxr-xr-x. 75 root root 4096 16 мая 12:48 фс. drwxr-xr-x. 28 root root 4096 16 мая 12:48 включить. drwxr-xr-x. 2 root root 4096 16 мая 12:48 init. drwxr-xr-x. 2 root root 4096 16 мая 12:48 ipc. -rw-r - r--. 1 root root 505 9 мая 19:21 Kconfig. drwxr-xr-x. 12 root root 4096 16 мая 12:48 kernel. drwxr-xr-x. 10 root root 4096 16 мая 12:48 lib. -rw-r - r--. 1 root root 51205 9 мая, 19:21 Makefile. -rw-r - r--. 1 root root 2305 9 мая, 19:21 Makefile.qlock. drwxr-xr-x. 2 root root 4096 16 мая 12:48 мм. -rw-r - r--. 1 root root 1093137 9 мая 19:21 Module.symvers. drwxr-xr-x. 60 root root 4096 16 мая 12:48 net. drwxr-xr-x. 14 root root 4096 16 мая 12:48 образцов. drwxr-xr-x. 13 root root 4096 16 мая 12:48 скрипты. drwxr-xr-x. 9 root root 4096 16 мая 12:48 безопасность. drwxr-xr-x. 24 root root 4096 16 мая 12:48 звук. -rw-r - r--. 1 root root 3409102 9 мая, 19:21 System.map. drwxr-xr-x. 17 root root 4096 16 мая 12:48 tools. drwxr-xr-x. 2 root root 4096 16 мая 12:48 уср. drwxr-xr-x. 4 root root 4096 16 мая 12:48 вирт. -rw-r - r--. 1 root root 41 9 мая 19:21 vmlinux.id.
Кроме того, если вам нужно файлы заголовков для ядра Linux для использования glibc, установите заголовок ядра пакет, используя следующую команду.
# yum install kernel-headers [На CentOS / RHEL 7] # dnf install kernel-headers [В Fedora 22+]
Теперь можно приступить к компиляции собственных или существующих модулей ядра для программного обеспечения, такого как VirtualBox и многое другое.
Вот и все! В этой статье мы объяснили, как установить kernel-devel и заголовок ядра пакеты в CentOS / RHEL 7 и Fedora системы. Помните, что прежде чем вы сможете компилировать модули ядра, такие как драйвер устройства, в системе Linux, у вас должны быть установлены необходимые файлы заголовков ядра. Если у вас есть вопросы, воспользуйтесь формой комментариев ниже, чтобы связаться с нами.