Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] udevadm: missing or unknown command
@ 2015-07-27 18:55 Steve Kenton
  2015-07-28  2:11 ` Nimai Mahajan
  0 siblings, 1 reply; 2+ messages in thread
From: Steve Kenton @ 2015-07-27 18:55 UTC (permalink / raw)
  To: buildroot

I have an (x86) application where the end users can hot plug disks drives.
Since I have no control over what they put where, labels etc are of limited use
so I switched from mdev to eudev so I could match the actual SATA port in use
These rules added to a file in /etc/udev/rules.d seem to do the trick

# Bind the drive names to the physical port they connect too - udev no longer allow renaming device nodes so set up HDi* symlinks instead
DEVPATH=="/devices/pci0000:00/0000:00:1f.2/ata1/host0/target0:0:0/0:0:0:0/block/sd*", ENV{ID_TYPE}=="disk", SYMLINK+="HDia%n"
DEVPATH=="/devices/pci0000:00/0000:00:1f.2/ata2/host1/target1:0:0/1:0:0:0/block/sd*", ENV{ID_TYPE}=="disk", SYMLINK+="HDib%n"
DEVPATH=="/devices/pci0000:00/0000:00:1f.2/ata3/host2/target2:0:0/2:0:0:0/block/sd*", ENV{ID_TYPE}=="disk", SYMLINK+="HDie%n"
DEVPATH=="/devices/pci0000:00/0000:00:1f.2/ata4/host3/target3:0:0/3:0:0:0/block/sd*", ENV{ID_TYPE}=="disk", SYMLINK+="HDif%n"
DEVPATH=="/devices/pci0000:00/0000:00:1f.2/ata5/host4/target4:0:0/4:0:0:0/block/sd*", ENV{ID_TYPE}=="disk", SYMLINK+="HDic%n"
DEVPATH=="/devices/pci0000:00/0000:00:1f.2/ata6/host5/target5:0:0/5:0:0:0/block/sd*", ENV{ID_TYPE}=="disk", SYMLINK+="HDid%n"

They create the symlinks I was wanting and which do indeed track the SATA cables regardless of the order the drives are plugged

$ ls -l /dev/H*
lrwxrwxrwx 1 root root 3 Jul 27 13:38 /dev/HDia -> sda
lrwxrwxrwx 1 root root 4 Jul 27 13:38 /dev/HDia1 -> sda1
lrwxrwxrwx 1 root root 4 Jul 27 13:38 /dev/HDia2 -> sda2
lrwxrwxrwx 1 root root 3 Jul 27 13:38 /dev/HDib -> sdb
lrwxrwxrwx 1 root root 4 Jul 27 13:38 /dev/HDib1 -> sdb1
lrwxrwxrwx 1 root root 3 Jul 27 13:38 /dev/HDic -> sdc
lrwxrwxrwx 1 root root 4 Jul 27 13:38 /dev/HDic1 -> sdc1
lrwxrwxrwx 1 root root 4 Jul 27 13:38 /dev/HDic2 -> sdc2
lrwxrwxrwx 1 root root 4 Jul 27 13:38 /dev/HDic5 -> sdc5

However, when I try to run udevadm - which does exist:

$ ls -l /sbin/udevadm
lrwxrwxrwx 1 root root 16 Jul 27 10:55 sbin/udevadm -> /usr/bin/udevadm

$ ls -l /usr/bin/udevadm
-rwxr-xr-x 1 root root 253568 Jul 27 12:38 usr/bin/udevadm


And appears to be a valid executable file

$ file udevadm
udevadm: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, stripped


I get this message

$ ./udevadm
udevadm: missing or unknown command


Missing dependency Somewhere maybe? Anyone have a clue? Because I'm stuck.


Thanks, Steve

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2015-07-28  2:11 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-27 18:55 [Buildroot] udevadm: missing or unknown command Steve Kenton
2015-07-28  2:11 ` Nimai Mahajan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox