Module init tools linux

Содержание
  1. 6.49. Module-Init-Tools-3.0
  2. 6.49.1. Инсталируем Module-Init-Tools
  3. 6.49.2. Описание Module-Init-Tools
  4. Короткое описание
  5. Module init tools linux
  6. 6.52. Пакет Module-Init-Tools-3.12
  7. 6.52.1. Установка пакета Module-Init-Tools
  8. 6.52.2. Описание пакета Module-Init-Tools
  9. 6.49. Module-Init-Tools-3.0
  10. 6.49.1. Инсталируем Module-Init-Tools
  11. 6.49.2. Описание Module-Init-Tools
  12. Короткое описание
  13. 6.51. Module-Init-Tools-3.12
  14. 6.51.1. Installation of Module-Init-Tools
  15. 6.51.2. Contents of Module-Init-Tools
  16. Short Descriptions
  17. Советы для успешной перекомпиляции ядра Линукс.
  18. Что есть ядро?
  19. В каких случаях прибегают к перекомпиляции ядра?
  20. Чтобы уменьшить размер ядра:
  21. Чтобы добавить или убрать поддержку тех или иных устройств:
  22. Чтобы изменить параметры системы:
  23. Каковы этапы рекомпиляции ядра?
  24. 1. Проверить и обновить необходимые пакеты
  25. Основные пакеты для проверки и обновления:
  26. Как устанавливать module-init-tools?
  27. 2. Получение исходного кода ядра
  28. 3. Получение информации о компьютерном «железе»
  29. 4. Как сконфигурировать ядро
  30. Шаги по конфигурированию ядра таковы:
  31. Рисунок 1: menuconfig
  32. Рисунок 2: Поиск параметров конфигурации
  33. Рисунок 3: Результаты поиска menuconfig
  34. Тип процессора и его характеристики
  35. Рисунок 4 menuconfig processor type
  36. Конфигурация сети (Networking)
  37. Драйверы устройств
  38. File Systems
  39. 5. Создание ядра
  40. 6. Конфигурация загрузчика
  41. 1. Определите, какой вид загрузчика у вас установлен.
  42. 2. Сконфигурируйте загрузчик
  43. 7.Перезагрузка сервера
  44. Заключение

6.49. Module-Init-Tools-3.0

Пакет Module-Init-Tools содержит программы для поддержки модулей ядра в ядрах Linux с версией 2.5.47 или выше.

Расчетное время сборки 0.1 SBU

Требуемое место на диске 650 KB

Module-Init-Tools — зависимости установки: Bash, Binutils, Bison, Coreutils, Diffutils, Flex, GCC, Glibc, Grep, M4, Make и Sed

6.49.1. Инсталируем Module-Init-Tools

Подготавливаем Module-Init-Tools для компиляции:

Для проверки результата вводим: make check.

6.49.2. Описание Module-Init-Tools

Проинсталированные программы: depmod, genksyms, insmod, insmod_ksymoops_clean, kallsyms (ссылка на insmod), kernelversion, ksyms (ссылка на insmod), lsmod (ссылка на insmod), modinfo, modprobe (ссылка на insmod) и rmmod (ссылка на insmod)

Короткое описание

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

Генерирует информацию о версии символов

Устанавливает загружаемый модуль в загружаемое ядро.

Удаляет сохраненные ksyms и модули, не используемые в течении 2 дней.

Извлекает все символы ядра для отладки.

Сообщает версию загруженного ядра.

Показывает экспортированные символы ядра

Выводит список загруженных модулей.

Проверяет объектный файл, связанный с модулем ядра и отображает другую информацию, которую он может собрать.

Использует файл зависимости, созданный depmod , для автоматической загрузки модулей.

Выгружает загружаемый модуль из загруженного ядра

Источник

Module init tools linux

Библиотека сайта rus-linux.net

На главную -> MyLDP -> Электронные книги по ОС Linux

Linux From Scratch (version 6.8)
Назад Глава 6. Установка программ базовой системы Вперед

6.52. Пакет Module-Init-Tools-3.12

В пакете Module-Init-Tools находятся программы для работы с модулями ядра Linux версии с номером 2.5.47 или выше.

