[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