Bryan Kadzban wrote: > 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?
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. I looked at the .config and I do have CONFIG_SYSFS_DEPRECATED=y CONFIG_SYSFS_DEPRECATED_V2=y > (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? :-/ ) Yeah, right. On my host, it looks like I'm running udev-071 (October 2005), so I'd be hesitant to change things until I boot into the new kernel. On my development system I do have udev-182. There I'm running Linux-3.3.6 and /sys/class/net/eth0 is a symlink to ../../devices. > 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 /sys/ +->class +->net/ +->net/ +->eth0 -> ../../devices/pci0000:00/0000:00:19.0/net/eth0 ^^^ slightly different +->devices/pci0000:00/0000:00:19.0 +->vendor, device, etc The rest looks the same I do have 70-persistent-net.rules there. > 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. :-/ I think you may have spotted the problem, but I'm not doing to try changing CONFIG_SYSFS_DEPRECATED until I can boot into a system with a current udev. Also, as with the discussion on BLFS support discussing updating glibc in place, I think I will put udev in the same category as too risky to update in place. -- Bruce -- Bruce -- http://linuxfromscratch.org/mailman/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page