Kudzu что это linux

Linux OS Service ‘kudzu’

This executes kudzu, the automatic hardware detection tool developed by Red Hat.

kudzu” detects and configures new and/or changed hardware on a system. It loads the required drivers and unloads redundant drivers. It is configured by default to run at system boot time to determine what hardware has been added or removed from the system.

First, it compares hardware detected against information in /etc/sysconfig/hwconf (if it exists). Then it determines if any hardware has been added or removed from the system. If so, it gives the users the opportunity to configure any added hardware, and unconfigure any removed hardware. It then updates /etc/sysconfig/hwconf.

Service Control

To manage the kudzu service for future shutdowns and reboots, use the chkconfig service:

# chkconfig kudzu on # chkconfig --list kudzu kudzu 0:off 1:off 2:on 3:on 4:on 5:on 6:off

To control the kudzu service immediately, use the service tool:

Package name: kudzu-[version]-[arch].rpm
E.g: kudzu-1.1.95.23-1.0.1.i386.rpm

Configuration files:

/etc/sysconfig/hwconf

– Listing of current installed hardware.

/etc/sysconfig/kudzu

– Configuration for the boot-time hardware probe. Set ’SAFE’ to something other than ’no’ to force only safe probes.

/etc/modprobe.conf

– Module configuration file.

/etc/sysconfig/network-scripts/ifcfg-*

– Network interface configuration files.

Источник

Железо и Linux

Как мы привыкли устанавливать устройства в Windows? Сначала устанавливаем устройство, включаем питание, ждем пока загрузятся окошки, и устанавливаем драйвер. Лишь для самых древних устройств в базе данных Windows будет драйвер. Важный момент заключается в том, что операционная система сама определяет устройство и используемые ним ресурсы. Конечно, все сказанное относится к PnP-устройствам, но когда ты в последний раз видел не PnP-устройство?

В Linux для автоматического определения устройств используется специальная утилита: kudzu или harddrake. В некоторых дистрибутивах используется kudzu, а некоторых – harddrake (преимущественно в дистрибутивах, основанных на Linux Mandrake и в самом Mandrake, в новых дистрибутивах используется harddrake2).

Утилита автоматического определения устройств автоматически запускается при загрузке системы. Я рекомендую сразу после установки системы (когда все устройства уже определены и настроены) отключить kudzu (или harddrake, harddrake2) – так запуск системы будет быстрее. Не каждый же день ты устанавливаешь новое устройство? Даже если и так, то все равно – устанавливаешь новое устройство ну раз-два в день, а перезагружаться можешь гораздо больше. Поэтому все равно остается выигрыш во времени. Если тебе нужно установить новое устройство, после его физической установки в систему запусти kudzu вручную от имени пользователя root:

Читайте также:  Linux send email to smtp

При запуске harddrake от имени простого пользователя, он запросит пароль пользователя root. Введи его и пользуйся harddrake – команду su вводить необязательно.

  1. Win-модемы, то есть такие модемы, которые работают под управлением ОС Windows. Я не говорю, что в Linux они вообще не работают, но, потратив уйму времени, даже если ты и настроишь этот модем, удовольствие от его работы ты не получишь.
  2. Win-принтеры – комментарии те же, что и для Win-модемов
  3. Экзотические TV и FM-тюнеры.

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

Следующее устройство – это принтер. Он очень легко настраивается конфигуратором printerdrake в Linux Mandrake или redhat-config-printer в Red Hat. Современная база драйверов CUPS (Common Unix Print System) поддерживает большинство принтеров. Практически всю настройку того или иного устройства можно произвести с помощью специального конфигуратора, который используется для настройки соответствующего устройства. Об этих программах мы поговорим чуть позже, а пока поговорим о программе kudzu более подробно.

