Comment Re:Yay (Score 2) 218
It is definitely possible and work is being done. The issue is that many devices have a restrictive bootloader and pre-determined partition setup that prevents the creation of additional Linux partitions and installing extra boot options. Some devices do have "developer" boot loaders (such as Archos' SDE) or modded in custom boot loaders (such as moboot on HP Touchpad) that allow you to boot whatever you want. Beyond that, getting a proper "real Linux" environment requires Xorg drivers for the video devices and many mobile systems do not have such drivers. Even when they do, those drivers are often merely framebuffer implementations which allow GUI functionality but with zero hardware acceleration. The GPU's on mobile devices are pretty much exclusively proprietary and require binary firmware blobs that may or may not be compatible with non-Android (or other OS) environments. Finally, devices found in many mobile devices are nonstandard and are not present in the main line Linux kernel source, so a one-size-fits-all kernel package such as is typical on PC setups will not work for mobile. Instead, each device must have its own custom maintained kernel that keeps all the device-specific hardware patches up to date. Some devices (such as the Archos tablets) require you to flash the kernel and initramfs into a special boot area, meaning that typical kernel upgrades through package managers will not work. Finally, even if you do get GPU acceleration to work, mobile GPU's only support the limited OpenGL ES architecture. Almost all of the desktop window managers that support acceleration do so through traditional OpenGL interfaces, meaning that these window managers must be rewritten to support OpenGL ES instead. The same applies to video acceleration in media players, and the DSP and GPU systems are much more varied in mobile devices.
These are just some of the restrictions that prevent true Linux installations on mobile devices. I actually did get Debian running decently on my Archos 43 tablet but only after finding a modified 2.6.37+ kernel that did not have all the necessary drivers installed. The core functionality worked despite having to write some boot scripts to initialize the WiFi, Bluetooth, and power management systems. Even then the Bluetooth was spotty at best, often dropping connections and refusing to pair (despite working perfectly in Android with the same devices).
To all mobile hardware developers: Please, if you really want consumers to get the most out of your hardware, make sure your drivers are compatible with standard Linux system utilities in addition to those found in Android and other mobile OS'es. This will help out such porting efforts and give your device a wide variety of OS choices. Also, please consider open-sourcing more drivers, especially video drivers. If not open-sourcing them, at least make Xorg compatible drivers with OpenGL ES acceleration so we can actually use the full potential of the hardware.