On Wed, Nov 23, 2005 at 12:02:17AM +0100, Mau wrote: > Frederik Schueler wrote:
> >On other boxes, notably amd74xx and piix based ones I have access to, > >this was not needed. > > > > > Probably it wasn't needed because in those setups the piix module was > correctly detected as "needed for access to the root device": in my case > piix is not strictly "needed", as my root partition resides on an hard > disk connected to a HPT-370 pci add-on card. > I think that the problem is only related with the mandatory presence of > the generic module. Sorry about via troubles but, in my opinion, if a > way to load an "emergency module" can't be found here (i.e., loading > ide-generic as the last chance when the root device is not accessible > after loading the specific module), we'd have to resolve the issues > related with yaird. The via issue is probably a kernel related issue, as > probably is the choice to mark a module as "permanent"... but yaird > shouldn't add unnecessary modules to initrd or, if this is not possible, > it should include the specific modules too. > > Erik, you asked 'yaird -v' output: did you mean 'yaird -v --test > [version]'? The output is about 163kB, should I attach it here? Please don't. Your & Frederik's input plus a bit of testing here give a fairly complete picture of what happens. Consider kernel 2.6.14, hdc connected over a via chipset, and two different initial boot images. One loads via first, the other binds ide-generic first. If via82cxxx is loaded first, that will manage the disk, and /sys/block/hdc/device is a symlink to ../../devices/pci...../ide1/1.0. In this situation, if you run yaird, it can recognise the pci device as something that needs a via driver: run yaird again & you get an image that does not need ide-generic to boot. If ide-generic is loaded first, that will manage the disk, and /sys/block/hdc/device is a symlink to ../../devices/ide1/1.0. Note the absence of pci in the devices tree. In this situation, if you run yaird, it has no way of knowing a via driver would be any good. However, since together with ide-disk we'll always load ide-generic, the image generated by yaird will still boot. I still need to check whether the same behaviour happens with 2.6.12. The story then becomes "ide-generic posts misleading info in /sys, so we need ide-generic to boot" and the idea that via82cxxx needs ide-generic to boot is wrong, a misunderstanding based on my sloppy testing ... The [permanent] stuff is probably not related. If I'm correct it has to do with via82cxxx being a driver that cannot cleanly deallocate all of its resources, so it can't be removed; that's an interesting issue, but separate from the device recognition stuff we have here. An improvement to yaird would be to load ide-generic if we encounter /sys/devices/ide1/1.0 (without pci) but not for devices like /sys/device/pci.../ide1/1.0. This would mean ide-generic is not loaded for configurations with hpt+piix, if yaird is being executed while the correct drivers are loaded. That still leaves the issue of recognising those cases where ide-generic is used while another driver could also have been used. Figuring that one out is a next step; for now I'll look at a patch to load ide-generic only if no other PCI driver is found. Regards, Erik -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

