Ok, folks, update on my keyboard/kernel/gcc saga :-)
Got sources to binutils-2.5.2 and applied patch 2.5.2-6, compiled
and installed. Got sources to gcc2.7.0, applied patch 2.7.0-3, which now
compiles without problems. Re-compiled kernel 18.104.22.168 with the new gcc
and binutils. Lo-and-behold, no more keyboard problems!
So, it seems that there was some mysterious problem with
my gcc2.6.3 and binutils2.5.2. Anyways, it works now, so I went
on a compiling spree and made fileutils and the SysV Init package.
I had some limited success with the fileutils things; "ls" and "sync"
work, but "mkdir" blew up :-)
On another note, I attempted to track down the problem
where the kernel will not boot get past asking for the root floppy
with the mouse plugged in. After many printk statements, I discovered
that it hangs in schedule() somewhere when called by sleep_on() while waiting
for a keypress. Putting printks into schedule() to see exactly where it
was hanging didn't work. It seems that the printks slow it down it enough
to prevent the hang, and the kernel mounts the root floppy :-/