Как уже отмечалось, для определения нового оборудования используется утилита kudzu. Обычно она запускается при запуске компьютера, но ее запуск занимает определенное время, поэтому я рекомендую отключить ее автозапуск и запускать ее вручную только, если это необходимо. Кажется, об этом я уже тоже говорил. Выполни команду /usr/sbin/drakxservices (или redhat-config-services в Red hat) и отключи автоматический запуск утилиты kudzu.

Установив новое оборудование, введи команду: /usr/sbin/kudzu

Запустится утилита kudzu, которая сообщит о найденном оборудовании.

Ты можешь согласиться с установкой нового устройства, а можешь отказаться от его установки. Задача kudzu состоит в том, чтобы определить, какое устройство установлено, и добавить модули ядра для работы этого устройства. Модули можно добавить и вручную, если ты знаешь точное название модуля, с помощью команды insmod (для удаления модуля используется команда rmmod). Программа kudzu также прописывает модули в файле /etc/modules.conf (чтобы они загружались при запуске системы):

 pre-install pcmcia_core CARDMGR_OPTS=-f /etc/rc.d/init.d/pcmcia start above snd-pcm-oss snd-mixer-oss alias sound-slot-0 snd-via686 above snd-via686 snd-pcm-oss alias tap0 ethertap options tap0 -o tap0 unit=0

В этом файле указываются автоматически загружаемые модули и их параметры. Откомпилированные модули хранятся в каталоге /lib/modules. Как добавить устройство вручную, ты узнаешь в следующем пункте – мы будем вручную добавлять модуль для нашей сетевой платы.

  1. Убедиться, что ядро поддерживает устанавливаемое устройство. В случае необходимости пересобрать ядро.
  2. Запустить утилиту /usr/sbin/kudzu. Если нужно, вручную отредактировать файл /etc/modules.conf (или conf.modules), чтобы установить дополнительные параметры модуля.
  3. Настроить новое оборудование с помощью соответствующего конфигуратора, например, если это сетевая плата, вы можете использовать конфигуратор netconf.
Читайте также:  Clone linux to vmware

Наверное, тебя немного смутил первый пункт, в смысле убедиться, что ядро поддерживает устройство. А как это сделать? Можно запустить menuconfig и посмотреть, какие устройства поддерживает ядро. Но это займет довольно много времени. Проще всего зайти на сайт Linux Mandrake и посмотреть, если ли ваше устройство в базе данных устройств, поддерживаемых Linux’ом. Ничего, если у тебя другой дистрибутив, например, Red Hat – основные устройства те же. База данных устройств доступна по адресу: http://www.mandrakelinux.com/en/hardware.php3

И еще: все, что было сказано про kudzu, характерно и для harddrake (harddrake2). Его точно также можно отключить и запускать автоматически.

Настройка определенного устройства выполняется с помощью соответствующего конфигуратора, например, printerdrake – настройка принтера в Mandrake, redhat-config- printer – настройка принтера в Red Hat. Если ты забыл название конфигуратора, найти нужный конфигуратор очень просто: запусти терминал, введи redhat-config- (если у тебя Red Hat) или drak (если Mandrake), и нажми Tab – увидишь почти все конфигураторы, доступные в твоей системе. Почему «почти»? Да потому что имена некоторых конфигураторов не начинаются с «redhat-config» или с «drak», например, harddrake.

Основные конфигураторы перечислены ниже. Сначала идет название конфигуратора для Mandrake, а через запятую – для Red Hat.

Основной конфигуратор drakconf, setup
Настройка железа harddrake2, kudzu
Настройка X Window (в т.ч. монитора и видеокарты) XFdrake, redhat-config-xfree86
Настройка сети draknet, redhat-config-network
Настройка клавиатуры keyboarddrake, redhat-config-keyboard
Настройка мыши ousedrake, redhat-config-mouse
Настройка принтера rinterdrake, redhat-config-printer

