Re: Hardware detection projects
It often happens that probing non-present devices on certain hardware
configurations results in no successful execution of the kernel, and
therefore, no boot. It happens quite often with older equipment.
My approach, (if I would be a programmer, indeed :), would be a
separate, safer, hardware detection mecanism. I wouldn't think of this
as a very hard task, since the kernel is highly modularized by now.
I would load a minimal kernel, and run some kind of hardware detection
afterwards. I know it can't be put on practice on the boot-disks since
there's no way to handle that task withing the little space of a floppy
disk...so now I'm leaving you for you to think about this issue. :)
I think RedHat and other distros are approaching this issue in particular,
so you can always spy their work.
Dan Shearer <email@example.com> writes:
> 1) kernel detection
> This is firstly done by looking in the strings in the /proc
> directory for hardware that has already been detected, if the
> running kernel happens to be configured for that hardware. It is
> possible to have a matching module in the kernel which doesn't
> detect its hardware due to configuration such as an I/O port, so
> this isn't a blanket solution. However all of the vital things
> should be present and detectable or the kernel wouldn't be running:
> PCI information, ISA information, the boot drive, etc.
> It is also possible to load and unload all modules present under
> /lib/modules which can be loaded by the running kernel, checking
> their return status and the messages they print. So if the hardware
> on a machine happens to correspond with a module which is compiled
> and present then it will be found. The advantages to this approach
> are that parameters can be supplied to modules, eg: asking the
> module to autoprobe or supplying a base I/O, DMA or IRQ setting.