[Q&A] Ubuntu on the Transformer (eMMC install)

Search This thread

braernoch

Member
Oct 4, 2011
27
12
Austin, TX
Compile errors

I'm running into an odd error when compiling the kernel. The weird part is that it only happens on one PC - on the other everything works fine. I'm using gcc 4:4.6.1-2ubuntu5 and dtc 1.3. Any ideas?

Three changes I had to make to get kernel to compile:
1) Edit kernel/cpuset.c and change "!= task)" to "!= tsk)"
2) Edit drivers/net/wireless/bcm4329/Makefile and delete the flag -Werror. *The latest revisions to gcc force it to treat the warning as an error in dhd_linux.c.
3) Edit arch/arm/mach-tegra/board-ventana-misc.c and remove the entire if-statement that uses the instantiated-but-uninitialized variable g_NvBootArgsGPSPreemption. Remove the variable declaration, too. It's declared as an int, used as a boolean, and never given a value to begin with.

Your make should now succeed.
 
Last edited:
  • Like
Reactions: rdnetto

v0id_walker

Senior Member
Jan 13, 2012
56
8
Bratislava
noob asks:

hi there,
i would like to buy this device and use it as a tablet and linux netbook (i am using archlinux netbook right now)
I noticed that there are at least 2 ways how to run a full-fletched OS on this device (asus tf101)
First was to run the ubuntu in chrooted environment and second was to install as native OS. (as far as i know there are supposed to be more ways to do this too)
So my questions are:
1. Which one is better/has more stuff(like bluetooth/wifi or network/touchscreen) working. Can it run stuff like eclipse/lazarus/gcc?
2. Is it possible to have a dual-boot (Android/Ubuntu)?
3. The device needs to be rooted, i guess?
4. Is there a problem with rooting/unrooting?

Thanks to anyone willing to answer those questions, i guess someone already asked them but i could not find it.
 

rdnetto

Senior Member
Jul 3, 2011
317
96
hi there,
i would like to buy this device and use it as a tablet and linux netbook (i am using archlinux netbook right now)
I noticed that there are at least 2 ways how to run a full-fletched OS on this device (asus tf101)
First was to run the ubuntu in chrooted environment and second was to install as native OS. (as far as i know there are supposed to be more ways to do this too)
So my questions are:
1. Which one is better/has more stuff(like bluetooth/wifi or network/touchscreen) working. Can it run stuff like eclipse/lazarus/gcc?
2. Is it possible to have a dual-boot (Android/Ubuntu)?
3. The device needs to be rooted, i guess?
4. Is there a problem with rooting/unrooting?

Thanks to anyone willing to answer those questions, i guess someone already asked them but i could not find it.

1) chroot may have issues with hardware stuff where Android already has exclusive locks on things. Where this is not the case, things which do not currently work on Ubuntu may work under it.
I would like to stress that the reason no-one uses chroot if they can help it is because it is painfully slow, and borders on unusable. Not to mention that 756 MB can still be a little restrictive for Ubuntu (you can fill it up with Firefox and a few dozen tabs), which means Android's overhead can be rather problematic.

2) Yes, dual boot is supported by OLiFE.

3) Strictly speaking, no. Rooting involves modifying (or replacing) the Android ROM so you have root access under it. You could theoretically flash the device with Ubuntu and stock Android, and it would work just fine. However, this has the same effects on your warranty as rooting does, since you effectively have a different kind of root access under Ubuntu.
This is because root access and the ability to flash the device are two different things.

4) Depends on the model. The original Transformers can be flashed (incl. SBKv2 devices, I believe). Primes have more sophisticated DRM (see androidroot.mobi for details) and cannot currently be flashed, AFAIK.
 
Last edited:
  • Like
Reactions: v0id_walker

lilstevie

Senior Recognized Developer
Apr 17, 2009
1,339
1,040
3) Yes. You must unlock the bootloader for the script to nvflash the kernel, boot, system, ROM, and OS images. Several one-click root options are available.
.

nonononononononononononononono(takes a breath)nonononononononononono.

You don't just unlock the bootloader, APX is below the bootloader, it requires knowing the secure boot key, which is known for devices with a serial below B7O, there is no "do this and it will unlock nvflash access" you either have it, or you don't.
 
  • Like
Reactions: braernoch

canedha

Member
Jun 6, 2011
49
5
nonononononononononononononono(takes a breath)nonononononononononono.

haha, i like ur style!

btw. thx for this awesome stuff ur doing here

the first time i put ubuntu on my tf i used franks tools.
i want to reinstall everything again with OLife for being able to use CWM even with ubuntu installed (the option where ubuntu boot is removed, cwn installed, used and removed and ubuntu installed back again).
after frank tools i had root right on, will this be like this with OLife as well or will i have to use razorclaw/nachoroot whatsoever?
what will happen to my data, programs in ubuntu etc when using cwm as mentioned above? will only the bootloader be overwritten for the time being or the whole partition? (i thinks its the first option but i dont want to risk it ^^)

thx again :)
 
Last edited:

yalkowni

Senior Member
Feb 2, 2011
5,323
156
LA JOLLA
You don't need to reinstall everything just to use olife just go straight to flashing cwm through Olife

Sent from my Transformer TF101 using Tapatalk
 
  • Like
Reactions: canedha

rdnetto

Senior Member
Jul 3, 2011
317
96
haha, i like ur style!

btw. thx for this awesome stuff ur doing here

the first time i put ubuntu on my tf i used franks tools.
i want to reinstall everything again with OLife for being able to use CWM even with ubuntu installed (the option where ubuntu boot is removed, cwn installed, used and removed and ubuntu installed back again).
after frank tools i had root right on, will this be like this with OLife as well or will i have to use razorclaw/nachoroot whatsoever?
what will happen to my data, programs in ubuntu etc when using cwm as mentioned above? will only the bootloader be overwritten for the time being or the whole partition? (i thinks its the first option but i dont want to risk it ^^)

thx again :)

CWM does not touch your programs or data - it only writes to the LNX partition which the bootloader reads from. However, if you use OLiFE to flash a new configuration (as opposed to flashing a single partition), then you will lose all data saved on the device.

If you use OLiFE with any non-stock ROM (e.g. Prime), then you do not need to root it.
 
  • Like
Reactions: canedha

shaola

Senior Member
Dec 26, 2010
157
62
creating custom debian image

Hi, i am creating a custom debian image, in order to use your OLIFE script to install it.

I have a couple of doubts.

I have some issues with debootstrap in debian wheezy/unstable/experimental. Nothing i couldn't fix, I also have a sheeva plug (arm architecture) with debian installed.

Anyway, i am writting too much. Let's cut the cheese:


