[syslinux] Making Syslinux boot with missing keyboard, but not disabled keyboard.

H. Peter Anvin hpa at zytor.com
Thu Jun 20 14:51:40 PDT 2002


Seth Kurtzberg wrote:
> This would be quite useful to several projects that I'm working on.  I must 
> point out, however, that one can buy a used keyboard for $2.00.
> 
> On Thursday 06 June 2002 06:40 pm, you wrote:
> 
>>Hello together,
>>
>>first thanks a lot for your work. It's quite useful on some projects. I
>>encouraged myself to ask you a question:
>>
>>Think I've seen Syslinux booting fli4l on Systems without keyboard,
>>where "keyboard option" has been set to "not installed" in the Bios.
>>There are lot of boards around, e.g. with award bios like those 486 UMC
>>based on UMC 8881/8886, without this Bios option. Syslinux starts
>>booting on these machines, if Bios is set to "Ignore all Errors" or
>>"Ignore all Errors but keyboard". This is recommended by the Award Bios
>>docs and the manual (if present).
>>
>>But Syslinux hangs while booting fli4l after loading the root.fs after
>>having displayed the third dot.
>>
>>Is it possible, to enable all these machines booting without keyboard?
>>
>>I don't know, if that's an A20 gate problem, perhaps Syslinux thinks,
>>there is a keyboard, cause it has been started by Bios and Bios perhaps
>>tells Syslinux there is a keyboard.
>>A timeout could help. Or an option in syslinux.cfg or an option passed
>>to Syslinux while writing the floppy.
>>
>>This would help a lot of people of all these Linux Router Projects,
>>using 486 or older hardware and having to destroy a keyboard (AT
>>Keyboards get rare) with a hammer, just to get this chip out of the
>>keyboard and have it connected to the keyboard connector.
>>
>>I would appreciate pretty much a short notice, what you think is the
>>problem, and if or how I can help and if you want to care about this.
>>

Current versions of SYSLINUX *does* have a timeout for frobbing the
keyboard controller.  However, apparently that doesn't help on the
machines you're referring to.

It *ALSO* means the BIOS didn't implement INT 15h, AX=2401h, as it
should have, as well as exhibiting nonstandard behaviour.

There simply is no way to work around that without system-specific hacks
(if you're willing to do such system-specific hacks, simply replace the
A20 algorithm in SYSLINUX with the one appropriate for your system --
probably port 92h, but who knows... it could be something completely
nonstandard like the AMD Élans use.)

	-hpa





More information about the Syslinux mailing list