[Yaird-devel] Re: Yaird and multiple IDE controllers

Erik van Konijnenburg ekonijn at xs4all.nl
Wed Dec 14 14:18:55 UTC 2005


On Wed, Dec 14, 2005 at 01:18:51PM +0200, Wladimir Mutel wrote:
> On Wed, Dec 14, 2005 at 11:19:44AM +0100, Erik van Konijnenburg wrote:
> > On Wed, Dec 14, 2005 at 09:30:58AM +0200, Wladimir Mutel wrote:
> > > 	And also I would propose that yaird look not only in sysfs to
> > > 	see what driver handles what hardware currently, but also in
> > > 	lspci or in /proc/bus/pci/devices to get another idea on what
> > > 	modules to load on boot. This could at least prevent too early
> > > 	loading of ide-generic, but also might happen to be useful in
> > > 	other cases.
> > 
> > The problem is that they both provide the same information on the same
> > subject, and I don't know how to handle the case where they would provide
> > contradictory information.
> 
> 	IDE module loading was and still is quite a challenging task.
> 	As I see, now most initrd/initramfs/livecd systems don't ever 
> 	look into lspci, they just probe the whole list of ide modules 
> 	and then ide-generic at the end, hoping to cover everything. So
> 	the system ends up with a pile of permanently-loaded IDE modules
> 	of which only 1 or 2 are really used. Yaird is a fresh project,
> 	and it may have a chance to improve this situation.

At the moment, we're recovering from the opposite problem:

* we use the minimal set of drivers to get the ide controller working
* in 0.0.12 we're too optimistic about which IDE drivers function
  correctly without ide-generic
* in the development archive, there are patches to add ide-generic
  for known-broken drivers; this is not yet packaged for debian.

A cleaner solution would be to scan /sys for all IDE chipsets and
load their drivers without ide-generic, early in the ramfs, before
trying to mount root.  This would avoid use of ide-generic for boxen
with two different IDE controllers, without the need to edit the config
file.  However, that requires an extension to the config file syntax;
not today.

Anyway, at this point /sys seems to have all the required info to do it
right.

Thanks,
Erik




More information about the Yaird-devel mailing list