LinuxForum.Fans
Тема

Помогите разобраться с udev

Автор: v4567 4 сообщений 2701 просмотров
#87556

udev не видит жёсткие диски
Система самосбор lfs
udev поставил Udev-151 к нему шли и правила, которые скопировал в
/etc/udev/rules.d
есть два диска sda и sdb, после загрузки оказывается udev не создал файлы /dev/sda, /dev/sda1 ..... /dev/sdb, /dev/sdb1 .......
хотя ядро прекрасно всё увидело и создало папки /sys/block/sda/sda1 и т.д. /sys/block/sdb/sdb1 и т.д. с файлами, вобщем всё как надо.
При подключении флешек udev видит их и создаёт файлы /dev/sdc, /dev/sdc1 если подключить одну флешку, если две то создаются ещё файлы /dev/sdd /dev/sdd1
Прописывание в файлах правил для udev следующих строк:
KERNEL=="sda", SUBSYSTEM=="block", NAME="sda"
KERNEL=="sda1", SUBSYSTEM=="block", NAME="sda1"
и т.д.
или правил:
KERNEL=="sd?", SUBSYSTEM=="block", NAME="%k"
KERNEL=="sd*[0-9]", SUBSYSTEM=="block", NAME="%k"

ситуацию не изминили

причём если удалить все правила и загрузиться, то udev определить многие устройства кроме жёстких дисков, и при вставлении флешек так же их определяет и создаёт файлы /dev/sdc, /dev/sdc1, /dev/sdd, /dev/sdd1

Если кто знает в чём проблема помогите пожалуйста.
Прописывание вручную файлов /dev/sda, /dev/sda1 и т.д. не подойдёт хотелось бы разобраться с udev

#87648

а для чего Вы пишите правила для дисков в /etc/udev/rules.d ? Туда пишутся не ответственные правила для девайсов которые инициируются последними , а основная масса правил находятся тут :
[console]
Gramozeka:~$ ls /lib/udev/rules.d/
10-dm.rules 60-pcmcia.rules 70-printers.rules 85-regulatory.rules 95-devkit-power-hid.rules
11-dm-lvm.rules 60-persistent-alsa.rules 75-cd-aliases-generator.rules 90-hal.rules 95-devkit-power-wup.rules
13-dm-disk.rules 60-persistent-input.rules 75-net-description.rules 90-libgphoto2.rules 95-dm-notify.rules
40-slackware.rules 60-persistent-serial.rules 75-persistent-net-generator.rules 90-libmtp.rules 95-keyboard-force-release.rules
40-usb_modeswitch.rules 60-persistent-storage-tape.rules 75-tty-description.rules 90-network.rules 95-keymap.rules
50-firmware.rules 60-persistent-storage.rules 77-nm-olpc-mesh.rules 95-devkit-power-battery-recall-dell.rules 95-udev-late.rules
50-udev-default.rules 60-persistent-v4l.rules 78-sound-card.rules 95-devkit-power-battery-recall-fujitsu.rules 97-bluetooth-hid2hci.rules
55-hpmud.rules 61-mobile-action.rules 79-fstab_import.rules 95-devkit-power-battery-recall-gateway.rules 97-bluetooth.rules
56-hpmud_support.rules 61-persistent-storage-edd.rules 80-drivers.rules 95-devkit-power-battery-recall-ibm.rules 98-devkit.rules
59-non-libata-devices.rules 65-permissions.rules 80-libnjb.rules 95-devkit-power-battery-recall-lenovo.rules 99-fuse.rules
60-cdrom_id.rules 70-acl.rules 80-libpisock.rules 95-devkit-power-battery-recall-toshiba.rules
60-floppy.rules 70-hid2hci.rules 80-libsane.rules 95-devkit-power-csr.rules
[/console]

за генерацию файла диска в /dev отвечает persistent-storage-edd.rules(№60 у меня) . Есть у Вас такой и если есть то что в нем ?

#87666

gramozeka спасибо за помощь

да такой файл есть /lib/udev/rules.d/61-persistent-storage-edd.rules

вот его содержимое:

# do not edit this file, it will be overwritten on update

ACTION!="add|change", GOTO="persistent_storage_edd_end"
SUBSYSTEM!="block", GOTO="persistent_storage_edd_end"
KERNEL!="sd*|hd*", GOTO="persistent_storage_edd_end"

# BIOS Enhanced Disk Device
ENV{DEVTYPE}=="disk", IMPORT{program}="edd_id --export $tempnode"
ENV{DEVTYPE}=="disk", ENV{ID_EDD}=="?*", SYMLINK+="disk/by-id/edd-$env{ID_EDD}"
ENV{DEVTYPE}=="partition", ENV{ID_EDD}=="?*", SYMLINK+="disk/by-id/edd-$env{ID_EDD}-part%n"

LABEL="persistent_storage_edd_end"

помоему всё содержимое пролетает из-за GOTO

gramozeka если знаете что должно быть вписано в нём помогите пожалуйста

#87683

у вас всё вписано правильно , вероятно проблема не в udev , а совсем в другом .
нужно долго и нудно разбираться , как вариант начать с ядра , возможно какая-то опция не включена (или наоборот включена , но не та) , проверьте блочные устройства в "Device drivers" , возможно ваши диски просто не опознаются ядром именно как HDD , (то что ядро их видит ещё ни о чем не говорит) , у меня была аналогичная проблема с древним IDE-диском ядро его видело , но за диск не считало пока я не включил нужную функцию , дальше смотрите по скриптам инициации системы , но скорее всего дело именно в ядре .

Войдите или зарегистрируйтесь, чтобы ответить.