Originally Posted by 5tr4t4
[...] I'm not sure I understand why Android is so device specific. Is it the device drivers for individual hardware, the radio? Chip/CPU architecture?
Thank again for the work, I'll let you know what happens!
The reason is that the kernel is going to be compiles with *only* the drivers that are necessary for the specific hardware/radio systems. It keeps the kernel smaller, faster, and frees up more RAM for the system to run in.
Gentoo Linux is based on this principle. Although by default it will compile in the most common drivers when you build the kernel, once you get your feet wet and reallly want to start optimizing the system for absolute speed, you start stripping out *ever* driver and module that you don't use. My Gentoo server has only the bare necessities as far as drivers are concerned. Without re-configuring and re-compiling the kernel I can not mount anything except XFS and EXT4 file systems, not even ext2 and ext3. Only the network protocols that I need are supported, the only video driver on the system is for my Intel integrated graphics, and so on. It makes for a very lean and fast system.
Any phone manufacturer who includes code and drivers for hardware that is no on the specific platform is wasting resources on the phone. If you need GSM, there is no reason to include the CDMA code and so on, hence the reason only a few "common" pieces of hardware are working.