Приблизительное время сборки: 0,1 SBU

Требуемое дисковое пространство: 8,6 MB

6.52.1. Установка пакета Module-Init-Tools

Чтобы избежать проблем, связанных с перегенерацией страниц руководств в случаях, когда в этом нет необходимости, сначала перезапишите файл, который просто указывает на другую страницу руководства:

Набор тестов этого пакета предназначен для решения задач, необходимых специалистам, осуществляющих поддержку пакета. Команда make check создает специальный вариант команды modprobe, который бесполезен при обычном использовании. Чтобы запустить тесты (приблизительно 0,2 SBU), выполните следующие команды (обратите внимание, что для нормального использования перед перекомпиляцией нужно для очистки исходного кода выполнить команду make clean):

Подготовьте пакет Module-Init-Tools для компиляции:

Пояснение параметра make:

Обычно команда make install не устанавливает какие-либо двоичные модули, если они уже существуют. Этот параметр изменяет действие этой команды и вызывает команду install вместо использования скрипта-оболочки, который используется по умолчанию.

6.52.2. Описание пакета Module-Init-Tools

Установленные программы: depmod, insmod, insmod.static, lsmod, modinfo, modprobe и rmmod

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

Установка загружаемого модуля в работающее ядро

Статистически откомпилированная версия команды insmod

Выдает список модулей, загруженных в текущий момент

Проверяет объектный файл, связанный с модулем ядра, и отображает любую информацию, которую удается получить

Использует файл зависимостей, созданный с помощью depmod, для загрузки соответствующих модулей

Источник

6.49. Module-Init-Tools-3.0

Пакет Module-Init-Tools содержит программы для поддержки модулей ядра в ядрах Linux с версией 2.5.47 или выше.

Расчетное время сборки 0.1 SBU

Требуемое место на диске 650 KB

Module-Init-Tools — зависимости установки: Bash, Binutils, Bison, Coreutils, Diffutils, Flex, GCC, Glibc, Grep, M4, Make и Sed

6.49.1. Инсталируем Module-Init-Tools

Подготавливаем Module-Init-Tools для компиляции:

Для проверки результата вводим: make check .

6.49.2. Описание Module-Init-Tools

Проинсталированные программы: depmod, genksyms, insmod, insmod_ksymoops_clean, kallsyms (ссылка на insmod), kernelversion, ksyms (ссылка на insmod), lsmod (ссылка на insmod), modinfo, modprobe (ссылка на insmod) и rmmod (ссылка на insmod)

Короткое описание

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

Генерирует информацию о версии символов

Устанавливает загружаемый модуль в загружаемое ядро.

Удаляет сохраненные ksyms и модули, не используемые в течении 2 дней.

Извлекает все символы ядра для отладки.

Сообщает версию загруженного ядра.

Показывает экспортированные символы ядра

Выводит список загруженных модулей.

Проверяет объектный файл, связанный с модулем ядра и отображает другую информацию, которую он может собрать.

Использует файл зависимости, созданный depmod , для автоматической загрузки модулей.

Выгружает загружаемый модуль из загруженного ядра

Источник

6.51. Module-Init-Tools-3.12

The Module-Init-Tools package contains programs for handling kernel modules in Linux kernels greater than or equal to version 2.5.47.

6.51.1. Installation of Module-Init-Tools

To avoid a problem with regenerating the man pages when not needed, first rewrite a file that just points to another man page:

The test suite of this package is geared towards the needs of its Maintainer. The command make check builds a specially wrapped version of modprobe which is useless for normal operation. To run this (about 0.2 SBU), issue the following commands (note that the make clean command is required to clean up the source tree before recompiling for normal use):

Prepare Module-Init-Tools for compilation:

Compile the package:

Install the package:

The meaning of the make parameter:

Normally, make install will not install the binaries if they already exist. This option overrides that behavior by calling install instead of using the default wrapper script.

6.51.2. Contents of Module-Init-Tools

Short Descriptions

depmod

Creates a dependency file based on the symbols it finds in the existing set of modules; this dependency file is used by modprobe to automatically load the required modules

