[UBUNTU][Testing] How-to install it on the Prime

Search This thread

SergeantWagner

Senior Member
Dec 17, 2010
70
43
Tallahassee
I think I can do it

Now I think I've got it.
Had to get the hang of compiling cm11 before trying to port Ubuntu. Cm11 needed a patch to frameworks/native to get it to work on "old" devices like tegra 3 devices as well as a kernel flag. Ubuntu already has their own version of the same patch. I just need to modify the kernel flag to match the variable in the ubuntu patch and we should at least be bootable. I left cm 11 building over night, if it flashes fine I'll feel confident in my build environment and the overall process.
Soon.
 

Namidairo

Senior Member
Jan 26, 2012
290
625
Now I think I've got it.
Had to get the hang of compiling cm11 before trying to port Ubuntu. Cm11 needed a patch to frameworks/native to get it to work on "old" devices like tegra 3 devices as well as a kernel flag. Ubuntu already has their own version of the same patch. I just need to modify the kernel flag to match the variable in the ubuntu patch and we should at least be bootable. I left cm 11 building over night, if it flashes fine I'll feel confident in my build environment and the overall process.
Soon.

That's because Ubuntu Touch is based off an older CM branch, which had the flag under a different name.

Code:
BOARD_EGL_NEEDS_LEGACY_FB := true

This is what you are probably looking for :)
 
  • Like
Reactions: SergeantWagner

SergeantWagner

Senior Member
Dec 17, 2010
70
43
Tallahassee
That's because Ubuntu Touch is based off an older CM branch, which had the flag under a different name.

Code:
BOARD_EGL_NEEDS_LEGACY_FB := true

This is what you are probably looking for :)

You're the F*(#ing man. thx bro

looks like BOARD_EGL_NEEDS_LEGACY_FB := true is already set in boardconfig.mk I was using your cm-11.0 branch instead of 10.1 before :p.

had to add TARGET_CPU_VARIANT := cortex-a9 (as opposed to TARGET_ARCH_VARIANT) to get it to compile but that was the only change. If I need to change a bunch of stuff I may fork your 10.1 branch.

it is compiling now, can't contain my excitement.
 
Last edited:

SergeantWagner

Senior Member
Dec 17, 2010
70
43
Tallahassee
News!

managed to compile a system.img! woot!
managed to make the rootfs into a flashable zip for the tf201 :)

haven't figured out how to make the system.img into a flashable zip yet :(
ubuntu took out the make bacon part of the cm code...doh!

Looks like the android part only writes over the /system partition so you can restore your previous OS by recovering your /system. I may try generating a zip the same way I did the rootfs that just mounts and writes over the /system. We'll see.

the rootfs goes in the /data partition and this is the ubuntu part that gets updated. stays there even when restoring android unless it is removed intentionally.
 

SergeantWagner

Senior Member
Dec 17, 2010
70
43
Tallahassee
Got a flashable zip for rootfs and system, but it won't boot into ubuntu :(
android (ubuntu style) is running and I can run an adb shell
logcat says "Unable to open log device '/dev/log/main': No such file or directory"
last_kmsg seems to be generated from cwm so I think I have to enable last_kmsg in my build so it writes its own.
we're making progress, at least it compiles and I can flash it on the device, now we just need to see what keeps it from booting into ubuntu



IF YOU WANT TO BRICK YOUR TF201 THEN READ BELOW OTHERWISE STOP HERE!

anyway here is how you make the ubuntu rootfs .zip file:
download this:
http://cdimage.ubuntu.com/ubuntu-to...urrent/utopic-preinstalled-touch-armhf.tar.gz

