Bruce Dubbs wrote:
> Inside chroot, I do have:
> $ ls -l /sys/class/net/eth0/
> 
> device -> ../../../devices/pci0000:00/0000:00:1c.0/0000:02:00.0
> 
> but of course I don't have lspci in chroot yet.

On kernel 3.2.3 (I need to try 3.4, but haven't yet),
/sys/class/net/eth0 itself is a symlink, into the /sys/devices/pciX tree
for the bus that the card is on.  Is yours a symlink, or a separate
directory?  If it's a separate directory, then I suspect that's the
problem: udev doesn't handle that old of a sysfs layout anymore IIRC.

(Upstream, for the record, says that newer kernels will work with older
udev versions, but not the other way around.  Makes a large upgrade
easy, right?  :-/ )

The tree looks something like this in 3.2.3:

/sys/
+->class/
|  +->net/
|    +->eth0 -> ../../devices/pci0000:00/0000:00:06.0/0000:05:05.0/net/eth0/
+->devices/pci0000:00/0000:00:06.0
  +->0000:05:05.0/
    +->vendor,device,etc.
    +->subsystem -> ../../../../bus/pci
    +->driver -> ../../../../bus/pci/drivers/e1000
    +->net/
      +->eth0/
        +->address,ifindex,ifalias,mtu,speed,etc.
        +->device -> ../../../0000:05:05.0
        +->subsystem -> ../../../../../../class/net

So since eth0 itself is a link to the net subsystem entry physically
stored under the pci subsystem entry, udev finds the vendor/device from
the parent, instead of having to traverse symlinks.

I don't remember which kernel this showed up in for sure, though.  Might
have to do with CONFIG_SYSFS_DEPRECATED?  Of course unsetting that might
break your earlier version of udev, if it's set now.  :-/

Attachment: signature.asc
Description: OpenPGP digital signature

-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to