Archive for August, 2011

Dual Booting Android 3.2 and Ubuntu 11.04 on an Asus Transformer

August 10, 2011 31 comments

Ubuntu TransformerUPDATE: This post is now out of date. The process has been enhanced and made much, much easier. See new blog post here.

Since purchasing my Asus Transformer tablet, now complete with docking station, I’ve had a hankering to install Linux as a dual boot operating system. This was unlikely to be an easy task, as there weren’t really any builds for Nvidia’s arm based Tegra2 CPU. However, Nvidia has released nvflash and a base kernel build for Linux, so it was just a matter of time until someone worked out how to dual boot this with Android. It has been the people on the XDA Developers website that have really taken up the challenge on this.

I am currently writing this post on my Transformer while booted into Ubuntu 11.04. It does work, although there are a few things not yet entirely up and running.

Before going any further, I need to point out that the steps I will outline below will destroy EVERYTHING currently on your Transformer. It will reformat and repartition your storage. You will have all current data wiped, so back everything up. I should also point out that there is some risk of bricking your lovely, shiny tablet.

At the end of all these steps you will hopefully have a dual boot machine with Ubuntu 11.04, a rooted Android Honeycomb 3.2 running the Prime 1.7 ROM and Clockworkmod (CWM) Recovery installed.

Equipment you will need:

  • Another computer running Linux
  • An SDCard for external/removable storage in the Transformer
  • The Transformer USB charging cable.

The XD Developers forum thread dealing with this topic is already over 21 pages long. I did not follow the instructions exactly as they are printed in the first post, so I will be deep linking directly to various posts in an effort to make things clearer.

Let’s begin….

1. On your Linux machine, download and extract the 900MB+ ubuntu.img rootfs file found towards the bottom of this post.

2. On your Linux machine, download and extract the zip file from this post, containing a flash kit and installation script.

3. From the flash kit just downloaded, you will find a directory called “Bootloaders.” In here are two files – and These two files need to be moved (but not extracted) to the top level directory of the external SDCard you will be putting in your Transformer. If you don’t have a card reader on your Linux machine, it may be easier to download this file a second time on your Transformer and move the files across to the “Removable” SDCard.

4. Copy or move the ubuntu.img from Step 1. into the same directory as the extracted flash kit files from Step 2.

5. Turn off your transformer. Connect the power cable. Connect the USB end of the power cable to your Linux machine.

6. Enter APX mode. To do this, hold down the Volume UP button and the Power button together, for around 10 seconds. The screen will remain black. It will appear that nothing has happened, but don’t worry this is as expected. If something does appear on the screen, you’re doing it wrong.

7. Open a terminal window on your Linux machine and navigate to the folder where the downloaded and extracted nvflash package (from Step 2.) is located. Run the script. You may need superuser permissions to do this. At this point, there should be lots of stuff happening in your terminal window – partitions being created, .img files being copied across. If you look at the screen of your Transformer, there should be some small white text in the top left corner about being in nvflash mode.

Hopefully everything will copy across correctly, and ostensibly Ubuntu is now installed. If you now power off your Transformer, unplug the USB power cable and power back on, it should boot into Ubuntu. However, there are a few more steps worth doing.

8. Power your tablet off again. Now, hold the Volume down button and the power button at the same time. The machine will start to boot, but there will be some small white text in the upper left corner of the screen. When this appears, let go of the two buttons and press the Volume up button. This will now take you into the CWM recovery mode.

9. Navigate through the menus here to install a zip from SDCard. Choose the Android.Zip file and install. Then reboot the Transformer. You will boot into Android.

This is how you dual boot at the moment. Every time you wish to switch operating systems, you will need to go into CWM recovery, and install the alternate zip file. Slightly painful, but the good news is that all data and settings are saved in the actual operating system. All you are really doing each time is installing a new boot sequence.

There are still a few other things worth doing. One of these is installing some additional firmware so that WiFi actually works in Ubuntu. To do this you will need to enter ADB mode.

10. Follow the tutorial on this page, including downloading the Android SDK, and additional Platform Tools file (read the documentation included in the SDK download).

11. Download and extract the flash kit found in this post.

12. Connect your Transformer to your Linux computer again using the USB power cable. Turn the transformer on, allowing it to boot into Ubuntu. Wait at the login prompt.

13. On your Linux computer, you should be in ADB mode. From the regular command prompt run the firmware injector script from the downloaded flash kit in Step 11. If all goes well, and your are successfully in ADB mode, there should be no errors reported by the script while copying the files across.

14. After now booting into Ubuntu and setting up the general parameters, WiFi will need to be configured using WPA Supplicant. Currently Network Manager doesn’t seem to work, so this is the only known way. Follow the instructions here with regards to how to do this. You may need to change eth0 references to wlan0. You could also try the guide here, but there are lot of places online to find WPA Supplicant help.

