Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,728,909 Members 47,357 Now Online
XDA Developers Android and Mobile Development Forum

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

Tip us?
 
lilstevie
Old
(Last edited by lilstevie; 6th November 2011 at 03:40 PM.) Reason: Added wiki link
#1  
lilstevie's Avatar
Senior Recognized Developer - OP
Thanks Meter 1020
Posts: 1,304
Join Date: Apr 2009

 
DONATE TO ME
Default [Q&A] Ubuntu on the Transformer (eMMC install)

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.
The Following 66 Users Say Thank You to lilstevie For This Useful Post: [ Click to Expand ]
 
lilstevie
Old
(Last edited by lilstevie; 6th November 2011 at 11:14 AM.) Reason: Updated Changelog
#2  
lilstevie's Avatar
Senior Recognized Developer - OP
Thanks Meter 1020
Posts: 1,304
Join Date: Apr 2009

 
DONATE TO ME
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
The Following 25 Users Say Thank You to lilstevie For This Useful Post: [ Click to Expand ]
 
lilstevie
Old
(Last edited by lilstevie; 6th November 2011 at 01:29 PM.) Reason: Download links
#3  
lilstevie's Avatar
Senior Recognized Developer - OP
Thanks Meter 1020
Posts: 1,304
Join Date: Apr 2009

 
DONATE TO ME
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"
The Following 7 Users Say Thank You to lilstevie For This Useful Post: [ Click to Expand ]
 
bud77
Old
(Last edited by bud77; 29th July 2011 at 10:34 AM.)
#4  
bud77's Avatar
Senior Member
Thanks Meter 184
Posts: 568
Join Date: Jun 2011
Location: Near Paris

 
DONATE TO ME
Quote:
Originally Posted by lilstevie View Post
This is running natively and from the eMMC so no µSD card required,

The video is a class2 µSD card and speeds are not an example of speeds from this kit.
Thanks for your hard work, but I'm a bit confused by those 2 statements, contradicting each other :/

Also, if I understood properly, there is no CWM after selecting dual boot

Finally, is this a final release, or for testing purpose only ?
If final, a step by step guide would be very welcome

Edit : Just saw there is the tag [DEV] so forget about my last question (guide)
Feeling happy ? There's a thanks button for that
The Following User Says Thank You to bud77 For This Useful Post: [ Click to Expand ]
 
poltak11
Old
(Last edited by poltak11; 29th July 2011 at 10:38 AM.)
#5  
poltak11's Avatar
Member
Thanks Meter 25
Posts: 74
Join Date: Feb 2011
Location: Melbourne
Wow, amazing work here. Haven't been able to do much to my Transformer as of late (due to uni starting up again, and been seeing how the TF goes as a substitute for my usual netbook), but absolutely can't wait to try this out when I got some time.
And yeah, I'm a tad confused here as well. I'm assuming that you mean the video was of Ubuntu running of your microSD drive using Jhinta's scripts but now this allows us to run it off the internal drive... am I right?

And how is the speed difference so far, running off internal vs class 2 microSD?

EDIT: Also, I'm assuming the same things that didn't work on Jhinta's aren't working on this (network-manager gui, touchpad etc)? Or have you changed things up a bit? And the tegra ppa you talk about; that contain the proprietary 3D drivers you were talking about having a lack of in the video?
Galaxy Nexus GT-i9250T | Paranoid Android | Nyan Kernel Tuna | ClockworkMod Touch 6.0.1.0
--SOLD--Telstra HTC Desire - SLCD | Sandvold's CM9 | ManU kernel | ClockworkMod/j_r0dd v4.0.1.4
--SOLD--B&N Nook Color | eyeballer's CM9 builds | stock kernel | Botbrew
--SOLD-- ASUS Transformer 16GB | Prime! v1.7 | Native Ubuntu 11.04 | Stock Prime kernel UC'd@0.9GHz | ClockworkMod 3.1.0.1-solarnz-R3
Lenovo Thinkpad E320 | Gentoo GNU/Linux x86-64 | kernel-ck 3.6
 
stark0
Old
#6  
Member
Thanks Meter 20
Posts: 80
Join Date: Aug 2010
Nice to see the post in XDA Good work !
 
lilstevie
Old
#7  
lilstevie's Avatar
Senior Recognized Developer - OP
Thanks Meter 1020
Posts: 1,304
Join Date: Apr 2009

 
DONATE TO ME
Quote:
Originally Posted by bud77 View Post
Thanks for your hard work, but I'm a bit confused by those 2 statements, contradicting each other :/

