Q1. The Android kernel is the Linux kernel with added device drivers for hardware components that are not supported by the pure Linux kernel. However, there are other differences. Quote from here and here :
The Android kernel code is more than just a few strange drivers that were in the drivers / staging / androidsubdirectory in the kernel. To get Android working, you need the new lock type that they created, as well as the hooks in the main system for their security model. To write a driver for Android hardware, you need to integrate correctly into this new lock, as well as the sometimes weird security model. Oh, and then there is a completely different infrastructure framebuffer driver.
You can also refer to this page for an opinion on this matter.
Q2. You can take a look at Android 2.3 Definition of compatibility (I have not read it). For 3.0 requirements (cited from here ):
1 GHz processor, 512 MB RAM, a display screen that is at least 3.5 inches in size
Q3. No, your device does not need to have a touch screen for Android compatibility. Refer to the compatibility guide above, but this is also evidenced by the first Android test devices that run the android ( figure ).
Shade source share