Вопрос

Как я могу узнать, установлены ли в стандартном ядре, представленном в моем варианте Linux, флаги DEBUG KERNEL ENABLED или нет??

Я думаю, что опция DEBUG должна быть включена, чтобы использовать такие инструменты, как kprobe, systemtap ??

Это было полезно?

Решение

Чтобы узнать, как настроено ваше ядро, перейдите в каталог / boot / . В зависимости от того, как работает ваш дистрибутив, может быть файл config - * , который показывает параметры конфигурации ядра, которые использовались для сборки ядра. Найдите параметры отладки (например, CONFIG_DEBUG_KERNEL ).

Другие советы

Предполагая, что в ядре есть функция «предоставить конфигурацию через proc», вы можете проверить конфигурацию работающего ядра, просмотрев /proc/config.gz.

gunzip -c /proc/config.gz | less

Если это RHEL / CentOS / Fedora:

Конфигурация ядра находится внутри пакета kernel-devel .

Конкретная конфигурация, используемая Red Hat для сборки ядра вашего дистрибутива, хранится в / usr / src / kernels / версия /. config .

В RHEL 5 вы также можете проверить все драйверы, которые установлены на сервер через ядро:

gunzip -c  /boot/symvers-2.6.18-274.3.1.el5.gz | less

Обратите внимание, вы можете получить полный путь:

rpm -ql kernel | grep -i symver*

Также lsmod | больше должно делать то же самое. Надеюсь, это поможет.

Стандартное ядро, вероятно, НЕ было бы скомпилировано с включенными этими флагами, так как это увеличило бы размер ядра. Накладные расходы были бы недостатком для большинства пользователей.

У вас всегда есть возможность перекомпилировать свою собственную версию ядра, и в этом случае вы можете выбрать свой собственный набор параметров .

Вы можете перечислить модули, скомпилированные в ядро, с помощью команды lsmod .

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top