PDA

Просмотр полной версии : Загрузка модулей ядра в Fedora Core


anton
07.08.2007, 14:15
Добрый день!

не могу вот разобраться.

имеются компьютеры с Fedora Core 6.
Ядро по умолчанию, не пересобиралось, соответственно, лишнее из ядра не выкидывалось.

Когда выполняю программу lsmod, вижу модули, которые явно не нужны. Конечно, можно их выгрузить вручную, но я не понимаю, как не загружать эти модули при загрузки системы? В Slackware можно просто отредактировать rc.modules, а что делать в Fedore?

Спасибо.

Артур Крюков
07.08.2007, 15:51
Модули загружает hoplug.
Соответсвенно параметр
blacklist имя_модуля
либо в /etc/modprobe.conf
или тоже самое в любом файлике в директории /etc/modprobe.d
лучше создать свой файл в директории.

anton
07.08.2007, 18:10
Модули загружает hoplug.
Соответсвенно параметр
blacklist имя_модуля
либо в /etc/modprobe.conf
или тоже самое в любом файлике в директории /etc/modprobe.d
лучше создать свой файл в директории.

Попробовал на модулях для звуковой карты, создал свой файл — сработало.
Тем не менее, до конца непонятно. Я делал ранее тоже самое, только для других модулей, например floppy, pcspkr, ohci_hcd и дописывал параметр blacklist в имеющийся файл /etc/modprobe.d/blacklist. Не работало, модули висели в системе.

Нашёл скрипт /etc/sysconfig/modules/udev-stw.modules
####
#!/bin/sh
for i in nvram floppy parport lp snd-powermac;do
modprobe $i >/dev/null 2>&1
done

########
Закомментировал строки, перечисленные в скрипте модули перестали грузиться.

Сейчас по прежнему, тот же модуль pcspkr упорно грузиться при старте системы. Создаётся впечатление что операционная система сама решает, что надо грузить.

Таким образом получается, что я явно не могу указать что мне не надо всё-таки загружать (

Артур Крюков
07.08.2007, 19:56
попробуйте назвать файл типа /etc/modprobe.d/zzz
чтобы он грузился самым последним и переопределял значения по умолчанию

anton
09.08.2007, 11:00
попробуйте назвать файл типа /etc/modprobe.d/zzz
чтобы он грузился самым последним и переопределял значения по умолчанию

К сожалению, не помогло:(
Такое ощущение что что-то загружает некоторые модули уже в самом конце инициализации. ( Ума не приложу, кому в системе понадобился модуль, например, pcspkr? )

Нет, оно конечно вообще неудобств никаких не доставляет, просто непонятно, соответственно непорядок :(

Попробую ядро пересобрать и выкинуть то, в чём нет необходимости.

Кстати, во прикол то, не знал )) Оказывается товарищи разработчики Fedora решили не включать исходные коды ядра в дистрибутив. качать надо оказывается. Да.....

Arsak
09.08.2007, 21:06
Кстати, во прикол то, не знал )) Оказывается товарищи разработчики Fedora решили не включать исходные коды ядра в дистрибутив. качать надо оказывается. Да.....
Это ещё не первый сюрприз, с которым ты столкнёшься. :) Скачанные исходники от FC не собираются стандартным способом; они ещё выпендрились с особым алгоритмом сборки своих (не-kernel.org) исходников.

anton
10.08.2007, 10:48
Ну я не сказал бы что Fedora такая уж такая плохая, Линукс как Линукс.
POSIX в ней к счастью не отменили ))
Просто так сложилась ситуация, что приходится работать с машинами где Fedora и RHEL. А раньше всё время имел дело с Slackware. Ну ничего, пара установок на разные машины, разбор инициализации, разбор пакетов которые она ставит, тренировка с yum и rpm и вполне можно работать )

Но я очень удивился, когда взял диски с дистрибутивом и не нашёл там исходных кодов ядра!! Взял более раннюю версию, их тоже нет! ))

Что касается самого ядра с их сайта, ужасно патченное.

ЧТО значит Скачанные исходники от FC не собираются стандартным способом; они ещё выпендрились с особым алгоритмом сборки своих (не-kernel.org) исходников. ?

Я действую следующим образом, вроде всё нормально:

1. Скачивание ядра
$ yumdownloader -e core-source -e updates-source --source kernel
или
$ wget -c http://download.fedora.redhat.com/pub/fedora/linux/core/6/source/SRPMS/kernel-2.6.18-1.2798.fc6.src.rpm

2. Установка пакета
$ rpm -Uvh 2.6.18-1.2798.fc6.src.rpm

3. Подготовка исходного кода ядра
$ cd /usr/src/redhat/SPECS/
$ rpmbuild -bp --target $(uname -m) kernel-2.6.spec

4.
$ cp configs/kernel-2.6.18-i686.config .config

5. Как обычно
vi Makefile ( EXTRAVERSION= )

make oldconfig

make menuconfig

make bzImage modules modules_install install

Что не так?

Arsak
10.08.2007, 21:30
Я и не говорю, что федора плохая. У самого на паре серваков крутится FC 6.

make bzImage modules modules_install install

Что не так?
и как успехи на этапе make modules?
как-то тоже пересобирал ядро на одном из подражателей FC (исходники были как раз не с kernel-org, а установлены из rpm), действуя привычным вышеуказанным способом, и этап make modules всё время завершался ошибкой
сначала казалось, что ошибка в конфиге; но порыв инет, нашёл инфу, что это так и должно быть -- оказывается "теперь для сборки внешних модулей требуется только пакет kernel-devel"; и для не-kernel-org исходников рекомендуется следующий алгоритм сборки ядра из srpm:
http://fedoraproject.org/wiki/Docs/CustomKernel

anton
13.08.2007, 10:24
Почему-то всё нормально проходит на всех этапах )

С подобной ошибкой я встречался:

— с ошибкой вылетала сборка bzImage, это было в том случае, если я что-то путал конфигурируя параметры ядра;

— помню случай с make modules, когда также была ошибка. Это было когда я ставил расширения нетфильтра path-o-matic, которые видимо как-то конфликтовали с имеющимися. Что-то связанной с log.

Кстати, ещё нужно делать make clean, а если ядро 2.4 — make dep