Also, if I understood properly, there is no CWM after selecting dual boot
The video was taken before I was stable enough to even think about using internal memory, where as this kit is not using the µSD

and yeah you lose recovery after selecting dual boot, not much we can do about that for the time being.

Quote:
Originally Posted by poltak11 View Post
Wow, amazing work here. Haven't been able to do much to my Transformer as of late (due to uni starting up again, and been seeing how the TF goes as a substitute for my usual netbook), but absolutely can't wait to try this out when I got some time.
And yeah, I'm a tad confused here as well. I'm assuming that you mean the video was of Ubuntu running of your microSD drive using Jhinta's scripts but now this allows us to run it off the internal drive... am I right?

And how is the speed difference so far, running off internal vs class 2 microSD?

EDIT: Also, I'm assuming the same things that didn't work on Jhinta's aren't working on this (network-manager gui, touchpad etc)? Or have you changed things up a bit? And the tegra ppa you talk about; that contain the proprietary 3D drivers you were talking about having a lack of in the video?
I started back at uni this week myself, and have been using my transformer as a netbook replacement with ubuntu. The video is using my stuff but before I had it running on the internal memory.

speed diference is massive between the class2 and internal. It was so great of a difference that I forget that it is arm now that it is on internal

the PPA will have things such as kernel updates, bluetooth enabler and all that. as for what is working in the release, things are pretty similar to Jhintas release, touchpad does not work correctly network manager gui doesn't work, I have something to enable bluetooth, that works nicely, but it isn't in the fs or up on the ppa yet. 3D drivers are a work in progress, still no EGL and the likes with the L4T releases, so it is really just acceleration for normal use, I have been working on them but as of yet no dice.
 
ErGo_404
Old
#8  
Member
Thanks Meter 2
Posts: 63
Join Date: Oct 2007
Location: Paris
So using the PPA, in theory we won't have to flash the device again (at least for the ubuntu part), it will be able to auto-update itself ?
 
lilstevie
Old
#9  
lilstevie's Avatar
Senior Recognized Developer - OP
Thanks Meter 1020
Posts: 1,304
Join Date: Apr 2009

 
DONATE TO ME
Quote:
Originally Posted by ErGo_404 View Post
So using the PPA, in theory we won't have to flash the device again (at least for the ubuntu part), it will be able to auto-update itself ?
yes, that is the plan anyway
 
poltak11
Old
#10  
poltak11's Avatar
Member
Thanks Meter 25
Posts: 74
Join Date: Feb 2011
Location: Melbourne
Quote:
Originally Posted by lilstevie View Post
the PPA will have things such as kernel updates, bluetooth enabler and all that. as for what is working in the release, things are pretty similar to Jhintas release, touchpad does not work correctly network manager gui doesn't work, I have something to enable bluetooth, that works nicely, but it isn't in the fs or up on the ppa yet. 3D drivers are a work in progress, still no EGL and the likes with the L4T releases, so it is really just acceleration for normal use, I have been working on them but as of yet no dice.
Ah lovely idea with the PPA. When new 3.2 based Prime gets released, I'll try to get a few hours to myself to get this all working together.

Just a few quick questions first:
How do your scripts change the eMMC layout? Does eMMC work the same as a standard HDD/SSD partitioned with a GPT? As in, have you made separate partitions for Android and Ubuntu, or is it somehow shared?
And also related, how much room will it take up on the eMMC (as I've only got a 16GB TF)?
And finally, since you've been using yours at uni running Ubuntu, have you got any idea of the battery life running Ubuntu? I'm assuming it'd be pretty similar to stock, but yeah the battery indicator wasn't working last time I was playing around with Ubuntu from the microSD. Also, does the second keyboard battery work?
Galaxy Nexus GT-i9250T | Paranoid Android | Nyan Kernel Tuna | ClockworkMod Touch 6.0.1.0
--SOLD--Telstra HTC Desire - SLCD | Sandvold's CM9 | ManU kernel | ClockworkMod/j_r0dd v4.0.1.4
--SOLD--B&N Nook Color | eyeballer's CM9 builds | stock kernel | Botbrew
--SOLD-- ASUS Transformer 16GB | Prime! v1.7 | Native Ubuntu 11.04 | Stock Prime kernel UC'd@0.9GHz | ClockworkMod 3.1.0.1-solarnz-R3
Lenovo Thinkpad E320 | Gentoo GNU/Linux x86-64 | kernel-ck 3.6

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes