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