insmod

Installs a loadable module in the running kernel

insmod.static

A statically compiled version of insmod

lsmod

Lists currently loaded modules

modinfo

Examines an object file associated with a kernel module and displays any information that it can glean

modprobe

Uses a dependency file, created by depmod , to automatically load relevant modules

Источник

Советы для успешной перекомпиляции ядра Линукс.

Оригинал: Tips for successful Kernel Recompilation in Linux
Дата: 1 января 2008
Свободный перевод: Алексей Дмитриев
Дата перевода: 10 января 2008

«Компилировать ядро — не орехи щелкать», — часто вздыхают те, у кого перекомпилированное ядро не хочет загружаться. Хотя орешек этот довольно крепок, однако перекомпиляция остается неизбежным делом, с которым каждый системный администратор Линукс рано или поздно столкнется.
Я тоже не избежала этой участи. В этой статье я собираюсь пройти с вами все фазы компиляции ядра. Я верю, что это придаст вам уверенности и компиляция перестанет быть для вас «невыполнимой миссией».

Что есть ядро?

Говоря по-простому, ядро — это центральная часть большинства операционных систем. В число основных функций ядра входят: управление процессами, управление ресурсами и прочее. Ядро первым загружается в оперативную память, когда компьютер включается, и остается в памяти до момента выключения машины. Именно потому, что ядро постоянно присутствует в оперативной памяти, оно должно быть минимально возможного размера.

В Линукс ядро представляет собой единственный файл, носящий имя vmlinuz. Начальные буквы vm обозначают виртуальную память (virtual memory), а последняя буква z говорит о том, что файл является сжатым. Файл vmlinuz находится в директории /boot.

В каких случаях прибегают к перекомпиляции ядра?

Чтобы уменьшить размер ядра:

Чтобы добавить или убрать поддержку тех или иных устройств:

Чтобы изменить параметры системы:

Каковы этапы рекомпиляции ядра?

1. Проверить и обновить необходимые пакеты

Этот этап нужен только при повышении версии ядра с 2.4 до 2.6. Если делается обновление версии 2.6.х до 2.6.х, то первый этап можно пропустить.

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

Основные пакеты для проверки и обновления:

При обновлении module-init-tools необходимо быть очень внимательным. Модулем называется программа, которая может быть включена в ядро по требованию (в случае необходимости). Module-init-tools содержат утилиты для управления модулями ядра Линукс — для загрузки, выгрузки, перечисления и удаления модулей. Основные доступные утилиты суть:

  • insmod
  • rmmod
  • modprobe
  • depmod
  • lsmod

Как modprobe, так и insmod используются для подключения модулей. Единственное отличие между ними состоит в том, что insmod «не знает» местоположение модулей и не предупреждает о зависимостях. Modprobe «знает» про это, просматривая файл /lib/modules/ /modules.dep

Как устанавливать module-init-tools?

# tar -zxf module-init-tools-3.2.2.tar.gz

2. Сконфигурируйте его:

# cd module-init-tools-3.2.2 # ./configure —prefix=/

3. Переименуйте существующую 2.4 версию утилиты в utility.old:

4. Создайте и установите:

5. Запустите скрипт generate-modprobe.conf для перевода данных из файла конфигурации модулей версии ядра 2.4 (/etc/modules.conf) в файл, применяющийся версией ядра 2.6 (/etc/modprobe.conf)

6. Проверьте версию имеющегося в наличии module-init-tools

2. Получение исходного кода ядра

Скачайте исходники с сайта http://www.kernel.org/pub/linux/kernel/v2.6/ . Вы можете поместить их в директорию /usr/src/kernels на вашем сервере. Если вы планируете обновление ядра до версии 2.6.19.2, то шаги будут таковы:

3. Получение информации о компьютерном «железе»

Информация об аппаратной конфигурации вашего компьютера помогут получить следующие команды:

Эта утилита выдаст информацию о сетевой карте и всех устройствах, подключенных к машине. Если в ответ на ввод команды lspci вы получаете ошибку «lscpi: command not found» (команда не найдена), вам придется установить пакет pciutils-2.1.99.test8-3.4 rpm на ваш сервер.

