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. :-/
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
