[DEV] ArchLinux on the TF300T(G)
I've always been more of an Arch than Ubuntu person (how do you know if someone uses ArchLinux? Don't worry, they'll tell you)
This requires you to be unlocked
and on the JB bootloader
. I disclaim all responsibility if it somehow turns your tablet into a pile of ashes...
- Dual boot with Android.
- Internal storage and MicroSD Card
- X11, with compositing
- Mouse and keyboard on the dock, as well as dock hotplugging.
- 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)
What doesn't work:
- Two finger scrolling with the mouse
- Rebooting from Linux (have to do a sync then hard power off)
- Basic framebuffer console - to get dual boot working I had to remove the FB console
- Using "standard" xv (as in, mplayer -vo xv). Untested really, use gstreamer.
- Get Bluetooth working
- Get two finger scrolling working.
- Get rebooting working
Anything else is untested. Currently, I'm using the TF300TG's kernel source at https://github.com/cb22/tf300tg_jb_kernel
- which is just the standard source from ASUS with a patch or two.
At the moment, my "hybrid" initramfs checks for a file ".boot_linux" on the internal SD card (/data/media/.boot_linux or /storage/sdcard0/.boot_linux - same thing). If it exists, it boots Linux, otherwise, Android starts up. It wouldn't be difficult at all to make a simple Android app with a "Reboot into Linux" button, and vice versa one for Linux with "Reboot into Android"
Currently, the provided kernel / initramfs is built for the TF300TG. It does seem to work fine on the TF300T however.
Kernel + Initramfs blob: https://rapidshare.com/files/2827313...ridkernel.blob
RootFS with Xfce: https://rapidshare.com/files/201953815/linux.tar.gz
Flash the blob to staging using fastboot.
Untar the rootfs to /data/linux/. The easiest way to do this is probably to copy it across to the Transformer via adb or MTP, then run
# mkdir /data/linux
# tar -xzvf /storage/sdcard0/linux.tar.gz -C /data/linux
Apparently permissions aren't set properly when untar-ing. This can be "fixed" by a chmod 755, apparently. As soon as I can, I'll make a better way of installing this (update.zip style)
This work is based off the Arch Linux ARM