then put it in this zip file:
http://www.androidfilehost.com/?fid=23578570567717761
Edit: Doh! ubuntu changed the directory structure of the rootfs so instead of my script dumping in /data/ubuntu it dumps in /data
my /data got tar bombed :(

updating script with new structure, will post soon.
Edit: fixed here:
http://www.androidfilehost.com/?fid=23578570567720180

make sure you do not compress the zip file at all and put the tar.gz file on the root of the zip. When you flash this all it does is dump its contents on your /data partition in /data/ubuntu
nothing else in your data partition is touched so it is fairly safe to flash. YOU MUST BE ON THE JB BOOTLOADER!!!! NOT ICS! NOT HAIRY BEAN!
I used cwm to flash this. If you fear losing your data you should have a backup. I stole the recovery script from the tf300t version and made it work.

here is my system.zip file
http://www.androidfilehost.com/?fid=23578570567717762

this will completely replace your /system folder so make sure you back up your /system before you flash this or you will have to flash your rom over again (no biggie). you can get back to android by just restoring your /system folder. YOU MUST BE ON THE JB BOOTLOADER!
again this really is not working at all but if you want to help by downloading it and poking around any help is appreciated.
 
Last edited:

gophix

Member
Feb 15, 2013
33
19
Cologne
CM11 kernel & initrd for Root/KernelChooser v3

Recenty, I installed cm-11-20140720-UNOFFICIAL-tf201 with TWRP-Recovery 2.7.0.0
and made it fresh to start linux from sdcard / image / internalDirectory.

I'm on jellybean bootloader (4.1.1)
(there is a newer one 4.2.1 which does not work with this method.)

0. nvFlash / wheelie
(Highly Recommended) Enable NVFlash
... to make your device more robust against bricking -> Flatline.

I am not resposible if you brick your Tab. Be Careful. Restore your Data, Restore your running OS!!!!

1. Install CM11 via TWRP and gapps if you like.

I downloaded kernel sources from namidairo to directory ./kernel and pulled the .config (CM11 kernel configuration)
from the TF201. Made oldconfig & menuconfig to configure with KEXEC and built the kernel.
Code:
$ cd kernel
$ unzip android_kernel_asus_tf201
$ adb pull /proc/config.gz                   # having TF201 on USB-line
$ gunzip config_CM11.gz
$ cp config_CM11 android_kernel_asus_tf201/.config && cd config_CM11 android_kernel_asus_tf201
$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- oldconfig
$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- menuconfig
  #------------------------------------------------
  Boot options  --->

           [*] Kexec system call (EXPERIMENTAL)

           [*]   Export atags in procfs
  #------------------------------------------------
$ make -j4 ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-
$ cp arch/arm/boot/zImage ../cm11_kernel

Extract initrd from "cm-11-20140720-UNOFFICIAL-tf201" (unzip file, search boot.blob)
Code:
$ blobunpack boot.blob
$ abootimg -x boot.blob.LNX
$ cp  initrd.img ../cm11_initrd

The above HowTo is for all who like to compile a kernel for androids other than CM11.
If you run CM11 here is a cm11_Kernel_Initrd.tar.gz with cm11_kernel & cm11_initrd.
(md5sum cm11_Kernel_Initrd.tar.gz -> 868b01816c8c09be236aacf85e20616d)


2. Configure RootKernelChooser
This is the file and directory map, which you need on your Pad.
Code:
+- data
| +- boot
| | + cm11_kernel
| | + cm11_initrd 
| | + root_chooser6.gz
| | +  zImage
| +- .kernel.d
| | + cm11Android 
| | + ubuntuLoopImg
| +- .kernel -> .kernel.d/cm11Android   # here symbolic link to default boot
| + background.bmp                      # MUST be bmp, 1280 x 800, 24bit of depth
content of "/data/.kernel.d/cm11Android":
Code:
android
/dev/mmcblk0p8:/boot/cm11_kernel:/boot/cm11_initrd
content of "/data/.kernel.d/ubuntuLoopImg":
Code:
ubuntu from iso-image
/dev/mmcblk0p8:/boot/zImage:/boot/root_chooser6.gz
+newroot=/dev/mmcblk0p8:/media/[B]0[/B]/linux/ubuntu.img:/sbin/init
Remark: directories (/media/0/linux/ubuntu.img) seems to be changed in KitKat / CM11.

Files under /data/boot are from above zip (cm11_kernel, cm11_initrd) and lifeinarootshell (root_chooser6.gz, zImage)

3. Flash boot partition with RootChooser

Get kernel_chooser from (step 5) lifeinarootshell - read this lifeinarootshell-TF201-HOWTO carefully to get to know how it is working.

flash the blob with nvflash, dd or fastboot. I recommend fastboot for safety reasons.

Start TF201 to fastboot: plug USB -> hold 10s [Vol down]+[Power] -> choose USB symbol [Vol UP]
Code:
$ wget https://www.dropbox.com/s/42dvjpt315iywup/lastest_fastboot.blob
$ fastboot -i 0x0b05 flash boot lastest_fastboot.blob
$ fastboot reboot

Now I can boot to CM11 or to LinuX. My /sdcard/linux/ubunutu.img is the Teagra3-AC100 with lubuntu 12.10.
It has very instable Wifi and no suspend (there is a solution in TF700 dev thread...)
Next time: testing SergeantWagners utopic-preinstalled-touch-armhf.tar.gz

Thanks to namidairo, lilStevie, tux_mind, your name.

Hopefully someone will help to configure a nice and stable LinuX.

. .
 

Attachments

  • cm11_Kernel_Initrd.tar.gz
    4.1 MB · Views: 30
Last edited:

GummyGum173

Member
Feb 7, 2013
18
1
Was someone able to get Ubuntu 14.04\14.10 on their TF201s?
I tried installing:
TF101 Lubuntu 14.04 build with TF201 extra files and drivers - fail (i'll get into the fail later).
Clean AC100 14.04 build with TF201 extra files and drivers - fail.
Clean AC100 12.04 build with TF201 extra files and drivers - succes, upgraded to Ubuntu 14.04 - fail.

Im out of ideas.
The problem is, btw, that I'm stuck in console, it asks me to login there for some reason, but I can only write input for like 0.00001 seconds, then I am no longer able to type.
Same thing happend on all 3 tries.

Anybody?
 

gophix

Member
Feb 15, 2013
33
19
Cologne
Was someone able to get Ubuntu 14.04\14.10 on their TF201s?

I tried to start Lubuntu 14.04 from the AC100 repo, but without success. I could fix some kernel issues but never got a console or X. It is starting a similar way you descibed: kernel seems to be ready for a fraction of a second, black screen, restart. I think it's possible if you would spend some time - well it needs time.

My running linux is a Lubuntu 12.10 with some patches (all from this thread) which starts to X (with GLES). Nevertheless for me it's not useable as every day linux, because of no wake ups from suspend and wifi drop out after 10-30 mins.
In some threads about linux on the TF700 were links to linux images, which were dead some months ago (didn't recheck yet).

It would be nice to have a current ubuntu...
cheers goph
 

elboo

Member
Feb 12, 2010
46
9
Now I can boot to CM11 or to LinuX. My /sdcard/linux/ubunutu.img is the Teagra3-AC100 with lubuntu 12.10.
It has very instable Wifi and no suspend (there is a solution in TF700 dev thread...)
Next time: testing SergeantWagners utopic-preinstalled-touch-armhf.tar.gz

Thanks to namidairo, lilStevie, tux_mind, your name.

Hopefully someone will help to configure a nice and stable LinuX.

. .

You Might indicate where to find the solution for suspend?
I 'm looking for it in the thread but can not find .
Thank you.
 

gophix

Member
Feb 15, 2013
33
19
Cologne
Hello,

I flashed the CM11-rom with F2FS from namidairo which I mentioned in my last post. android is now much more responsive on the TF201 :D.
Thanks namidairo :good:.
Now the RootBootKernelChooser doesn't work anymore (/data partition is now F2FS and the kexec-host-kernel does not support F2FS).

I tried to patch the kernel sources with the patch for the TF700 from JoinTheRealms. Some files I had to patch manually (could be wrong or maybe have to set some MEM-adresses correctly).
I extracted the kernel config file from latest_fastboot.blob ("abootimg -x" and "extract-ikconfig").
After activating "Kexec Hardboot" and "Cpuquiet framework" (needed to prevent errors) the kernel compiled successful, I insterted it in latest_fastboo.blob with "abootimg -u latest_fastboo.blob.LNX -k zImage" and made a blobpack (tf201 version).
Flashing with fastboot was successful -> showed progress-bar.

Reboot - the TF201 stucks at the asus logo.

What am I doing wrong?
-> I could post my patch and my kernel config.
Are there kernel sources for the tf201 with kexec hardboot?
-> could be easier to patch F2FS

----------------Update---------------

I made an unlucky typo in blobpack, got black screen after the asus-logo and bootloops - nevermind I changed the kernel sources. And the kexecHardboot.patch was incorrect.

I used the asus stock kernel sources (V10.4.2.15) and the JB15.patch from tux_mind reopsitory after reading gentoo TF201.
This kernel I patched with F2FS.
I modified & compiled the root_chooser to mount f2fs.

Now I see 4 penguins until it reboots (bootloop) ...

---------------Update 2--------------

Crosscompiling kernel_chooser did not work properly (no arm libs)
Compile via chroot did the trick - root_chooser shows up.
Starting android or linux gives an error: [ERROR] kexec_load failed: Cannot assign requested address

---------------Update 3--------------

Without flag "KEXEC_ON_CRASH" the kernel_chooser hasn't anymore errors.
SUCCESS :D
I can start CM11 with modified kernelChooser and f2fs partitions.

---------------Update 4--------------

modified root_chooser that it mounts f2fs.
Patch tux-minds kernel that it can mount f2fs.
Now Lubuntu starts fine :D

Maybe I try to get a current LTS version running...
 
Last edited:

gophix

Member
Feb 15, 2013
33
19
Cologne
Was someone able to get Ubuntu 14.04\14.10 on their TF201s?
The problem is, btw, that I'm stuck in console, it asks me to login there for some reason, but I can only write input for like 0.00001 seconds, then I am no longer able to type.
Same thing happend on all 3 tries.

Anybody?

you should deactivate all vt > 1 (all virtual terminals start ranging at 2) and use vt1 for the X-server.
In the gentoo case I had to comment out virtual terminals 2-6, serial terminals and redirect the syslogger to vt1.
 

GummyGum173

Member
Feb 7, 2013
18
1
you should deactivate all vt > 1 (all virtual terminals start ranging at 2) and use vt1 for the X-server.
In the gentoo case I had to comment out virtual terminals 2-6, serial terminals and redirect the syslogger to vt1.

Hey, thanks for your answer.
I've seen your contribution to Gentoo Wiki in the TF201 section and decided to join in.

I've set Gentoo on my device and installed the opentegra drivers.
BUT, when I try to start X, it kills my laptop and it simply would restart.

I have found this entry: https://paz00.ru/index.php/Opentegra
And, fortunately, I speak Russian fluently.
Their solution is so:

(Emerge opentegra)
cd /etc/X11
mkdir xorg.conf.d
nano 10-tegra.conf
Code:
Section "Device"
 Identifier "tegra"
 Driver "opentegra"
EndSection

Now for the hard part, we have to use an upstream kernel, 3.10 or above (open tegra won't work below that version, that's why it crashes).
So we need to somehow figure a way to compile an upstream kernel for our device.
As a total noob, I have no idea how to do that.

I guess for starters we should simply compile the latest genkernel or something and see what works and what breaks.
If someone here actually knowshow to port the tf201 code to the upstream kernel that would be awesome!
We could have a fully functioning Linux machine.
 

gophix

Member
Feb 15, 2013
33
19
Cologne
Hey, thanks for your answer.
I've seen your contribution to Gentoo Wiki in the TF201 section and decided to join in.
You're welcome. From time to time I will post my experiences on the gentoo wiki. (There's a lot missing: Configure Wifi, X(fbdev, opentegra, nvidia), F2FS, compile kernel, FUSE, android_chooser (Sailfish OS, UbuntuTouch), etc. ;) )

I've set Gentoo on my device and installed the opentegra drivers.
BUT, when I try to start X, it kills my laptop and it simply would restart.

In gentoo I got X work with fbdev, so at least it is working.
After that I tired to use the proprietary drivers from nvidia with no luck, because of different ABI-versions between X-server and the driver. I have no solution yet.

Opentegra would be very nice. I'm although interested in compiling a current kernel and get to know if all will work just with open source. But I don't know if all hardware-parts will work (up to now the wifi works only with a firmware version for kernel 3.10, so I have to check that). Configuring, compiling and start a working kernel could be time-expensive and at the moment I do not have much time. Well there are good "HowTos" for compiling kernels on gentoo in the x86 guide.

BTW wifi works flawlessly with changes in nvram_4329.txt more information are here.
 
Last edited:

GummyGum173

Member
Feb 7, 2013
18
1
You're welcome. From time to time I will post my experiences on the gentoo wiki. (There's a lot missing: Configure Wifi, X(fbdev, opentegra, nvidia), F2FS, compile kernel, FUSE, android_chooser (Sailfish OS, UbuntuTouch), etc. ;) )



In gentoo I got X work with fbdev, so at least it is working.
After that I tired to use the proprietary drivers from nvidia with no luck, because of different ABI-versions between X-server and the driver. I have no solution yet.

Opentegra would be very nice. I'm although interested in compiling a current kernel and get to know if all will work just with open source. But I don't know if all hardware-parts will work (up to now the wifi works only with a firmware version for kernel 3.10, so I have to check that). Configuring, compiling and start a working kernel could be time-expensive and at the moment I do not have much time. Well there are good "HowTos" for compiling kernels on gentoo in the x86 guide.

BTW wifi works flawlessly with changes in nvram_4329.txt more information are here.

Did you manage to get the touchpad working? No matter what I do, what scripts I use from tux-minds github, it just doesn't work.
Did you have to install an additional driver or something?

I also plan to contribute to the Gentoo wiki :) experimenting with kernels now.
I might download the 3.1.10 original Linux kernel and see what are the differences and try to figure stuff out.
 

gophix

Member
Feb 15, 2013
33
19
Cologne
Did you manage to get the touchpad working? No matter what I do, what scripts I use from tux-minds github, it just doesn't work.
Did you have to install an additional driver or something?

I also plan to contribute to the Gentoo wiki :) experimenting with kernels now.
I might download the 3.1.10 original Linux kernel and see what are the differences and try to figure stuff out.

I'm not sure, but I think my touchpad and touchscreen are working. I use an USB-mouse which works.
Add to /etc/portage/make.conf:
Code:
#VIDEO_CARDS="fbdev / opentegra ? / nvidia ?" # maybe not needed
INPUT_DEVICES="evdev synaptics"
Now emerge the packages if they were not installed (as xorg-server dependencies):
Code:
emerge -av x11-drivers/xf86-input-evdev
emerge -av x11-drivers/xf86-input-synaptics

But I think you first need to compile the kernel, because some of the X-server dependencies will need kernel sources at /usr/src/linux

Clone tux-minds 3.1.10 kernel to /usr/src/tf201-kernel and compile kernel & modules (tf201-kernel):
Code:
cd /usr/src
git clone https://github.com/tux-mind/tf201-kernel
ln -s /usr/src/tf201-kernel /usr/src/linux
cd /usr/src/linux
make menuconfig
make

I had problems to emerge git. So I used wget as workaround:
Code:
wget https://github.com/tux-mind/tf201-kernel/archive/master.zip
unzip master.zip -d /usr/src

The fresh build kernel is /usr/src/linux/arch/arm/boot/zImage, which belongs to kernel_choosers /data/boot (but you can still use the "3.1.10 kernel for 'any' distro")

If all will work fine you've build the kernel and modules and can try to repeat that with genkernel.

--- Update ---

Found the TF700 gentoo wiki. It seems to be hard to get a new kernel to run for opentegra. opentegra needs at least kernel ~3.8, someone tried to compile version 3.10.
Maybe I get correct ABI-versions between X-server and the proprietary driver through masking ">=x11-base/xorg-server-1.13.0"
I've updated the gentoo TF201 wiki with information to set up "classic" X with working touchpad and touchscreen.
 
Last edited:

nokimey

Member
Feb 5, 2008
30
4
Hi guys. I successfully flashed configured and booted Ubutnu 12.04, Lubuntu 14.04, Arch and Gentoo.
But i wasn't able to start xserver. I have tried to install Nvidia Tegra drivers but no success. Also I have tried OpenTegra but i m getting some Macros errors. Tried xorg with ABI 14. But last errors is
nvrm_init failed
Error: cant open /dev/nvhost-ctrl

Also I have troubles with wifi, tried to use some patches from repo and so long. :p

Anybody have any idea how to fix nvidia drivers or get xorg working ?
 

gophix

Member
Feb 15, 2013
33
19
Cologne
Hi nokimey,

Nvidia Tegra drivers but no success.
The Tegra drivers need Xorg ABI version <=1.14. If you have a consele you can determine it with 'Xorg -v" for more information you can have a look at Tegra on TF201. I've updated the wiki a few days ago.
If you have an 'old' Xorg-server running on Ubuntu with right ABI version you should scan all config-files to use only vt1. (Xorg, syslogger, etc.).

OpenTegra but i m getting some Macros errors.
I dont have any experiences with opentegra. But it seems to need a kernel >= 3.8. The last known kernel from Asus is 3.1.10 and as far as I know no newer running kernel exists at the moment. You're free to compile your own.
Also I have troubles with wifi, tried to use some patches from repo and so long. :p

The wifi works fine with plain wpa_supplicant. See Wifi on TF201 and use a 'good' nvram_4329.txt

Gentoo works fine on the Prime, but it has the drawback that it needs much time to install all programms and libs.
 

nokimey

Member
Feb 5, 2008
30
4
Hi nokimey,


The Tegra drivers need Xorg ABI version <=1.14. If you have a consele you can determine it with 'Xorg -v" for more information you can have a look at Tegra on TF201. I've updated the wiki a few days ago.
If you have an 'old' Xorg-server running on Ubuntu with right ABI version you should scan all config-files to use only vt1. (Xorg, syslogger, etc.).


I dont have any experiences with opentegra. But it seems to need a kernel >= 3.8. The last known kernel from Asus is 3.1.10 and as far as I know no newer running kernel exists at the moment. You're free to compile your own.


The wifi works fine with plain wpa_supplicant. See Wifi on TF201 and use a 'good' nvram_4329.txt

Gentoo works fine on the Prime, but it has the drawback that it needs much time to install all programms and libs.


Yeah, I know about ABI 1.14 but it wont successfully load Tegra driver. X server will always throw error with
nwrm_init failed
Error cant open /dev/nvhost-ctrl
Its in lubuntu but, i will try it in gentoo too.

I followed your wiki :) Its really cool.

And a wifi in lubuntu i cant detect it. I dont know why. patched in modules, configured wpa_supplicant but still No device as wlan0.
I see something in lshw but has name dummy, but it has some mac address. I will check if its mac of wifi in android but still cant enable it..

Also i thing i will have to move from lubuntu to gentoo -> i wont but i will have to.

Thank you for response
 

