[linux] udev

Fragaria

Что за тупая вещь.
Почему она берётся загружать модули для устройств ДО того, как обработается /etc/modules? Как я могу повлиять на порядок загрузки этих модулей? Из-за этого udev, который обновился сегодня (я сижу на Debian Sid моя гигабитная Marvell, которая всю жизнь была eth0, вдруг стала eth1. Когда я внёс модуль forcedeth в blacklist udev'а, думая, что теперь-то уж точно загрузится сначала модуль для Марвела (он раньше прописан в /etc/modules, чем forcedeth и перезагрузился - я был вообще поражён: устройством eth0 стал... IEEE1394! Пришлось модуль для этого устройства тоже включать в блэклист. А если я скомпилирую модуль для своей Wi-Fi, мне его тоже в блэклист пихать? Бред какой-то. В связи с этой ситуацией вопрос: можно ли как-то влиять на порядок загрузки модулей udev'ом, и можно ли как-то указать для каждого из модулей сетевых устройств некий параметр, который бы говорил ему, на какое устройство (eth0, eth1 etc) вешаться?

dgaf

http://process-of-elimination.net/wiki/Network_Device_Renaming_with_UDEV
ЗЫ
а в gentoo есть вот такая хрень
# INTERFACE RENAMING
# There is no consistent device renaming scheme for Linux.
# The preferred way of naming devices is via the kernel module directly or
# by using udev (http://www.reactivated.net/udevrules.php)
# If you are unable to write udev rules, then we do provide a way of renaming
# the interface based on it's MAC address, but it is not optimal.
# Here is how to rename an interface whose MAC address is 00:11:22:33:44:55
# to foo1
#rename_001122334455="foo1"

# You can also do this based on current device name - although this is not
# recommended. Here we rename eth1 to foo2.
#rename_eth1="foo2"

Fragaria

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

KERNEL="eth*", SYSFS{address}="aa:bb:cc:dd:ee:ff", NAME="eth0"
KERNEL="eth*", SYSFS{address}="gg:hh:ii:jj:kk:ll", NAME="eth1"

а то, что ты написал ниже, в каком файле прописывается?

dgaf

>спасибо, но вот непонятно, как поведёт себя система в случае таких правил:
попробуй
>а то, что ты написал ниже, в каком файле прописывается?
/etc/conf.d/net

krishtaf

бля что за долбоебизм при вопросе типа "у меня проблема в дебиан, как мне ее решить ?" находится куча всяких ответов типа "а у меня в генту вот так можно".
Бля если ты не знаешь дебиан - то хуле лезть ? Генту очень сильно отличается от остальных говнолинуксов в нем все не так как в них.
И что-то советовать по аналогии не имеет смысла.

sergey_m

бля что за долбоебизм при вопросе типа "у меня проблема в дебиан, как мне ее решить ?" находится куча всяких ответов типа "а у меня в генту вот так можно".
Парень, это линукс.

krishtaf

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

Spin

Напиздел на всех а сам не хуя не сказал по сути. Ты противоречишь сам себе. Было приведено две ссылки на решения. Мб они подойдут для дебина (особенно вторая). Ты же просто нафлудил.

krishtaf

В том то и дело, что:
Мб они подойдут для дебина
В этом вся соль. Т.е. если давать советы основываясь на генту - то скорее всего советы не подойдут, т.к. user space у генту сильно отличный. Другое делое, если был бы какой-нибудь Alt Linux, Ubuntu и т. д.
Ты же просто нафлудил.
не просто, а на будущее

tokuchu

Вообще, на сколько я знаю, udev не загружает модули. И blacklist'а у него тоже нет. Это тебе с hotplug надо разбираться или загружать модули вручную.
PS. Ну если тебя способ переименования с помощью udev не устраивает, конечно.

Fragaria

блэклист у него есть =)
и модули он, как выяснилось, загружает.
пакет hotplug у меня удалён

tokuchu

Про это
блэклист у него есть =)
и это
и модули он, как выяснилось, загружает.
подробнее можно?
И давай при этом возможность не именовать устройсво не называть blacklist'ом, т.к. для устройства модуль загружен будет. А так же возможность вызова скрипта, который решает как назвать устройство в сложных случаях не будем называть загрузкой модулей?

Fragaria

yojick:/etc/modprobe.d$ cat blacklist

# A default list of modules which should not be automatically loaded by
# the hotplug subsystem. It does not affect autoloading of modules by the
# kernel. This file is provided by the udev package.
# usbcore is loaded as a dependency, ignore it otherwise
blacklist usbcore
# evbug is a debug tool and should be loaded explicitly
blacklist evbug
# these drivers are very simple, the HID drivers are usually preferred
blacklist usbmouse
blacklist usbkbd
# replaced by e100
blacklist eepro100
# replaced by tulip
blacklist de4x5
# replaced by tmscsim
blacklist am53c974
# watchdog drivers should be loaded only if a watchdog daemon is installed
blacklist acquirewdt
blacklist advantechwdt
blacklist alim1535_wdt
blacklist alim7101_wdt
blacklist cpu5wdt
blacklist eurotechwdt
blacklist i810_tco
blacklist i8xx_tco
blacklist ib700wdt
blacklist indydog
blacklist ixp2000_wdt
blacklist ixp4xx_wdt
blacklist machzwd
blacklist mixcomwd
blacklist mpc8xx_wdt
blacklist pcwd
blacklist pcwd_pci
blacklist pcwd_usb
blacklist s3c2410_wdt
blacklist sa1100_wdt
blacklist sbc60xxwdt
blacklist sc1200wdt
blacklist sc520_wdt
blacklist scx200_wdt
blacklist shwdt
blacklist softdog
blacklist w83627hf_wdt
blacklist w83877f_wdt
blacklist wafer5823wdt
blacklist wdt285
blacklist wdt977
blacklist wdt
blacklist wdt_pci
# manually added
blacklist nvsound
blacklist nvnet
blacklist sk98lin
blacklist forcedeth

tokuchu

Вот это не наводит на сомнения:
# A default list of modules which should not be automatically loaded by
# the hotplug subsystem. It does not affect autoloading of modules by the
?
А вот из этого:
# kernel. This file is provided by the udev package.
похоже, следует, что hotplug в Debian включен в пакет udev.
Сейчас ещё посмотрел содержимое этого пакета - там действительно есть части hotplug.

Fragaria

ага, у меня тоже такая мысль возникла, особенно когда новая версия udev сказала "Please purge hotplug package"
Оставить комментарий
Имя или ник:
Комментарий: