- Как установить заголовочные файлы ядра в Linux
- Установка заголовочных файлов ядра в Debian, Ubuntu или Linux Mint
- Установка заголовочных файлов ядра в Fedora, CentOS или RHEL
- CentOS Linux install kernel headers to build vmware / 3rd party modules
- Обновление ядра CentOS
- 1. Проверка текущей версии ядра
- 2. Установка ядра
- С помощью yum
- Ручное обновление
- 3. Применение нового ядра
- Если система не загружается после обновления ядра
- Возможные ошибки
- 1. Фатальная ошибка: : Нет такого файла или каталога.
- 2. [ ] Ошибка 127
- How to Install Kernel Headers in CentOS 7
- Install Kernel Headers in CentOS 7
- If You Appreciate What We Do Here On TecMint, You Should Consider:
- How To: Install Kernel Source Code in CentOS/RedHat
- Install Kernel Sources and Headers in RedHat/CentOS
- Why Kernel Source is Old Version in Your OS
Как установить заголовочные файлы ядра в Linux
Когда вы компилируете драйвер устройства как модуль ядра, вам необходимы установленные заголовочные файлы ядра. Также они требуются, если вы собираете пользовательское приложение, которое взаимодействует напрямую с ядром. При установке заголовочных файлов ядра, необходимо убедиться, что их версия совпадает с версией ядра установленного в системе.
Если версия вашего ядра не менялась после установки дистрибутива, или вы обновляли его с использованием системного менеджера пакетов (то есть apt-get, aptitude или yum) из системных репозиториев, то заголовочные файлы вы также можете установить с помощью пакетного менеджера. Однако если вы скачивали исходный код ядра и компилировали его самостоятельно, то заголовочные файлы необходимо устанавливать с помощью команды make.
Здесь мы предполагаем, что ваше ядро установлено из основного системного репозитория вашего дистрибутива, и вы хотите установить соответствующие заголовочные файлы ядра.
Установка заголовочных файлов ядра в Debian, Ubuntu или Linux Mint
Если вы не компилировали ядро вручную, то можете установить соответствующие заголовочные файлы ядра с помощью команды apt-get.
Сначала проверьте, не установлены ли уже требуемые заголовочные файлы с помощью команды:
Теперь установите заголовочные файлы, как показано ниже.
Проверьте, что установка прошла успешно.
По умолчанию в Debian, Ubuntu или Linux Mint заголовочные файлы находятся в /usr/src.
Установка заголовочных файлов ядра в Fedora, CentOS или RHEL
Если вы не обновляли ядро вручную, то можете установить соответствующие заголовочные файлы ядра с помощью команды yum.
Сначала проверьте, не установлены ли уже требуемые заголовочные файлы. По умолчанию заголовочные файлы ядра расположены в /usr/src/kernels/.
Если подходящих заголовочных файлов не установлено, вы можете установить их с помощью команды yum. Она автоматически найдет подходящий пакет.
Если заголовочные файлы ядра, установленные с помощью вышеприведенной команды, не соответствуют установленному в системе ядре, значит оно устарело. В этом случае обновите ядро системы до последней версии с помощью приведенной ниже команды. После обновления необходимо перезагрузить систему.
Теперь проверьте, что установлены заголовочные файлы соответствующей версии с помощью команды:
Источник
CentOS Linux install kernel headers to build vmware / 3rd party modules
Q . I’ve CentOS 5 installed under vmware. When I run following command:
vmware-config-tools.pl
or
vmware-config.pl
It asks about Linux kernel headers to build custom headers.
How do I fix this problem?
A . You don’t have development package for building kernel modules to match the kernel. It is required to build 3rd party modules such as vmware or graphics card drivers.
There is a package called kernel-devel. This package provides kernel headers and makefiles sufficient to build modules against the kernel package.
- No ads and tracking
- In-depth guides for developers and sysadmins at Opensourceflare✨
- Join my Patreon to support independent content creators and start reading latest guides:
- How to set up Redis sentinel cluster on Ubuntu or Debian Linux
- How To Set Up SSH Keys With YubiKey as two-factor authentication (U2F/FIDO2)
- How to set up Mariadb Galera cluster on Ubuntu or Debian Linux
- A podman tutorial for beginners – part I (run Linux containers without Docker and in daemonless mode)
- How to protect Linux against rogue USB devices using USBGuard
Join Patreon ➔
Login as the root, and use yum command to install the same:
# yum install kernel-devel
Now you should able to build kernel modules.
🐧 Get the latest tutorials on Linux, Open Source & DevOps via
Источник
Обновление ядра CentOS
Ядро операционной системы является основным ее элементом — оно выполняет функции распределения ресурсов и предоставления интерфейса для взаимодействия с оборудованием. Из соображений безопасности или обеспечения корректной работы современного оборудования может возникнуть необходимость обновления ядра.
1. Проверка текущей версии ядра
Перед обновлением необходимо убедиться, что текущая версия ядра уже не обновлена. Это выполняется командой:
* в данном примере установлено ядро версии 3.10.0.
2. Установка ядра
Перед обновлением ядра, необходимо обновить саму систему:
После стоит перезагрузить систему:
Далее у нас на выбор два способа обновления ядра — с использованием репозитория или вручную, скачав исходник с kernel.org.
С помощью yum
Самый быстрый и безопасный способ обновить ядро CentOS — воспользоваться автоматической установкой из репозитория. Минусом тут является то, что можно установить только ту версию, которая имеется в наличие в данном репозитории.
Последняя версии ядра для CentOS находится в репозитории ELRepo (не путать с EPEL). Сначала устанавливаем его.
Переходим на веб-страницу elrepo.org и копируем ссылку на последнюю версию репозитория для нашей версии операционной системы, например:
Импортируем ключ репозитория:
rpm —import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
Воспользовавшись ссылкой, устанавливаем сам репозиторий:
yum install https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
* список установленных репозиториев можно посмотреть командой yum repolist.
Теперь можно установить ядро:
yum —enablerepo=elrepo-kernel install kernel-ml
Ручное обновление
Чаще всего, администратор пользуется встроенными в сборку Linux инструментами (как описано выше) — это безопаснее и проще. Однако, если нужной версии ядра нет в репозитории или мы хотим установить тестовую версию, необходима ручная установка.
Ручная установка неадаптированного для определенной сборки Linux ядра — потенциальный риск для системы. Обновление стоит проводить сначала в тестовой среде, а также выполнить резервное копирование всех важных данных.
Для начала переходим на сайт kernel.org и копируем ссылку на нужную версию ядра Linux:
* в данном примере мы скопировали ссылку на нестабильную версию ядра 5.0.
Воспользовавшись ссылкой, скачиваем ядро на компьютер с Linux:
* если система вернет ошибку, нужно установить wget — yum install wget.
Распаковываем скачанный архив:
tar -xvf linux-5.0-rc8.tar.gz -C /usr/src
* в данном примере мы распаковываем архив linux-5.0-rc8.tar.gz в каталог /usr/src.
Переходим в каталог, куда распаковали исходник ядра:
Устанавливаем инструменты для компиляции пакетов:
yum groupinstall «Development Tools»
yum install ncurses-devel openssl-devel bc
Создаем свою конфигурацию для ядра:
Или используем текущую конфигурацию для ядра:
На все вопросы, которые задает система можно отвечать нажатием Enter, чтобы принимать значения по умолчанию.
* процедура может занять много времени.
После устанавливаем ядро и модули:
make modules_install install
3. Применение нового ядра
Чтобы система грузилась с использованием нового ядра, необходимо внести изменения в GRUB:
* данной настройкой мы говорим загрузчику использовать первое ядро для загрузки (первым идет последнее по версии ядро).
Применяем настройки для grub:
grub2-mkconfig -o /boot/grub2/grub.cfg
Можно перезагружать компьютер:
После загрузки проверяем текущую версию ядра:
Если система не загружается после обновления ядра
При установке новой версии ядра, старые версии тоже сохраняются и их можно выбрать при загрузке CentOS.
Если управление осуществляется удаленно по SSH, мы должны подключить монитор к компьютеру и включить его. В процессе загрузки выскочит окно со списком систем:
Выбираем вариант загрузки с предыдущей версией ядра.
Возможные ошибки
1. Фатальная ошибка: : Нет такого файла или каталога.
Причина: в системе не установлен один из пакетов, содержащий необходимые библиотеки.
Решение: необходимо воспользоваться поисковиком, чтобы определить, какой именно пакет необходим для продолжения установки и воспользоваться командой yum install для его установки.
2. [ ] Ошибка 127
Например: [include/generated/timeconst.h] Ошибка 127
Причина: как и с предыдущей ошибкой, в системе не установлен один из пакетов, содержащий необходимые библиотеки.
Решение: аналогично предыдущему примеру решения проблемы, необходимо воспользоваться поисковиком, чтобы определить, какой именно пакет необходим для продолжения установки и воспользоваться командой yum install для его установки.
Источник
How to Install Kernel Headers in CentOS 7
When you compile a custom kernel module such as a device driver on a CentOS system, you need to have kernel header files installed on the system, which include the C header files for the Linux kernel. Kernel header files provide different kinds of function and structure definitions required when installing or compiling any code that interfaces with the kernel.
When you install Kernel Headers, make sure it matches with the currently installed kernel version on the system. If your Kernel version comes with the default distribution installation or you have upgraded your Kernel using yum package manager from system base repositories, then you must install matching kernel headers using package manager only. If you’ve compiled Kernel from sources, you can install kernel headers from sources only.
In this article, we will explain how to install Kernel Headers in CentOS/RHEL 7 and Fedora distributions using default package manager.
Install Kernel Headers in CentOS 7
First confirm that the matching kernel headers are already installed under /usr/src/kernels/ location on your system using following commands.
Check Kernel Headers in CentOS 7
If no matching kernel headers are located in the /usr/src/kernels/ directory, go ahead and install kernel headers, which is provided by the kernel-devel package that can be installed using default package manager as shown.
Install Kernel Headers in CentOS 7
After installing the kernel-devel package, you can find all the kernel headers files in /usr/src/kernels directory using following command.
Note on a VPS (for instance a Linode VPS), a kernel may have a customized version name, in such scenario, you have to identify the kernel version manually and check the installed kernel header files using following commands.
Check Kernel Version in CentOS 7
Sample Output
In addition, if you need header files for the Linux kernel for use by glibc, install the kernel-header package using following command.
Now you are good to go with compiling your own or existing kernel modules for software such as VirtualBox and many more.
That’s it! In this article, we have explained how to install kernel-devel and kernel-header packages in CentOS/RHEL 7 and Fedora systems. Remember that before you can compile kernel modules such as device driver on a Linux system, you should have necessary kernel header files installed. If you have queries, please use the comment form below to reach us.
If You Appreciate What We Do Here On TecMint, You Should Consider:
TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.
If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.
We are thankful for your never ending support.
Источник
How To: Install Kernel Source Code in CentOS/RedHat
CentOS Linux
From time to time it’s required to compile some Linux kernel specific software on your CentOS/RedHat Linux system. Most often it’s some kind of kernel module specific to a software that requires deep integration with your operating system.
Install Kernel Sources and Headers in RedHat/CentOS
You need to install two packages: kernel sources from kernel-develop and header files from kernel-headers:
I just realised that the same packages will most obviously be needed if you ever decide to compile your Linux kernel.
Why Kernel Source is Old Version in Your OS
Most Linux distros lag quite a big behing the latest Linux kernel version: this is expected, because their maintainers need time to download and complile the latest kernel and to also complete the full suite of integratory tests. This is done so that most of key software running in a particular distro will still function. Quite possibly, lots of kernel modules specific to a distro are re-compiled at that stage.
What this means is that your Linux distro will not have the latest branch of Kernel sources (5.1 as of May 2019). In this example today, my CentOS 7.6 system is using and downloading Linux Kernel 3.10.0.
Verify If You Have Kernel Sources Installed Simply look in the /usr/src/kernels directory: you will at least have the just-installed packages but quite possibly older versions as well:
Источник