I have a AL-B583 motherboard (based on i430TX chipset, Award BIOS) that gets a reset when Linux boots. I tried some kernels (up to the 2.0.32) but the result was the same for all.
I hacked the Linux source code and I discovered that Linux on a PC assumes
that the keyboard is initialised by BIOS and so doesn't initialise it again.
Probably this assumption isn't valid for my PC because I discovered
that if I enforce Linux to do the keyboard initialisation (I obtained the
result modifying the source code and recompiling the kernel) the problem
I described before disappear, Linux boots normally and all works fine.
The problem should not be caused by my keyboard because I also tried
to swap my keyboard with another stolen from a PC where Linux works but
the problem remains in my PC and the other continues to work.
The changes I made are only relative to two lines of the file drivers/char/keyboard.c as shown below
Original keyboard.c code fragment
#ifndef __i386__
#define INIT_KBD static int initialize_kbd(void); #endif |
/*#ifndef __i386__*/
#define INIT_KBD static int initialize_kbd(void); /*#endif*/ |
Notes:
On my motherboard Microsoft OSs have no problem (who could believe to sell a PC motherboard on which they don't work?), but I tried also a QNX demo that appears to have the same symptoms I described for Linux.
I'm not sure that this problem is relative to ALL AL-B583 motherboards neither that this problem is relative ONLY to AL-B583 motherboards. So: