tf300t
Ubuntu Touch is no longer maintained as a core product by Canonical. However, the Ubports community are continuing development.
|
General
Device Name |
Asus Transformer Pad TF300T |
Code Name |
tf300t |
Image Maintainers |
kallewhoever-1 and f69m |
Testers |
|
Last update |
System: 2013-03-23 |
Unlocking Instructions |
See below or this thread on XDA Forum for details. |
Image Links and Install Instructions |
Download System Core Images |
Code and Build Instructions |
State of affairs
Legend |
|
State |
Explanation |
Perfect |
Everything works, all patches included in Ubuntu proper |
Working |
Works, minor issues only, some patches pending |
W-I-P |
Work in progress |
Blocked/Broken |
Severely broken, unusable or progress is blocked |
Unknown |
Unknown |
What |
Status/Comments |
Graphics |
Needs libc replacement. |
Boot Process |
No boot animation. Black screen until the shell starts. |
Rotation |
General issue: not supported in Ubuntu Touch yet. |
Wireless Network |
Working but need to use docking station to enter WLAN key. |
Sound |
Need to manually set output level for ALSA "PulseAudio Stream". |
Touch |
|
Camera |
Back-side camera is somewhat working. More testing needed! |
Video Decode |
|
Suspend/Resume |
W-I-P |
Dock Keyboard |
Standard keys working. |
Dock Battery |
Charging works, but no battery indicator. |
Dock Touchpad |
Two-finger swipe works, but no mouse pointer. |
Dock Unity |
Switching to the standard ubuntu desktop when the dock is connected |
Installation
Unlocking instructions
Download the "Unlock Device App" on the ASUS product page. Download and Install the *.apk You can find under Support -> Download -> Android -> Utilities. Make sure you fully understand and accept the risks that may arise.
Install Prebuilt Files
Download the rootfs and the core-system below. Flash them using your favourite recovery. Reboot. Have fun, but this fun won't be as good as the fun you will have testing your own build
More detailed information and support is available in the Ubuntu Touch Preview on TF300T thread on XDA Forums.
Known issues
[Major] The touch keyboard is not working for entering the WLAN key, but using the dock works.
[Major] Camera app is not showing an image. Camera is showing image for back-camera, but switching between cameras seems to confuse it. Taking pictures seems to work though, even after switching cameras.
[Major] Dock special keys, touchpad and dock battery indicator not working.
[Minor] Rebooting from Ubuntu results in a boot loop. Using "adb reboot" works fine though.
[Minor] Suspending only turns off the screen, which is not the most powersaving way to lock the device...
[Major] Video decoding is not working.
How to build
We recommend to have a look at the Touch/Porting page and the page that tells you how to build for tf300t first. Maybe it could be a good thing to build pure CyanogenMod for your Tablet before you try Ubuntu. You will find more information on the building proccess at the CyanogenMod wiki, nice people at http://www.xda-developers.com/ and even more in the ubuntu-phone team.
What you will need
- Your Tablet and a suitable USB-Cable
- A average PC running Ubuntu 12.04 or later.
- Make sure to install a 64-bit Version
- Internet access
- Time, patience, coffee
Preparing Ubuntu
You need to set up a compiler, a Java version and Android tools like fastboot and adb. In order to gather these, some additional repositorys are needed:
# Webupda8 repository for Oracle Java sudo add-apt-repository ppa:webupd8team/java # Phablet repository for Android tools sudo add-apt-repository ppa:phablet-team/tools sudo apt-get update
Now it's time to install a bunch of packages.
sudo apt-get install git gnupg flex bison gperf build-essential \ zip bzr curl libc6-dev libncurses5-dev:i386 phablet-tools \ x11proto-core-dev oracle-java6-installer libx11-dev:i386 \ libreadline6-dev:i386 libsdl1.2-dev android-tools-adb \ libesd0-dev libwxgtk2.8-dev squashfs-tools g++-4.5-multilib \ gcc-4.7-multilib mingw32 pngcrush android-tools-fastboot tofrodos \ python-markdown libxml2-utils xsltproc zlibg1-dev:i386 schedtool \ libgl1-mesa-glx:i386 libgl1-mesa-dev
If you get problems with the multilibs, try installing the gcc-toolchain first.
Preparing the Code
Open a terminal and move to your preferred build directory. Create a folder by uttering #!/bin/bash mkdir -p ubuntu-phablet
Initialize the repository in this folder:
cd ubuntu-phablet repo init -u git://phablet.ubuntu.com/CyanogenMod/android.git -b phablet-10.1 # create a device specific manifest cp .repo/manifests/default.xml .repo/manifests/tf300t.xml
Creating a custom manifest
Edit the manifest with your favorite editor and remove the device/* and kernel/* packages. Removing the hardware/qcom stuff and the packages for Samsung or Omap CPUs and WLAN devices did not hurt my build either, but this is optional. Add the following lines at the end of the manifest, then save it and close the editor.
<project path="ubuntu/hybris" name="f69m/ubuntu-phablet_libhybris" remote="github" revision="refs/heads/master" /> <project path="ubuntu/platform-api" name="f69m/ubuntu-phablet_platform-api" remote="github" revision="refs/heads/master" /> <project path="kernel/asus/tf300t" name="f69m/android_kernel_asus_tf300t" remote="github" revision="refs/heads/f69m-10.1" /> <project path="device/asus/tf300t" name="CyanogenMod/android_device_asus_tf300t" remote="github" revision="refs/heads/cm-10.1" />
This adds the custom repository ~f69m created. Removing the other packages fastens the download and uses up fewer disc space. Now do what you waited for: grab the source code and maybe a cup of coffee...
repo init -m tf300t.xml repo sync
Adding some patches
Unfortunatly we got an optimized repository for our device kernel, so you only need to apply two patches.
cd device/asus/tf300t wget https://github.com/f69m/ubuntu-touch-tf300t/blob/master/patches/device_asus_tf300t.patch patch -p1 < device_asus_tf300t.patch croot #go back to the top level of the source eg. ubuntu-phablet #This one is likely to go upstream cd ubuntu/uchroot wget https://github.com/f69m/ubuntu-touch-tf300t/blob/master/patches/ubuntu_chroot.patch patch < ubuntu_chroot.patch
Get prebuilt apps
cd vendor/cm ./get-prebuilts
Start building
Setup the build environment properly
This will gather the *.mk-files available...
source build/envsetup.sh
... and this will set them up for your build.
breakfast tf300t
Speeding things up
Since you are likley to build a few times within the next weeks to have the newest system available, you will like to turn on caching. CCache stores every small binary compiled during the build, so you do not have to compile it again on your next build except the source has changed.
export USE_CCACHE=1
Compile!
Now we get to the interesting bit. Type brunch tf300t and watch the magic.
During my first build, my PC shut down at a certain point due to a segmentation failure. I was able to avoid this by using
breakfast tf300t make -j1
for the build, but it took more time.
Usually brunch calls make with 4 jobs. If you want to adjust this, change n according to your needs.
breakfast tf300t make -jn
To create the .zip-file run
make bacon. Again, you can use the -j option.
Install the CyanogenMod Part of Ubuntu
WARNING
If you updated your Tablet to the stock Android 4.2 the partition layout is changed and installing UbuntuTouch *won't work* / could brick your device! ("Unrecoverable bootloader error (0x00000000)") Please wait until ASUS releases the necessary source or NVflash.
WARNING
Move to out/target/product/tf300t to see the rewards of your work. Connect the Tablet via USB.
Flash Custom Recovery
// this is not strongly necessary, any other recovery will work.
You will find a file called ramdisk-recovery.img that contains a ubuntufied version of ClockWorkMod. Start the bootloader on your connected device
adb reboot-bootloader
and use the VOL- key to select the USB entry. Confirm with VOL+. Now flash the recovery
fastboot flash recovery ramdisk-recovery.img fastboot reboot recovery
Install the Android Core
Once you see the CWM interface, wipe data and cache. Put the *.zip in your out directory or the one you can find here on a sdcard. Choose install zip from sdcard, find the file and make your Volume keys go all swappy as you confirm.
Install the rootfs
Download the custom rootfs for our beloved tablet here and put it on a sdcard. Choose install zip from sdcard once again, flash, reboot and watch the beauty.
Redistributability
Are all parts of the image freely redistributable?
Legend |
|
State |
Explanation |
Perfect |
Redistributable, we're all happy |
Maybe problematic |
Might be redistributable, some open questions (comment) |
Problematic |
Not redistributable at all |
Unknown |
Unknown |
Component name |
Link to it |
License (link or name) |
Status / Comment' |
|
|
|
Same blobs as CyanogenMod nightly builds. Details need to be tracked down or they should be replaced. |
Touch/Devices/tf300t (last edited 2013-03-23 18:30:31 by dslb-084-056-001-202)