Типичный вывод команды lspci выглядит примерно так:

Информацию о процессоре можно получить из файла /proc/cpuinfo

Полезная программа для получения информации о «железе». Она выдает детальное описание модулей. Прежде чем применять команду modinfo, нужно предварительно выяснить, какие модули загружены. Для этого служит команда lsmod — она выдает список загруженных модулей.

lsmod выдала модуль sata_svw, а детальную информацию про этот модуль можно получить с помощью команды modinfo.

4. Как сконфигурировать ядро

После получения исходников ядра, следующим шагом будет сконфигурировать ядро. Для этого есть несколько способов:

1. make config — эта утилита в командной строке задаст вам по очереди все возможные и невозможные вопросы по поводу конфигурации,

2. make xconfig — утилита, имеющая графический интерфейс, что подразумевает установку Иксов. Потому и не применяется на серверах.

3. make oldconfig — текстовая утилита, которая берет существующий файл конфигурации и запрашивает по поводу каждой переменной, не активизированной в этом файле.

4. make menuconfig — текстовой конфигуратор, основанный на управляемом курсором меню. Эта программа чаще всего используется для конфигурации ядра на серверах.

Новичкам я бы посоветовала использовать существующую конфигурацию и воспользоваться программой make menuconfig для конфигурации ядра.

Шаги по конфигурированию ядра таковы:

Шаг 1: Скопируйте текущую конфигурацию ядра в директорию с вашими новыми исходниками.

где заменяется на версию ядра, работающаю в данный момент на сервере. Ее можно узнать при помощи команды:

Когда make oldconfig будет запрашивать значения переменных, сохраните старые значения.

Даже сохраняя старые значения, не забудьте сверить информацию об аппаратной конфигурации сервера, типе процессора и сетевой карты. В новых версиях ядра опции могут изменяться, и некоторых из них может не оказаться в старом .config файле. Советую вторично перепроверить все опции в процессе работы с menuconfig.

Шаг 2: make menuconfig.

[root]# make menuconfig

На рисунке 1 представлено главное окно menuconfig. Только некоторые опции могут быть скомпилированы как модули. В menuconfig они обозначаются угловыми скобками . Нажмите M, чтобы компилировать как модуль. Значок звездочки [*] означает встроенное в ядро, M обозначает модуль.

Рисунок 1: menuconfig

Menuconfig предлагает функции поиска. Нажмите «/» для поиска любого модуля. Для примера: если вы не знаете, где искать модуль iptables, нажмите «/», введите «iptables» и нажмите enter.

Рисунок 2: Поиск параметров конфигурации

Рисунок 3: Результаты поиска menuconfig

Из множества опций программы menuconfig я упомяну о наиболее важных. Наиболее существенными для правильной работы ядра являются: процессор, файловая система, сетевая карта и жесткий диск. Вы можете выбрать желаемые: процессор, файловую систему, жесткий диск и сетевую карту из опций, доступных в menuconfig.

Тип процессора и его характеристики

Subarchitecture Type : Выберите Generic architecture (Summit,bigsmp, ES7000, default)

Processor family : Выберите соответствующий процессор из предлагаемого списка. Для примера: если у вас модель Dual Core AMD Opteron(tm) Processor 170, то можете указать Opteron/Athlon64/Hammer/K8 в имеющихся опциях.

Если у вас многопроцессорный сервер, подключите опции: Symmetric multi-processing support и SMT (Hyper threading) scheduler support.

Если у вас больше 4 Гб оперативной памяти, подключите опцию High Memory Support (64GB).

И, в конце концов, раздел Processor type and features будет выглядеть вот так:

Рисунок 4 menuconfig processor type

Конфигурация сети (Networking)

В этом разделе подключаются Iptables

Все модули в разделе Core Netfilter Configuration and IP: Netfilter Configuration Должны быть подключены как модули.

Драйверы устройств

Это наиболее запутанная часть. Тут основными опциями, которые необходимо проверить, являются:

1. Block devices :Подключите RAM disk support и Loop back device support

