Please remember to add a category to the bottom of each page that you create.
See categories help for further details, but most will probably be [[Category:HTC ModelName]].

Difference between revisions of "ASUS Eee Pad Transformer/How to install Ubuntu"

From XDA-Developers
Jump to: navigation, search
m (What's working in the current release)
(What's working in the current release)
Line 52: Line 52:
 
|Battery meter||from terminal in 11.10 (see [http://forum.xda-developers.com/showpost.php?p=17327768&postcount=615 here]) works in 12.04 ||''from terminal (see [http://forum.xda-developers.com/showpost.php?p=17327768&postcount=615 here])''
 
|Battery meter||from terminal in 11.10 (see [http://forum.xda-developers.com/showpost.php?p=17327768&postcount=615 here]) works in 12.04 ||''from terminal (see [http://forum.xda-developers.com/showpost.php?p=17327768&postcount=615 here])''
 
|-
 
|-
|Audio ||with headphones ||''with headphones''
+
|Audio ||ok ||ok
 
|-
 
|-
 
|Hardware acceleration||no ||''a bit''
 
|Hardware acceleration||no ||''a bit''

Revision as of 00:17, 22 February 2012

This is a sub-article to ASUS Eee Pad Transformer.

Warnings

You WILL lose your data.

You will probably void your warranty.

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.

Work in progress -- This page is a work in progress based information found in this thread.

What works and what doesn't

All this will *only* work on sbkv1 devices because nvflash doesn't work on sbkv2 devices. If your serial number is B60 or below, you have an sbkv1 device. If your serial number is B70 it *might* be sbkv1. See here to detect the sbk version. Note that there is a root exploit for most sbkv2 devices here but nvflash still doesn't work on sbkv2 devices.

Usability

  • Wordprocessing works well. LibreOffice works except perhaps for the database stuff. Write, Calc and Presentation are known working.
  • Internet browsing works well except perhaps for Flash.
  • Video playback works but isn't sufficiently accelerated, what's more to get audio you need to plug headphones in.
  • Power management works though there are some issues with the screen auto-turn off. If you leave the transformer alone for a while it will put itself in low power mode.
  • Running windows programs with Wine is not possible because the transformer CPU is different to those in PCs.

Annoyances

  • Screen auto-turnoff issues.
    • Turning the screen brightness down to 0 will require a hard reboot to get the screen back on.
      • WORKAROUND(Only fixes the mis-clicks of the key so you do not have to reboot every time you click the button): Go to Sys. Settings -> Keyboard -> Shortcuts, select function you want to assign to the Sleep button click on it (I actually had to double-click and then click again until I could assign the key) and then click on the Sleep button and the button does not work as sleep anymore!
    • After pressing the Lock screen key the screen will keep turning off every few seconds. Partial Workaround: Disable suspend, as supposed here
    • After closing and reopening the lid the screen keeps on turning off every few seconds. Partial Workaround: In system preferences change power settings to do nothing when the lid is closed. Even if you do that the screen blanks when the lid reopens rather than when it closes. The power button will wake it up.
    • When the Transformer is in sleep mode, don't open/close the lid, don't plug in/unplug the keyboard dock, don't connect/disconnect the power lead. All of those actions trigger a wake-up call that is currently badly interpreted.
  • Touchpad is not disabled when typing.
  • If you choose Reboot into recovery from within Android you will find yourself locked out of the primary system. The pad boots the secondary system automatically.
    • One temporary fix is to hold volume down when you turn on, and wait when asked to press volume up. Then when asked whether to wipe all user data, press volume down to cancel. That will take you into the primary system just once.
    • A better fix is to run the following command from within ubuntu: sudo dd if=/dev/zero of=/dev/mmcblk0p3
      • (Note that this will complain that there is 'no space left on device' if it works as intended)

What's working in the current release

Feature With default kernel u-boot version with CrOS kernel
Touchscreen ok ok
Keyboard dock ok ok
SD and microSD ok ok
USB ports ok ok
Touchpad mostly ok see below mostly ok see below
Wifi ok ok
Bluetooth yes yes
Battery meter from terminal in 11.10 (see here) works in 12.04 from terminal (see here)
Audio ok ok
Hardware acceleration no a bit
Webcamera no no
Overclocking no no

Notes

  • Touchpad works, but isn't detected as one so it won't be automatically disabled when you're typing. Multitouch works (e.g. 2 finger tap to right click), but not gestures (e.g. scrolling).
  • Java - to install run "sudo apt-get install openjdk-6-jre".
  • Flash does seem to work on the default kernel, but we don't have detailed instructions yet. (you can try this, but many report that it doesn't work)
  • There is an FM radio chip but we don't even know if it has the right sort of antenna to work properly.
  • WINE does not and will never work, and QEMU is too slow to run any recent version of Windows.
  • Bluetooth requires some additional effort to get working (this will be fixed in a subsequent version of OLiFE, and replaces the current firmware injection function).
    • Turn on Bluetooth under Android, then boot into Ubuntu. (You do not need to leave it turned on.) This is necessary to generate the files that will be copied in the next step.
    • Run the following as root: mkdir /tmp/mnt; mount /dev/mmc0p7 /tmp/mnt; cp /tmp/mnt/misc/bluetooth/mac.txt /tmp/mnt/misc/bluetooth/bcm4329.hcd /lib/firmware/; umount /tmp/mnt
    • Edit /etc/init.d/bsp-tf101 to look like this, replacing f4:6d:04:58:85:d9 with $(cat /lib/firmware/mac.txt)
    • Reboot

Installing from a computer running linux

This does work with linux running in a virtual machine providing the usb support is good enough. (More info needed!)

The easy option: Download OLiFE Prime Edition here, and jump to the backup or install sections.

DO NOT extract the files on a windows type filesystem such as NTFS or FAT or you *will* run into problems. Do it all inside your linux partition. It is possible to create a filesystem in a file and mount it loopback and thus avoid the problem.

You will need an image of a usable linux root filesystem.

  • You can download a working one here.
  • Or you can use rootstock on an existing linux system to create one. If you do this you will need to manually install the driver modules for the default kernel. Note that you will not be able to install a root filesystem image that is over 4G in size, nvflash can't cope, though you can copy an image file from a USB key or an SD card using dd in android.

If you want to dualboot with an android system you can either backup your existing setup or download an nvflashable ROM such as Prime.

  • The latest stable version of Prime is available here. Be sure to get the nvflash version!
  • The Revolver ROM has an nvflash version but I have not tested it in a dual-boot setup. You can find it on this page.
  • OLiFE Prime Edition has Prime and the ubuntu image already in the correct places so you just need to run the OLiFE script, it is available here.

OLiFE (formerly linux flash kit) can be found here. Extract the file in the directory of your choice.

The linux flash kit is rather rough round the edges for the moment. OLiFE should be a little less rough. There may be some small bugs or cavets please report them on the thread here

If you want to get rid of android completely, you will still need an android system.img file for the firmware injection. Either make a backup or download a ROM.

Backing up your existing android install

This supposes you haven't yet modified your installation. If you have you will know how to adapt these instructions.
There is currently no super easy way to restore your user data to your device. See this post for a hardcore restore option which will only work well if you reinstall the ROM you currently have.

  1. Open a terminal window and navigate to the directory where you extracted the flash kit. If you extracted the file in your home directory, this can be done using the command. cd ~/OLiFE
  2. Run sh OLiFE.sh
  3. Choose the backup option
  4. Choose Full backup (stock). You will need around 500Mb for the default backup and 14Gb or 30 Gb more for your user data depending on whether you have a 16Gb model of the Transformer or a 32Gb model. Backing up the user data will take a good while.
  5. You will be asked if you want to backup userdata. That means all your downloaded apps, personal settings and documents. At the moment there is no super easy way to restore this. See here for a hardcore method.
  6. Then you will be asked to put your device in APX mode. To do that first shut it down then restart it and when the eee pad screen appears hold down both the Volume-up button and the Power button for 5-6 seconds. The screen will go black and stay black, and briefly pressing the Power button has no effect. Then connect it to the computer via the USB cable. If the device refuses to shutdown properly or is already in APX mode but isn't recognised, hold the Power button for 10s until the eee pad screen appears and then try, try, try again.
  7. Press any key as asked and some lines of information should start appearing saying that the device has been found in APX mode and that the backup of various partitions is going ahead. If you get a read error it might be because you don't have enough space to store the backups. If it fails during the backup of the userspace partition you only need to rerun the script choosing 1 and then 3 to grab just the userdata partition.

Installing Ubuntu

If you have the Prime Edition you can jump to step 3.

  1. Unpack the ubuntu.img.gz file in the OLiFE/images/ directory of your flashkit.
  2. If you want to dual-boot with android you will need to copy the boot.img and system.img files into the OLiFE/images/ directory. You will find these files either in your backup or in the ROM that you downloaded (just extract the zip file and browse around a bit).
  3. From the flash kit directory run sh OLiFE.sh
  4. Choose the flash device option
  5. Then you get a choice between Dualboot, Linux only (uboot), Linux only (asus boot), and Stock.
    • If you choose dual-boot, Ubuntu will have 6Gb. To increase that, edit configs/dualboot.cfg or configs/linux-dualboot.cfg depending on which system you choose as the default. Choose how much more space you want to give to Ubuntu and add that value to the size of the UBT partition AND to the size of the UDA partition. See here for lilstevie's explanation.
    • Don't choose the u-boot option, it doesn't work for the moment.
    • The stock option means flash android as the only system. Whether you get the stock android or a custom ROM depends on the images you put in the OLiFE/images/ directory.
  6. If you chose either the Linux only (asus boot) option or the Stock option, you will also need to copy recovery.img into the OLiFE/images directory.
  7. If you chose to dual-boot, you will be asked which system should be the default. For the moment Ubuntu as default doesn't seem to work. To boot the other system, hold the Volume-down button when you turn the device on until asked to press the volume up button.
  8. Then you will be asked to put your device in APX mode. To do that first shut it down then restart it and when the eee pad screen appears hold down both the Volume-up button and the Power button for 5-6 seconds. The screen will go black and stay black, and briefly pressing the Power button has no effect. Then connect it to the computer via the USB cable. If the device refuses to shutdown properly or is already in APX mode but isn't recognised, hold the Power button for 10s until the eee pad screen appears and then try, try, try again.
  9. Finally you will see some messages saying that the various partitions are being copied across. This takes a good long while.
  10. If you selected one of the linux only options you will be asked after a couple of minutes to put the device in APX mode once again.

Post install configuration

  1. Boot into Ubuntu.
  2. Get an onscreen keyboard if you need one.
    1. Connect to the computer via USB. Don't put the device in APX mode this time.
    2. From the flash kit directory run sh OLiFE.sh
    3. Choose the Onscreen keyboard option.
    4. Have fun.
  3. Inject bluetooth firmware
    This is necessary because of potential licencing issues.
    NB. Even if you run Ubuntu only you will need a valid android system.img file in the OLiFE/images/ directory.
    1. Connect to the computer via USB. Don't put the device in APX mode this time.
    2. From the flash kit directory run sh OLiFE.sh
    3. Choose the inject firmware option.
    4. Choose the default option unless you know what you are doing.
    5. Choose one of the two firmwares proposed. I do not know what the difference is.

Installing from a computer running windows

The flash kit needs some work to bring it up to date.

If you want to try see the fourth post on this page

More information

The eMMC partitions

Default config

# Block Device Name Type
2 BCT boot config table
3 PT partition table
4 EBT bootloader
5 mmcblk0p9* SOS Recovery OS kernel (e.g. CWM)
6 mmcblk0p10* LNX Current OS kernel (Android/Ubuntu)
7 BAK data
8 GP1 partition table (instance #1)
9 mmcblk0p1 APP Android apps partition
10 mmcblk0p2 CAC data
11 mmcblk0p3 MSC data
12 mmcblk0p4 USP data
13 mmcblk0p5 PER data
14 mmcblk0p6 YTU data
15 mmcblk0p7 UDA Android User Data partition
16 mmcblk0p8 UBT Ubuntu partition
GPT partition table (instance #2)
  • Only accessible from within blobs.

Compiling the latest kernel

The kernel included with the flashkit is always the latest stable version. To use the latest testing kernel, see this post. Note: the above method is not compatible with uboot.

Credits

Ubuntu flash pack for the ASUS transformer / OLiFE


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

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