First question:
all /dev/* devices already created in your ubuntu.img... are they especially created for the transformer? does not the kernel create them the first time you boot? did you use mknod to make them?

Second question:
I've seen the fstab in your ubuntu.img. How did you create it? I mean... how do you know de UUID of the disk even before "format/repartition" it? ¿could i use the same one?

Third question:
You haven't create any user in your installation, is it really necesary to be root to use ubuntu? I think that's a security issue,

Last question:
My transformer is very new (christmas present), and its b70, but sbkdetect sais it's sbk1 so i guess there is no much risk (i now there is allways a risk) because a could use nvflash to restore it. couldn't i?

Thanks and sorry for so many questions, but i didn't find enough information en both threats or in the wiki.

cheers
 

lilstevie

Senior Recognized Developer
Apr 17, 2009
1,339
1,040
Hi, i am creating a custom debian image, in order to use your OLIFE script to install it.

I have a couple of doubts.

I have some issues with debootstrap in debian wheezy/unstable/experimental. Nothing i couldn't fix, I also have a sheeva plug (arm architecture) with debian installed.

Anyway, i am writting too much. Let's cut the cheese:


First question:
all /dev/* devices already created in your ubuntu.img... are they especially created for the transformer? does not the kernel create them the first time you boot? did you use mknod to make them?

Second question:
I've seen the fstab in your ubuntu.img. How did you create it? I mean... how do you know de UUID of the disk even before "format/repartition" it? ¿could i use the same one?

Third question:
You haven't create any user in your installation, is it really necesary to be root to use ubuntu? I think that's a security issue,

Last question:
My transformer is very new (christmas present), and its b70, but sbkdetect sais it's sbk1 so i guess there is no much risk (i now there is allways a risk) because a could use nvflash to restore it. couldn't i?

Thanks and sorry for so many questions, but i didn't find enough information en both threats or in the wiki.

cheers

1) /dev is kernel maintained not files in the system.

2) I know the UUID because I got it with blkid.

3) Your user is created on the first boot with oem-config.

4) there is no chance of bricking if you do have an sbkv2 device because quite simply you need nvflash to install, not having nvflash access means no chance of bricking.
 
  • Like
Reactions: shaola

shaola

Senior Member
Dec 26, 2010
157
62
1) /dev is kernel maintained not files in the system.

2) I know the UUID because I got it with blkid.

3) Your user is created on the first boot with oem-config.

4) there is no chance of bricking if you do have an sbkv2 device because quite simply you need nvflash to install, not having nvflash access means no chance of bricking.


1) that's why i get kind of surprise when i mounted ubuntu.img and found files in /dev, i guess you backed up that img

2) right, i know that, but again, you got it after or before install ubuntu? If i make bigger or smaller image and partition i guess i'll have to change it.

3) is this make by script of yours? or is this ubuntu feature? i haven't use ubuntu in so much time so i don't know. I am a (not official) debian mantainer and this is the first time i've hearded about oem-config, maybe i am missing something.
EDITED: nevermid, i found oem-config package in ubuntu, doesn't exits in debian, i'll see if i cand rebuild it for this purpose in orde to other people can use debian image.


4) sbkdeteck sais my device is sbk1 but i had to use a livecd to check it because y got segfault in my debian instalation, i think it's because a diferent version of
libthread.so


Thanks again.
 
Last edited:

lilstevie

Senior Recognized Developer
Apr 17, 2009
1,339
1,040
1) that's why i get kind of surprise when i mounted ubuntu.img and found files in /dev, i guess you backed up that img

2) right, i know that, but again, you got it after or before install ubuntu? If i make bigger or smaller image and partition i guess i'll have to change it.

3) is this make by script of yours? or is this ubuntu feature? i haven't use ubuntu in so much time so i don't know. I am a (not official) debian mantainer and this is the first time i've hearded about oem-config, maybe i am missing something.

4) sbkdeteck sais my device is sbk1 but i had to use a livecd to check it because y got segfault in my debian instalation, i think it's because a diferent version of libthread.so


Thanks again.

1) No, I did not "backup" that image, it is a modified live image from OMAP.
2) No, the UUID is generated with the filesystem.
3) oem-config is based off ubiquity, and it an ubuntu feature.
4) if it said sbkv1 then it will be :)
 
  • Like
Reactions: shaola

shaola

Senior Member
Dec 26, 2010
157
62
1) No, I did not "backup" that image, it is a modified live image from OMAP.
2) No, the UUID is generated with the filesystem.
3) oem-config is based off ubiquity, and it an ubuntu feature.
4) if it said sbkv1 then it will be :)

well, this is going to be harder than i thougth, anyway i am going to give it a try. Thanks for your help again.
 

braernoch

Member
Oct 4, 2011
27
12
Austin, TX
Kernel Source - SoC Audio

I'm running into an odd error when compiling the kernel. The weird part is that it only happens on one PC - on the other everything works fine. I'm using gcc 4:4.6.1-2ubuntu5 and dtc 1.3. Any ideas?

My most promising lead is one you're much better suited to try. I'm a coder, and I lack y'all's understanding of the architecture just yet. Perhaps we keep audio support included in the kernel and just modify the .c and .h files it uses to build its drivers from the get-go. I'm looking in particular at

1) "linux_kernel_TF101/sound/soc/tegra/tegra_soc_wm8903.c"
2) "linux_kernel_TF101/sound/soc/codecs/wm8903.h"

Theoretically, you can tweak the codec registers and define how the driver interacts with the card before compiling. Hopefully you can do something with that. I'll keep looking.

(Aside)
Have you tried adjusting sound card configuration through "/var/lib/alsa/asound.state"? Run "alsactl --help" to see that that's the default config file, adjust it, then run "alsactl restore 0" to load changes. I've had no luck there.

I thought "alsa-info.sh" from alsa-project.org might be helpful, but it looks for most of its info in lspci which is not supported on ARM devices. The closest tool I found was "lshw", but that doesn't really help.
 
Last edited:

v0id_walker

Senior Member
Jan 13, 2012
56
8
Bratislava
More questions

How is the speed of the device with ubuntu running on top of it? Is it comparable with Atom netbooks?

Will the update to ICS make it impossible to root the device?

As always, thank you for the answers.
 

conizius

Senior Member
Oct 27, 2010
86
12
I got some problems updating my android kernel.
I'm using a dualboot setup with ubuntu as recovery.
What I'm trying to do is flashing the oc kernel from roach (Prime 2.0.6).
I tried extracting the blob from the provided zip, renaming it and placing it into images/.
Then running OLiFE -> Update -> Android Kernel -> Turn on Device
Flashing finished, but afterwards neither system is booting.
Thought I could copy the missing kernel modules from Ubuntu or maybe even from Android, but there is no way.
Android is looping at the EeePad screen and Ubuntu reboots with a kernel panic.
When I turn around and flash the original boot.img everything is back to normal, Android as well as Ubuntu boots as if nothing has ever happened.

Is there any step I'm missing? Or am I just to tired to see the obvious mistake? Does I have to tell anything the size of the new kernel (it's a few bytes different).
Thanks for help :)
Btw. in frustration also tried with the kernel from Revolver Rom with the same result...

How is the speed of the device with ubuntu running on top of it? Is it comparable with Atom netbooks?

Will the update to ICS make it impossible to root the device?

As always, thank you for the answers.

Well the speed is comparable in my opinion, but keep in mind that you have pretty limited ram ;) And you have an arm-architecture, so binary releases will never work for you unless they are released for arm. Beside that it's great! And we all love lilstevie for that! ;)

For ICS you could just wait for a Prime release with ICS. And if you have a skb1 device nobody can lock you out... maybe you just have to get down to honeycomb until a rooted rom is released (and pre alpha builds are already floating around).
 

shaola

Senior Member
Dec 26, 2010
157
62
Because built-in kernel drivers aren't apparent as modules and therefore can't be toyed with, I thought I'd rebuild the kernel with all audio support modularized. The kernel compiles, but the modules simply won't. Suddenly, they think all of their variables are undefined. Does anyone know why?

if you are talking about tipical unknown symbol (see dmesg) when you try to load de module with modprobe try to execute depmod -a as root or with sudo.

This will generate /lib/modules/modules.* files needed to be able to load that modules.

---------- Post added at 12:31 AM ---------- Previous post was at 12:27 AM ----------

if you are talking about tipical unknown symbol (see dmesg) when you try to load de module with modprobe try to execute depmod -a as root or with sudo.

This will generate /lib/modules/modules.* files needed to be able to load that modules.



How is the speed of the device with ubuntu running on top of it? Is it comparable with Atom netbooks?

I've been making my own tests with a custom debian image with lxde and it's fast as hell, much faster than ubuntu with gnome (obviusly) but it's still pretty unsable because i haven't been able yet to make work wifi or other important drivers, but i guess if you customize that image with another lighter enviroment it will be quite fast.
 

lilstevie

Senior Recognized Developer
Apr 17, 2009
1,339
1,040
I got some problems updating my android kernel.
I'm using a dualboot setup with ubuntu as recovery.
What I'm trying to do is flashing the oc kernel from roach (Prime 2.0.6).
I tried extracting the blob from the provided zip, renaming it and placing it into images/.
Then running OLiFE -> Update -> Android Kernel -> Turn on Device
Flashing finished, but afterwards neither system is booting.
Thought I could copy the missing kernel modules from Ubuntu or maybe even from Android, but there is no way.
Android is looping at the EeePad screen and Ubuntu reboots with a kernel panic.
When I turn around and flash the original boot.img everything is back to normal, Android as well as Ubuntu boots as if nothing has ever happened.

Is there any step I'm missing? Or am I just to tired to see the obvious mistake? Does I have to tell anything the size of the new kernel (it's a few bytes different).
Thanks for help :)
Btw. in frustration also tried with the kernel from Revolver Rom with the same result...



Well the speed is comparable in my opinion, but keep in mind that you have pretty limited ram ;) And you have an arm-architecture, so binary releases will never work for you unless they are released for arm. Beside that it's great! And we all love lilstevie for that! ;)

For ICS you could just wait for a Prime release with ICS. And if you have a skb1 device nobody can lock you out... maybe you just have to get down to honeycomb until a rooted rom is released (and pre alpha builds are already floating around).

you cant just flash an nvblob, that is its own format and needs to be unpacked first
 

braernoch

Member
Oct 4, 2011
27
12
Austin, TX
if you are talking about tipical unknown symbol (see dmesg) when you try to load de module with modprobe try to execute depmod -a as root or with sudo.

This will generate /lib/modules/modules.* files needed to be able to load that modules.

At first, "make modules" from the kernel source wouldn't even compile the modules. I think I just needed a good "make mrproper". Now that I have my modules, yes, I'm getting that error, but I already tried depmod as root. I get:

Code:
root@braer-tf101:/# depmod -a
WARNING: Loop detected: /lib/modules/2.6.36.4-1210+/kernel/sound/soc/codecs/snd-soc-wm8903.ko needs headset.ko which needs snd-soc-wm8903.ko again!
WARNING: Module /lib/modules/2.6.36.4-1210+/kernel/sound/soc/codecs/snd-soc-wm8903.ko ignored, due to loop
WARNING: Module /lib/modules/2.6.36.4-1210+/kernel/sound/soc/tegra/tegra_soc_controls.ko ignored, due to loop
WARNING: Module /lib/modules/2.6.36.4-1210+/kernel/sound/soc/tegra/tegra_soc_wm8903.ko ignored, due to loop
WARNING: Module /lib/modules/2.6.36.4-1210+/kernel/sound/soc/tegra/headset.ko ignored, due to loop

Trying to see if I can edit manually. Grr...
 

Top Liked Posts

  • There are no posts matching your filters.
  • 66
    This thread is for help and support related to ubuntu on the eeepad transformer, all questions not related to development should be asked here, please be friendly and do not flame each other or I will request the thread be closed.

    Download links are in the third post.

    There is a wiki entry here that has a bit more detailed explanation. Please note though that as it is a wiki information
    quoted in there may or may not be entirely accurite.

    you will need to download an nvflashable rom, like prime.



    Please read the README before attempting this. The readme is below as well as in the kit, YOU WILL LOSE DATA.

    Download links are in the second post.


    OLiFE for the ASUS transformer
    ------------------------------------------------------------------

    (c) 2011 Steven Barker <lilstevie@lilstevie.geek.nz>

    This package should have only been linked to from xda-developers
    or rootzwiki if you got the links to this package from anywhere
    but those sites please send an email to the above email
    address with the subject: "unauthorised posts"

    DISCLAIMER
    ------------------------------------------------------------------

    Steven Barker (lilstevie) nor anybody will take any responsibility
    for any damage, data loss, fire, death of a loved one, or loss of
    data resulting from using this mod for your device. Using this mod
    may void your warranty.

    NVFLASH
    ------------------------------------------------------------------

    nvflash is the intellectual property of nvidia, and remains the
    property of nvidia. Any questions or queries regarding the usage
    and licence of nvflash should be directed to nvidia.

    abootimg
    ------------------------------------------------------------------

    abootimg is by Gilles Grandou <gilles@grandou.net> and is
    unmodified. The source is available from online at
    http://gitorious.org/ac100/abootimg

    usage
    ------------------------------------------------------------------

    Usage has changed since the release of the last kit, please read
    these instructions carefully, as the install method is a little
    more complex, (but easier once you use it).

    If you downloaded OLiFE.tar.gz you will need to inject the android
    rom and ubuntu image. You can use any nvflashable rom with this.
    I recommend that you use prime as that is the configuration that
    I have tested myself, and the ROM that I support for use with this
    device. You can download the ubuntu image from
    http://lilstevie.geek.nz/ports/ubuntu.img.gz.

    If you downloaded OLiFE-Prime-Edition.tar.gz you will not need to
    download the ubuntu image or an nvflash rom as they are seeded into
    the image.

    Install instructions:

    1) Download the specific flavour of OLiFE that you want to use, and
    extract it with "tar xvf <filename>".

    2) If needed inject android rom and ubuntu image.

    3) From the directory that OLiFE was extracted in run the main script
    with the command ./OLiFE.sh.

    4) Read the text that comes up and answer the question it asks.

    5) Follow the menu to the option you want (below is a breakdown of
    what each menu item is) and follow the instructions prompted. (also below
    is instructions on how to get into the modes requested).

    Menu items:

    1) Backup Menu:

    1) Full Backup (stock)
    - Full backup (stock) takes a full backup of a stock
    android system. This gives you an option to also back
    up your user data(this will take a while).
    2) Full Backup (ubuntu)
    - Full backup (ubuntu) takes a full backup of a system
    that dualboots android and ubuntu, this backs up your
    system, and the ubuntu image. This gives you an option
    to also back up your user data(this will take a while).
    3) User data only
    - This backs up the user data partition on your device.
    (This option takes a while)
    4) Android ROM
    - This option backs up the android system only. This
    option generates all the files (minus bootloader, and BCT)
    required to flash a rom via nvflash.
    5) Ubuntu Install
    - This option backs up the ubuntu install on your device.
    2) Flash Device:

    1) Dualboot:
    - This option will install ubuntu to your device in a
    dualbooting configuration with android. During the
    installation process it asks you which OS you would like
    to boot by default.
    2) uboot (linux only):
    - This option will install ubuntu with u-boot and the
    ChromeOS kernel that supports acceleration. This option
    is currently unavailable, but should be available soon.
    3) asus boot (linux only):
    - This option will install ubuntu with the asus bootloader
    with this configuration you will use all the eMMC for ubuntu
    and there will be no android system installed on your device.
    4) stock:
    - This option will partition the device in a stock way and
    install the android system that is in ./images. Use this
    option if you no longer want ubuntu on your device.
    3) Update Device:

    1) Android Kernel:
    - This option will update the android kernel on your device
    with the boot.img from ./images/. This allows you to install
    your own kernel on the device for android rather than the one
    that comes with your chosen rom.
    2) Ubuntu/Linux Kernel:
    - This will update the ubuntu kernel on your device to the version
    included in this flashkit. This option is for updating just the
    kernel with nvflash rather than using the blob method. This method
    is also good for if you flash a bad ubuntu kernel to the device.
    3) Android ROM:
    - This option will update the android rom on the device with the
    one from ./images/. This is good for if the ROM you use is updated
    or you would like to change ROMs and there is an nvflash image for it.
    This option does not destroy your data.
    4) Ubuntu Rootfs:
    - This will update your ubuntu image on the device. This is destructive
    to data stored in the ubuntu image.
    5) Advanced (Unsupported):
    - Any option in this menu is not supported and should be considered
    unstable. There may be bugs in these options and they are not maintained
    at this point in time.

    1) Flash ChromeOS Kernel (Primary Boot):
    - This option will flash the ChromeOS kernel to the primary boot
    partition. This option may not currently work in it's current
    configuration.
    2) Flash ChromeOS Kernel (Secondary Boot):
    - This option will flash the ChromeOS kernel to the secondary boot
    partition. This option may not currently work in it's current
    configuration.
    3) Update Uboot Partition:
    - This option will update the u-boot boot partition that u-boot
    reads the kernel and boot script from. This option does work if
    you have installed u-boot by compiling it from source and installed
    it yourself.
    4) Flash ClockworkRecoveryMod:
    - This option allows you to temperarily flash CWR to the device so
    you can update the installed rom. It backs up the current kernel in
    the recovery kernel position and then flashes CWR. When you have finished
    using CWR you then push any key and put the device back in APX mode and
    it will restore the kernel that was in that position. (This only works if
    android is your primary boot option at this time).

    4) Inject Firmware:

    1) Bluetooth firmware (default install):
    - This option will inject the Bluetooth firmware from the
    android ROM located at ./images/ in to the ubuntu of your
    currently running system.
    2) Bluetooth firmware (CrOS Kernel):
    - This option will inject the Bluetooth firmware from the
    android ROM located at ./images/ in to the ubuntu of your
    currently running system and flashes the proper u-boot kernel
    if you no longer need adb support.

    5) Onscreen Keyboard:
    - This runs OnBoard so that you can run through oem-config properly
    you only need to use this option if you do not have a keyboard dock
    and on the first boot.

    1) Standard Kernel:
    - This will invoke oem-config on the standard kernel installed
    on the device.
    2) ChromeOS Kernel:
    - This will invoke oem-config on the u-boot kernel that is
    installed on the device and flashes the proper u-boot kernel
    if you no longer need adb support.

    Device Modes:

    APX Mode:
    -This mode is used by nvflash to write files to the eMMC device.
    To boot in this mode you press Power and Vol-Up.

    Recovery Mode:
    - This mode is where CWR or Asus recovery normally lives, but is
    replaced by the secondary OS in the dualboot configuration.
    To boot in this mode you press Power and Vol-Down, then Vol-Up when prompted.

    Normal Boot:
    -This mode is where android normally lives.
    To boot in this mode you press the Power button until the screen turns on.
    25
    Changelog
    ------------------------------------------------------------------

    1.2a - Release name: Odyssey

    * New name for kit: OLiFE
    * New menu system
    * Updated README
    * Better handling of platform detection
    * Bluetooth support in ubuntu.img
    * Preliminary support for ChromeOS kernel
    * Preliminary support for uboot
    * Fixed touchpad
    * Fixed network manager
    * Updated to ubuntu oneiric
    * More options for flashing and updating
    * OTB Wireless support (No more injecting)
    * Smaller ubuntu.img for faster upload to device
    * Auto resizing of rootfs on first boot
    * Larger partition size (6GB) for ubuntu
    * Refactored to more easily between devices
    * Maybe something else I have missed

    1.1 - Release name: Daedalus

    * Firmware injector for BT and wifi firmwares


    1.0 and silent updates - Release name: Prometheus

    * Support for x86_64 linux distributions
    * Updated README for release on xda-developers
    * Fixes to install scripts
    * Initial Release
    8
    Multiboot by cmw.zips

    This will restore cwm on recovery partition.
    And multiboot by flashing Ubuntu.zip or Android.zip

    Create flash-recovery.sh in flashkit dir !!

    The code below wil not work unless you provide some info on witch flash mode you used !!!!!
    Like me i have selected flash-linux-android.sh,
    View it and find witch --config file it use as you can see below.

    --->--configfile ./flash/android-linux.cfg <---

    Code:
    #!/bin/sh
    nflash --bct ./images/transformer.bct --setbct --configfile ./flash/android-linux.cfg --bl ./images/bootloader.bin --odmdata 0x300d8011 --sbk 0x1682CCD8 0x8A1A43EA 0xA532EEB6 0xECFE1D98 --sync
    nflash -r --download 5 ./images/recovery.img

    To Make this code above work replaced nflash with ./nvflash -> then sudo sh flash-recovery.sh

    Android <-- Prime 1.7 kernel !! you can select any kernel you want !!
    MD5 : 97cf64f6d5698276bde1d8657ec80cef

    Ubuntu
    MD5 : 40c9f82c30e0fd8230c712e23f2e3597
    7
    Downloads:

    RootFS md5sum(1a9fa8a698e4a96245a3c08511841eb4)
    OLiFE md5sum(c30263fd8271a23bb211fd9fdd69fa45)
    OLiFE Prime Edition md5sum(767779ccfa200e5e00b2f1e33a3d73a9)

    Sources:
    http://gitweb.lilstevie.geek.nz
    To clone the repos "git clone git://lilstevie.geek.nz/$(name of repo).git"
    6
    Simple Version

    Here's a simple nvflash package I put together to make things easy. It uses Jhinta's CWM files (incl.) and Prime 1.7. Just add ubuntu.img (from the OP) and run download-ubuntu.sh. (You'll still need to run the firmware injection script for drivers though.)

    http://www.multiupload.com/6GZSLRBP8S

    MD5: 843f964141ac96423c2fcdfc26092050