With luck and a following wind, everything should be working correctly. The experience is a little slow, as hardware acceleration is not yet working. I am thinking of trying Openbox as an alternative window manager to see if that improves things any. Also worth noting is that the docking station trackpad does not work, nor does sound, Bluetooth or HDMI out. The touchscreen works for mouse clicks and scrolling is achieved by moving the application scroll bars (not from anywhere on the screen, like in Android). I am sure these things will be rectified or improved in the coming months, just keep an eye on the XDA Developers thread about this for up to date details.

Good luck!

Special thanks goes to XDA Developers forum members lilstevie, Jhinta and rdnetto for creating the files, scripts and instructions for making this possible.

Setting up a Quantum LTO5 Tape Drive on Debian

August 4, 2011 3 comments

Quantum LTO5 drivesRecently at The Station we’ve decided to enter into digital data backup and archiving. What, you may ask, don’t we do this already? Well, typically in the past at the end of an edit job, the client has been happy to take away, for example, a Digital Betcam or HDCAMSR video tape. However, over the last twelve months, more and more clients are shooting digitally (tapeless) and also asking for digital delivery of final master assets. Therefore, we would like to offer as a service long-term data archiving. Spinning disk is not the best platform for this. Drives can fail, and to set up up a totally secure SAN is an expensive proposition.

Enter the world of data tape. The most recent advance, although at least twelve months old now, is LTO5. This format can store up to 1.5TB of uncompressed data, or 3TB of compressed data on one tape. Single tape, desktop drives are in the region of £2,500 and tapes retail around £60 (I’m sure better prices can be found if one tries). LTO data tape is an excellent, cost-effective medium for long-term archival purposes.

One of the great advantages of LTO5 is that drives can be mounted with LTFS and they simply appear as any other attached storage device. Files can be dragged and dropped to and from the tapes. Transfer rates are allegedly in the region of 140Mbps. We have secured a loan Quantum LTO5 drive from the excellent people at Era UK, via an introduction by our friends at JCA. Of course I was intending to connect this drive to a Linux machine, there was never any question about it. Unfortunately, Quantum only officially supports Red Hat and SuSe (I’m guessing Fedora and CentOS would probably work too), for which they provide compiled binaries. Now, I’m a Debian person and the best available machine had Squeeze installed. You know what’s coming next, and I love a challenge.

Start by downloading the source from Quantum. Unfortunately compiling this source wasn’t as simple as configure, make, make install. After installing the dependencies:

> sudo apt-get install libicu-dev libfuse-dev uuid uuid-dev libxml++2.6-2 libxml++2.6-dev

./configure worked without a problem. However, make was failing with the following error:

sudo make
make all-recursive
make[1]: Entering directory `/home/station/Downloads/qtmltfs-1.2.0′
Making all in messages
make[2]: Entering directory `/home/station/Downloads/qtmltfs-1.2.0/messages’
genrb number of files: 3
sh: ./icu-config: not found
pkgdata: icu-config: Could not read from icu-config. (fix PATH or use -O option)
required parameter is missing: -O is required for static and shared builds.
Run ‘pkgdata –help’ for help.
make[2]: *** [bin_mkltfs_dat.o] Error 1
make[2]: Leaving directory `/home/station/Downloads/qtmltfs-1.2.0/messages’
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/station/Downloads/qtmltfs-1.2.0′
make: *** [all] Error 2

Not really knowing how to solve this initially, I decided to see what would happen if I compiled these sources on my little Ubuntu 10.04 NBR netbook. Of course, the sources compiled without error, but a netbook is not really the device I wish to connect an LTO5 drive to. So, it seemed like there was some sort of Debian Squeeze related package error.

I’m not ashamed to say that I posted to and a user by the name of knudfl came up with the solution. Behold, the power of the Internet. After removing the development files for libicu44, and installing the relevant counterparts from libicu42, following the suggested directions, I was able to finish compiling the driver. Great, here we go…..

Not so fast. The next step is to format a tape. The supplied documentation from Quantum suggests the following:

> mkltfs -d /dev/st0

This returned the following error:

> Error remapping st device /dev/st0 to sg : Unable to open /proc/scsi/sg/devices

More investigation finds that /proc/scsi is a legacy way of dealing with scsi devices, and in the Debian kernel this has been disabled. The good news is that, there is an option within menuconfig to turn this on, but it does mean compiling your own kernel. A new challenge for me as I’d never needed to do this before.

More help from the Interwebs, and using a very helpful tutorial page, I was able to build my own custom Linux kernel (2.6.39 if you’re interested). It wasn’t hard at all.

Booting into this kernel and everything seems to work fine. The final problem is:

LTFS20062E Unsupported cartridge type (LTO3RW)
LTFS11299E Cannot format: unsupported medium

I guess LTO3 tapes don’t work in LTO5 drives.

In summary, to setup a Quantum LTO5 tape drive on Debian Squeeze, the following steps are necessary:

1. Download the sources from Quantum.

2. Install the necessary dependencies, including libicu42-dev files (follow the steps here).

3. Configure, make and make install the source

4. Compile your own kernel,  with legacy scsi support by selecting that option in menuconfig (follow the tutorial here).

5. Buy LTO5 tapes and format them.

6. Mount the LTO5 drive.

Simple really.


Get every new post delivered to your Inbox.