Mon, 26 Sep 2011
Motorola Atrix: Ubuntu Webtop Construction Kit
I have built a chroot filesystem based on NVIDIA's last Linux for Tegra release. Unfortunately, LfT has two serious incompatibilities with Android: Xorg hangs, and most binaries (including ls and mount) segfault on startup. The former problem is fairly simple to solve - Xorg hangs after submitting a command buffer to the rendering manager, so it looks like the channel mutex system is incompatible between the Android and Xorg libraries. Cribbing the relevant libraries from the original Webtop filesystem fixes that. Crashing binaries is more puzzling. It turns out that recent Android kernels for Tegra (including that used in the CM7 beta) include a hardware bug workaround that needs corresponding workaround in userspace/libc, or else it crashes. This is worked around by downgrading libc to version 2.12.1, which is not affected. The issue is described in more detail here.
This tarball includes a complete root filesystem. It has no dependency on the original webtop files; you can install it to /osh, or to an SD card partition. It's pretty small (under 200MB), and you'll need to set up your own X environment. A 'go' script is included to mount the needful and chroot from an Android root shell. An advantage of the updated Tegra driver is that you no longer need a crufty binary to change res - use xrandr instead. You will need to issue
xrandr --display DSI-1 --offto turn off the overlay on the phone screen when X starts up, though. This is not intended for end users. It is intended to help developers interested in building their own webtop replacements. It does not include the "android-in-window" binaries from the original webtop - all the headers you need are in /usr/include, so feel free to write your own! I'm not liable if it eats your cornflakes or puts gaffer tape on your cat, but here it is:
natty-base.tar.gz - 73MB
Update 26/9/11: I built eglibc 2.13 with
-mtp=softto work around the issue. Binaries here, updated tarball is base+glibc.tar.gz - 73MB.
posted at: 12:14 | path: /linux/atrix | permanent link to this entry