Linux kernel patch for AL-B583 motherboard

 

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
Modified keyboard.c code fragment
 
/*#ifndef __i386__*/ 
#define INIT_KBD 
static int initialize_kbd(void); 
/*#endif*/
This modification should not affect the behaviour of the system on a "normal" PC except for a imperceptible delay during the boot phase.

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:

please give me feedback by clicking here or sending an e-mail to staltari@oocities.com.
 


If you have any suggestion to improve this page, please send a message to staltari@oocities.com