Content from 2012-08

Google's Android NDK makes things that used to be a real pain really simple. Building a cross-compiler toolchain for TF700T is as simple as typing:

]==> ./build/tools/            \
         --platform=android-14                             \
         --install-dir=$HOME/Apps/android-toolchain-tf700t \

And then:

]==> cat hello.c
#include <stdio.h>
#include <math.h>

int main( int argc, char **argv )
  printf( "Hello world!\n" );
  printf( "Sin PI/2: %f\n", sin( M_PI/2.0 ) );
  return 0;

]==> arm-linux-androideabi-gcc -march=armv7-a -mfloat-abi=softfp -mfpu=neon -o hello hello.c
]==> adb push hello /data/local
753 KB/s (63720 bytes in 0.082s)
]==> adb shell /data/local/hello
Hello world!
Sin PI/2: 1.000000

Let's see whether I can build zsh. :)

ASUS Transformer Pad Infinity (TF700T) is a really lovely piece of equipment but, from the perspective of a Linux geek, lack of access to certain commandline utilities through a nice-looking and functional terminal emulator seriously limits its usefulness. I want zshell for heaven's sake! :) And ssh, and git, python, midnight commander, imagemagic and others. In order to install and use these comfortably I need root access to the device that I own after all! And I am denied it. O tempora o mores!

There's a certain "workaround" to this problem over at laveraging the fact that the block device holding the system partition is mounted read-only and, despite seeming access protected, is actually writeable. This could potentially enable a dissatisfied owner to use one of e2fsprogs to plant su, with all its sticky bits set right, and finally enjoy his property somewhat more. :) It looks like no Windows installation is actually needed, just functional adb and the binaries.