I found out what creates the extra entry. When I build the LFS kernel in Ch 8, my focus is on building a kernel that I'm pretty sure will boot the BtB official, spartan LFS on anything I imagine I'll throw at it. Heavy on hard drive support, nothing for sound, DRI, SMP, or networking. Rationale: those can be compiled into the kernel once it's running when all the unnecessary HD support is cut away, the "customization" build. When that kernel, without any networking support is booted, udev creates an "eth0" rule with MACADDR 00 00 00 00 96 06. When I clone the system, this is where I start testing basic function.
The fifth or sixth thing I do in the "BLFS" phase is patch the kernel and recompile the kernel with added support for the stuff I know I'll be building in this phase, e.g. networking and netfilter, et al. This second kernel is still expected to be customized, still has extra HD support, but it's meant to be a more functional "point of departure". When that gets booted, now udev appends an "eth1" rule with MACADDR 00 1b b9 6b 96 06, and now when I'm supposed to be able to network, eth0 doesn't exist! I discovered this working backwards, booting the first kernel again (so eth1 was 00 00 00 00 96 06). Blowing off that line and rebooting isn't good enough--it's a zombie and comes alive again. I've got to delete the file and reboot to get something that works. LFS provides that /lib/udev/init-net-rules.sh, but I haven't tried to understand how it plays into this. >>> If there is only one, then you can add net.ifnames=0 on the kernel >>> command line. >> >> Bad idea. It needs to be something the init script can handle on >> its own. > >Why? If the kernel gets it right at the start, then the init scripts >or udev don't need to address the name at all. (We all have our opinions about elegance, YMMV, and that sounds like a clumsy workaround to me. It just "feels" to me like somewhere there's a bug that doesn't behave when the NIC exists but there is no kernel support for it. If there is no kernel kernel support for networking, then don't go trying to build a persistent net rule! It's not working right when it tries. But also...) Because I need to be able to package up the whole build so I can clone it when needed. My clone script isn't going to know this is going to happen (it never had before) so it won't clone a runnable system without this nasty glitch. -- Paul Rogers [email protected] Rogers' Second Law: "Everything you do communicates." (I do not personally endorse any additions after this line. TANSTAAFL :-) -- http://www.fastmail.com - Email service worth paying for. Try it for free -- http://lists.linuxfromscratch.org/listinfo/blfs-support FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page