Top Liked Posts

  • There are no posts matching your filters.
  • 20
    -----------
    HOW-TO: Ubuntu on Asus Transformer Prime TF201

    Port by lilstevie (thank you for your hard work)
    --------

    DISCLAIMER:
    I wrote this how-to from my experience installing successfully Ubuntu on my Prime.
    I am in no way responsible for what you do with your Prime, even when you are following my instructions.
    There is always the risk of making it worse, hardbricking your device, and this risk is completely down to you !
    This is not a final version. This port is currently very unstable !
    Install Ubuntu on your TF201 for testing purposes only !


    HOW-TO Unbrick your Prime (or not...):
    http://forum.xda-developers.com/showthread.php?t=1514088

    --------

    VERSION:
    v0.1: First version of the tutorial

    ABOUT:
    - Working:
    Wifi – Same patch as for the TF101
    Keyboard (if you have a dock)
    USB Host (if you have a dock)

    - Partially working:
    Graphics Acceleration (only 2D at this point)
    Touchscreen (it works but every few touches are off target by 1/2 the screen)

    - Not working:
    Bluetooth
    Trackpad
    Sound
    Sensors (ALS, Gyroscope, Accelerometer, GPS, magnetometer)
    Shutdown, Reboot, Suspend

    --------

    Links:
    Bootimage http://173.244.200.139/ports/prime-sdlinux.blob
    RootFS http://173.244.200.139/ports/ubuntu-prime.img.gz
    Fastboot http://alpharev.nl/wintools.zip

    MD5:
    9625d336062b2ff7eb9530dd5e48fb9e prime-sdlinux.blob
    1a59e7918c199a85f805cb62ca130dae ubuntu.img
    81238957a42b207213442cba7eeff684 wintools.zip

    --------

    Hardware:
    Asus Transformer Prime TF201 (bootloader unlocked & with data/charge cable)
    A computer with Linux installed
    MicroSD card of at least 4GB (a fast card is better)

    --------

    Pre-requisities:
    1. You need to have an already unlocked Prime.
    To unlock it, use the official Asus Bootloader Unlock Tool APK on Android.

    2. You need to have the latest ClockWorkMod (CWM) Recovery installed to easily backup & restore your device.
    To install it, you can use the Android tool 'ROM Manager' from Play Store if you system is already rooted.
    Otherwise, you can use the 'Fastboot' tool along with this tutorial (BE CAREFUL!):
    HOW-TO 1: http://www.theandroidsoul.com/install-cwm-5-8-2-0-on-transformer-prime/
    HOW-TO 2: http://forum.xda-developers.com/showthread.php?t=1576937

    (You can also install the Touch version of CWM to avoid destroying your volume buttons while navigating :D)
    CLASSIC : http://download.clockworkmod.com/recoveries/recovery-clockwork-5.8.2.0-tf201.img
    TOUCH : http://download.clockworkmod.com/recoveries/recovery-clockwork-touch-5.8.1.8-tf201.img

    3. Before trying to do anything with your device, make a full nandroid backup of the current WORKING Android system.

    To do that:
    - Reboot on CWM (see the sticky, at the end)
    - Navigate to 'backup and restore', then 'backup'
    - Wait until the full backup is done...

    --------

    - INSTALL Ubuntu -

    Introduction:
    To have a working Ubuntu system on the Prime, you have to:
    - Extract the root file system on your MicroSD card
    - Flash the bootimage right on the device

    While installing Ubuntu, the only thing you modify about Android, is the bootimage. You leave the system intact,
    so you'll be able to do a pseudo-dualboot between Ubuntu, and Android (we'll see that later).

    HOW-TO:
    Extraction of the root filesystem:
    - Connect your MicroSD card on the computer running linux (ex: /dev/sdc)
    - Umount all current partitions from the card
    - Using fdisk, fully erase it, rebuild partition table, and create one partition (ex: /dev/sdc1)
    - Format it in 'ext4' (ex: $ mkfs.ext4 /dev/sdc1)
    - Using 'dd' command, extract the 'ubuntu.img' filesystem to the recently created partition
    (ex: $ dd if=ubuntu.img of=/dev/sdc1)
    - Wait until extraction completes... (It takes a while...)
    - Mount the partition to verify that the extraction completes successfully (ex: $ mount /dev/sdc1 folder)
    - Umount it, eject the card and put it on the Prime (ex: $ umount /dev/sdc1)
    - Your Ubuntu filesystem is ready to use !

    Flashing the bootimage (BE CAREFUL!):
    - Reboot in fastboot mode (see the sticky, at the end)
    - Connect the Prime to the computer, and be sure the drivers are correctly installed
    You can find the drivers here: http://forum.xda-developers.com/showthread.php?t=1426502
    - Extract the fastboot archive 'wintools.zip' and move the file 'prime-sdlinux.blob' in the same folder
    - Execute the command: fastboot -i 0x0b05 flash boot prime-sdlinux.blob
    (WARNING! This command will overwrite the bootimage of your Prime! Be sure you know what you're doing!)
    - Wait until the flash completes... (it generally takes a few seconds...)
    - When the blue progress bar is full, on the Prime, hold the Power switch to reboot the device
    - Be sure that the MicroSD card is in the Prime
    - Your Prime is now booting on Ubuntu, you should see some text displaying on the screen
    - Wait until the system initializes... (It takes a while for the first boot...)
    You should see kernel verbose booting, displaying something saying the system is resizing a partition
    on the MicroSD card...
    - Your Ubuntu system is installed ! You can do the graphical basic setup, then do a hard reboot of the device !
    - Good luck with your freshly installed Ubuntu on your awsome Asus Transformer Prime !

    --------

    - RESTORE Android -

    Introduction:
    After installing Ubuntu, to have Android back on the Prime, you have to:
    - (OPTIONAL: Do a full nandroid backup to be able to restore the Ubuntu bootimage directly from the CWM later)
    - Simply restore the Android bootimage from the nandroid backup made before the installation of Ubuntu

    HOW-TO:
    To do that:
    - Reboot on CWM (see the sticky, at the end)
    - Go to 'backup and restore', then 'advanced restore'
    - Choose the Android backup made before installing Ubuntu
    - Choose 'Restore boot' option
    - Wait until the restore is done...
    - Choose 'reboot system now' to boot in Android

    --------

    - DUALBOOT Android/Ubuntu -

    Introduction:
    We can note that the both systems are installed on two different storage devices.
    Android is directly on the device and Ubuntu is on the MicroSD.
    The only thing that changes between the two systems is the bootimage.
    If you have a nandroid backup of each WORKING systems, you can do an advanced restore of the boot 'boot.img'
    of Ubuntu to boot it from the MicroSD card, or restore the boot of the Android backup to boot on Android !

    HOW-TO:
    To do that:
    - Reboot on CWM (see the sticky, at the end)
    - Go to 'backup and restore', then 'advanced restore'
    - Choose the correct backup (the Android one, or the Ubuntu one)
    - Choose 'Restore boot' option
    - Wait until the restore is done...

    --------

    STICKY:
    - Booting the Prime on recovery mode (CWM):
    1. Power off the device (using Android, or by a long press of the power switch)
    2. Power it on, by keeping simultaneously pressed the power switch and the volume down button
    3. When text displays on top of the screen, release all, and press the volume up button
    4. Wait a few seconds and CWM will appear on the Prime...

    - Booting the prime in fastboot mode:
    1. Power off the device (using Android, or by a long press of the power switch)
    2. Power it on, by keeping simultaneously pressed the power switch and the volume down button
    3. Wait until the message saying 'OS will coldboot in 10 seconds' etc... then release all buttons
    4. Use the volume down button to select the USB icon
    5. Validate with volume up
    6. You can connect your device to a computer to send fastboot commands...
    17
    Here is a video of the current status.


    There is a blog post coming soon.
    10
    You have pubblished new files ?
    We are anxiously awaiting :D

    there is a major bug with the 3.1 kernel which is holding things up at the moment, there is a race condition which means the boot needs to be broken out into an initrd shell and resumed to work
    10
    Can You write on How-to for install one distro complete ?

    no, and the reason will make you happy!
    just now i've got kexec works! :laugh:

    PLEASE STOP TESTING ROOT_CHOOSER v5.
    configuration files syntax will change for support external kernel loading.

    so, let me make root_chooser v6 and a custom kernel for boot everything.
    i'll update you soon!

    Cheers!
    9
    i did it!
    the touchpad WORKS!
    ensure to have xf86-input-synaptics package installed ( on ubuntu should be 'xserver-xorg-input-synaptics' ).

    as usually you can find everything here: https://github.com/tux-mind/tf201-dev
    for update your TF201 follow this guide: http://wiki.gentoo.org/wiki/Asus_Transformer_Prime#INSTALLING_THE_KERNEL

    we ALWAYS provide the source code, for now all our kernel changes are in the JB15.patch file.
    if you want to contribute i'll add you to the repository collaborators.

    cheers!