There are some things I would like to mention, although I won't go in details, as the Backstreet Ruby page on compiling the kernel discusses this topic.
You have to follow this order:
Input support
Virtual Terminal support
Console drivers
|
for all required options to be available/selectable.
You have to use built in input support:
Input device support --> Input core support
Input device support --> Mouse support
|
I would suggest you also include at least one keyboard (built in - not as a module). You can also use modules, but I find it safer to be able to use a keyboard instead of trying to find a PC with ssh (or something similar) to load the required modules.
For AT/PS2 keyboards, turn on (not modules):
Input device support --> Serial i/o support
Input device support --> i8042 PC Keyboard controller
Input device support --> Keyboards
Input device support --> AT keyboard support
|
For a USB keyboard turn on (not modules):
Input device support --> Keyboards
USB support --> support for USB
USB support --> USB driver (probably usb-uhci.o)
USB support --> USB Human Interface Device (full HID) support
USB support --> HID input layer support
|
If you are new to Linux, do not try to patch an already patched kernel (heavily patched kernels like the ones that ship with most distributions). Use a kernel from www.kernel.org, and take a look at the Linux Kernel HOWTO.
Support for frame buffer devices is not back-ported, and is disabled.