Mike Crowe wrote:
There shouldn't be any kernel changes required. Just use mkinitrd.yaird to build a new initrd.img.Mike Crowe wrote: On Tue, Feb 07, 2006 at 02:26:54PM +0000, Steven Haslam wrote:I actually had this exact problem myself for the first time this morning with my X2 system, with an initrd built by initramfs-tools. Using yaird may help because AIUI it will only load the modules required to mount the root filesystem during the initramfs stage, or at least will load those first.Assuming I can persuade the stock 2.6.15 kernel to use yaird rather than initramfs then I'll give that a go. If I have to compile the kernel myself I might as well just compile in the drivers I need which will also solve the problem for me.
I presume that unless you're mounting the root filesystem over nfs, then the ramdisk doesn't try to load net drivers. There's a certain amount of "it works for me" in play here. Hmm. You could well be right-- the machine I'm using that udev tinkering on is using a yaird-built ramdisk, so it definitely *doesn't* load the net drivers.You can fix the names of network interfaces using udev-- istr that's available in sarge, even though a kernel that supports it isn't (fun). e.g. I have: bash$ cat /etc/udev/rules.d/010_local.rules[snip] But surely that's too late? The ramdisk will load the drivers before my root filesystem and therefore that rules file can be seen.
<tinkers> OTOH, building an initramfs using initramfs-tools takes a copy of your /etc/udev and /etc/modprobe.d at the time it was built, so you just have to update /etc/udev/rules.d and rebuild the initrd.