2. SCSI device support: Подключите в секции SCSI low level drivers соответствующую модель, если она является SCSI устройством.

3. Serial ATA (prod) и Parallel ATA (experimental) drivers: Если у вас SATA жесткий диск, подключите соответствующий драйвер в этой секции. Для примера: Если у вас Intel PIIX/ICH SATA на сервере, подключите Intel PIIX/ICH SATA support в этом разделе.

4. Network device support: Подключите соответствующую сетевую карту. Для примера: Если у вас программа lspci выдала следующие данные сетевой карты:
Ethernet controller: Broadcom Corporation NetXtreme BCM5704 Gigabit Ethernet

File Systems

Когда с этим закончите, созраните настройки (save the settings) и выходите из программы (quit).

5. Создание ядра

Следующий шаг — создание ядра. Вы можете применить команду make bzImage для этой цели. Эта команда создаст сжатый файл bzImage в папке arch/i386/boot в директории исходников Линукс; этот файл и будет новым скомпилированным ядром.

Следующий шаг — компиляция и линковка (создание ссылок) модулей. Здесь применим команду make modules.

После этого необходимо скопировать модули в директорию /lib/modules/. Это делается при помощи команды make modules_install.

Последовательность команд следующая:

Опция -j велит системе проделать множество операций в Makefile вместе, что, в свою очередь, уменьшит время компиляции.

— это удвоенное число процессоров в вашей системе, или число виртуальных процессоров. Его можно узнать, применив следующую команду:

# cat /proc/cpuinfo | grep ^processor | wc -l

Когда это сделано, скопируйте все в директорию /boot следующим образом:

mkinitrd это программа, создающая образ инициирующего виртуального диска — initial RAM Disk Image (initrd).

6. Конфигурация загрузчика

Загрузчик — это первая программа, которая запускается при загрузке системы. Существует два вида загрузчиков: GRUB и LILO

1. Определите, какой вид загрузчика у вас установлен.

# dd if=/dev/hda bs=512 count=1 2>&1 | grep GRUB

Если совпадает (появляется вывод команды; прим. перев.), текущий загрузчик — grub. Если не совпадает (нет никакого вывода команды; прим. перев.), то проверьте на lilo:

# dd if=/dev/hda bs=512 count=1 2>&1 | grep LILO

Примечание: Если у вас винчестер SCSI или SATA, то вместо hda, пишите sda.

2. Сконфигурируйте загрузчик

Если у вас LILO, Добавьте строки для нового ядра в файл /etc/lilo.conf. Типичная запись lilo выглядит примерно так:

lilo -v /sbin/lilo -R «Label for new kernel»

Если у вас GRUB, то добавьте запись для нового ядра в конец списка ядер в файле /etc/grub.conf. В GRUB первая запись имеет номер 0 (ноль). Вот пример записи:

Параметр переменной «panic» обеспечивает перезагрузку системы со старым ядром в случае kernel panic. Это означает, что в случае системного сбоя машина будет перезагружена с параметрами по умолчанию через 3 секунды.

Только не изменяйте значение переменной «default» в файле grub.conf. Когда будете перезагружаться, войдите в режим командной строки grub. Для этого нужно напечатать при появлении загрузочного приглашения команду «grub». Когда grub перейдет в режим командной строки, введите следующую команду:

savedefault —default=3 —once

Это в случае, если новая запись введена под номером 3. Затем выходите из режима командной строки grub.

7.Перезагрузка сервера

Перезагрузите сервер командой reboot. Если, паче чаяния, произойдет системный сбой — kernel panic, то система сама перезагрузится со старым ядром. Если все пойдет хорошо, то система будет загружена с новым ядром. Если система загружается с новым ядром, не забудьте изменить значение переменной «default» в файле grub.conf.

Заключение

Загрузиться с новым ядром с первой попытки это суровая задача, временами кажущаяся невозможной. Следуя перечисленным шагам и держа в уме хитрости компиляции, вы, без сомнения, достигнете уровня, когда Компиляция Ядра станет для вас конфеткой.

Источник

Читайте также:  Счетчик калорий mac os
Оцените статью
INSTALL=install