Alexander Foken
2011-Jun-04 19:55 UTC
[syslinux] Completely disable local keyboard input in Syslinux / Extlinux?
Hello list, I'm trying to reuse a fairly old PC based embedded system. It has no video output at all, no VGA, nothing older, and no keyboard / mouse connectors. The console is on a standard RS232 interface, including BIOS output and the minimal BIOS loader. The BIOS emulates / redirects text output to and keyboard input from the console RS232 interface, but unfortunately, this emulation / redirection is so broken that it is just sufficient to load the previous, propritary operating system. And there is no way to get a BIOS with a less broken redirection. I try to use Syslinux / Extlinux (first 3.84, then switched to 4.04) to load Linux, it works as long as Extlinux does not prompt, with this extlinux.conf: serial 0 9600 0 console 0 default huge.s prompt 0 timeout 0 say Booting Linux ... label huge.s kernel bzImage append initrd=initrd.img e100.eeprom_bad_csum_allow=1 earlyprintk=ttyS0,9600 console=ttyS0,9600 load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 SLACK_KERNEL=huge.s Note "console 0" to prevent writing to the emulated video output. As soon as I enable prompting (with a timeout), using the extlinux.conf below, ... serial 0 9600 0 console 0 default huge.s prompt 1 timeout 100 say Booting Linux ... label huge.s kernel bzImage append initrd=initrd.img e100.eeprom_bad_csum_allow=1 earlyprintk=ttyS0,9600 console=ttyS0,9600 load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 SLACK_KERNEL=huge.s ... the broken BIOS sends junk to Extlinux as if a key was stuck a local PS/2 or USB keyboard (there is no local keyboard, not even a port for one). Extlinux stops responding after displaying 2048(!) "?" characters (0xB6). And I can't find a way to tell Syslinux / Extlinux to completely ignore the local keyboard and use only the RS232 interface. "console 0" suppresses only writing to the graphics card, but it does not disable reading the local keyboard. Perhaps there is a way to (ab-)use the keymap feature, mapping all keys to "no key pressed"? Alexander -- Alexander Foken mailto:alexander at foken.de http://www.foken.de/alexander/
Geert Stappers
2011-Jun-05 15:51 UTC
[syslinux] Completely disable local keyboard input in Syslinux / Extlinux?
On Sat, Jun 04, 2011 at 09:55:05PM +0200, Alexander Foken wrote:> redirects text output to and keyboard input from the console RS232<snip/>> serial 0 9600 0 > console 0 > default huge.s > prompt 0 > timeout 0 > say Booting Linux ... > label huge.s > kernel bzImage > append initrd=initrd.img e100.eeprom_bad_csum_allow=1 > earlyprintk=ttyS0,9600 console=ttyS0,9600 load_ramdisk=1 > prompt_ramdisk=0 rw printk.time=0 SLACK_KERNEL=huge.s > > Note "console 0" to prevent writing to the emulated video output. > > As soon as I enable prompting (with a timeout), using the > extlinux.conf below, ... > > serial 0 9600 0 > console 0 > default huge.s > prompt 1 > timeout 100 > say Booting Linux ... > label huge.s > kernel bzImage > append initrd=initrd.img e100.eeprom_bad_csum_allow=1 > earlyprintk=ttyS0,9600 console=ttyS0,9600 load_ramdisk=1 > prompt_ramdisk=0 rw printk.time=0 SLACK_KERNEL=huge.s > > ... the broken BIOS sends junk to Extlinux as if a key was stuck a > local PS/2 or USB keyboard (there is no local keyboard, not even a > port for one). Extlinux stops responding after displaying 2048(!) > "?" characters (0xB6). > > And I can't find a way to tell Syslinux / Extlinux to completely > ignore the local keyboard and use only the RS232 interface. "console > 0" suppresses only writing to the graphics card, but it does not > disable reading the local keyboard. > > Perhaps there is a way to (ab-)use the keymap feature, mapping all > keys to "no key pressed"?My attempt would be _not configuring_ the serial port and trust the redirection. The idea behind that is, that "console" is _allready_ on the serial port and that REconfiguring the serial port is MISconfiguring it ... In other words: do NOT add "any serial" I do know that it doesn't answer the original question. I'm telling what I would do to get it working. HtH Groeten Stappers --> And is there a policy on top-posting vs. bottom-posting?Yes. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 198 bytes Desc: Digital signature URL: <http://www.zytor.com/pipermail/syslinux/attachments/20110605/7d6e3fd7/attachment.sig>
H. Peter Anvin
2011-Jun-06 17:20 UTC
[syslinux] Completely disable local keyboard input in Syslinux / Extlinux?
On 06/04/2011 12:55 PM, Alexander Foken wrote:> > And I can't find a way to tell Syslinux / Extlinux to completely ignore > the local keyboard and use only the RS232 interface. "console 0" > suppresses only writing to the graphics card, but it does not disable > reading the local keyboard. > > Perhaps there is a way to (ab-)use the keymap feature, mapping all keys > to "no key pressed"? >If you give it an all-zero keymap (256 bytes of NULL) that is probably the effect you will get, I'm not sure. The other option is to edit the source and remove the calls to the keyboard (INT 16h.) -hpa