Ядро Linux содержит только самый необходимый код – чтобы только загрузиться. Поддержку остальных устройств обеспечивают модули, которые встраиваются в ядро при загрузке системы. В принципе, можно вкомпилировать в ядро все необходимые модули, тогда у нас будет система, не использующая модули, но мы сейчас не будем говорить о таких системах. С помощью пакета modutils, который будет рассмотрен ниже, можно добавить нужный вам модуль в ядро во время работы системы. При этом перезагружать систему не нужно – устройство начнет работать сразу же после загрузки модуля. Раньше, в первых версиях ядра Linux, механизм работы с модулями не был предусмотрен, и ядра тех времен содержали в себе код драйверов для ВСЕХ поддерживаемых устройств. Такое решение нельзя назвать рациональным. Мы не можем предусмотреть, какие устройства будут установлены у конечного пользователя, даже если включить в состав ядра драйверы всех возможных устройств. Предположим, что у нашего пользователя установлена звуковая плата Yamaha, а наше ядро «знает» еще с десяток звуковых плат. Получится, что один код будет работать всегда, а остальные десять драйверов будут просто использовать оперативную память. Кстати, об оперативной памяти: ты представляешь размер ядра, если оно будет содержать драйверы всех устройств? Исходя из всего этого, разработчики ядра Linux «изобрели» механизм динамически загружаемых модулей. Модули хранятся на диске в виде объектных файлов (*.o). При необходимости ядро загружает необходимый ему модуль. Откуда ядро знает, какой модуль нужно загружать, а какой – нет? Список модулей, а также передаваемые им параметры хранятся в файле /etc/modules.conf (или /etc/conf.modules – в зависимости от дистрибутива и версии ядра). Вот пример этого файла:

Читайте также:  Как запустить скомпилированный файл linux

Файл /etc/modules.conf (Linux Red Hat 7.3)

 alias parport_lowlevel parport_pc alias usb-controller usb-uhci alias sound-slot-0 i810_audio post-install sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -L >/dev/null 2>&1 pre-remove sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -S >/dev/null 2>&1

Подробнее о формате файла /etc/modules.conf можно прочитать в справочной системе, (man modules.conf)

При загрузке система читает этот файл и загружает указанные в нем модули. В нашем случае загружается только модуль i810_audio, поскольку команда alias не загружает модуль, а только устанавливает для него псевдоним.

Загрузка модулей из файла modules.conf обеспечивается программой modprobe, которая вызывается из сценария инициализации системы /etc/rc.d/rc.sysinit.

Во время работы системы мы сами можем загрузить нужный нам модуль. Для этого нужно использовать программу insmod, входящую в состав пакета modutils. Использовать программу очень просто:

Использовать программу может только пользователь root. Просмотреть список загруженных модулей можно с помощью команды lsmod. Вот вывод этой программы:

 Module Size Used by Not tainted autofs 12164 0 (autoclean) (unused) nls_koi8-r 4576 2 (autoclean) nls_cp866 4576 2 (autoclean) vfat 12092 2 (autoclean) fat 37400 0 (autoclean) [vfat] usb-uhci 24484 0 (unused) usbcore 73152 1 [usb-uhci]

Некоторые модули загружаются не из файла /etc/modules.conf. Например, модули файловых систем загружаются по мере необходимости – при монтировании определенной файловой системы загружается нужный модуль, если, конечно, он есть. Модули nls_koi8-r и nls_cp866 загружаются также при монтировании файловой системы, если указаны опции монтирования iocharset=koi8-r,codepage=866.

Выгрузить модуль предельно просто:

Программа modinfo позволяет просмотреть информацию о модуле – ты можешь больше узнать об этом модуле:

 modinfo usbcore filename: /lib/modules/2.4.18-3/kernel/drivers/usb/usbcore.o description: author: license: "GPL"

Программы insmod, rmmod, lsmod и modinfo входят в состав modutils. Для использования любой этой программы необходимы права пользователя root.

Все вопросы и комментарии рад буду выслушать по адресу dhsilabs@mail.ru.

Источник

Оцените статью
Adblock
detector