Running Linux on Android is an old favorite. With newer and older projects ranging from full installations to the less involved chroot method, users on a large range of devices can run Linux. The only limits are what distros of Linux you can load. Mostly, it is Ubuntu or other Debian-based distros. Now, ASUS Transformer TF300T owners can install Arch.

The method has been around for a little bit, but has been refined through updates. XDA Forum Member cb22 released the method. Although it isn't perfect, it's definitely a solid start. Here is a list of things currently working:

Dual boot with Android.

Internal storage and MicroSD Card

X11, with compositing

Audio

Mouse and keyboard on the dock, as well as dock hotplugging.

Touchscreen

Playing videos (full 1080P works great.) using Xfce's media player

Sensors (Light, compass, accelerometer, gyro). These are all exposed under sysfs.

Charging / Dock charging. This appears to be managed by the kernel.

USB gadget (as a RNDIS device for network access via USB)

CPU frequency scaling / Tegra LP core. The LP core is automatically used you can see its status in /sys/kernel/cluster/active (when that file reads LP) and its use is simply what the current CPU1 use appears to be.

WiFi, with NetworkManager

3G, on the TF300TG model, with NetworkManager

Battery (and dock) status in Xfce

USB port on the dock

Some sensible key remapping (Back -> Escape, Search -> Alt, Home -> Super)

The big things not working currently are rebooting from Linux, Bluetooth, and two finger scrolling. These also happen to be on the short list of things that are scheduled to be fixed. There is also a lot that is untested.

For installation instructions and more details, check out the original thread.