Yes, I’ve joined this century and bought myself a tablet. Lately, I’ve found myself needing some means of navigating in strange areas whilst on the bicycle, and while pieces of paper work — if you’re organised enough to print them out in advance and not ride too fast (otherwise they disappear with the wind), I’ve found there are a number of shortcomings with this.
Since I like open source, and didn’t like the idea of spending several hundred on a hand-held GPS with proprietary firmware & map data which I need to constantly purchase updates for, I opted for the cheapskate route. I picked up a GL4Ever Flytouch III Tablet off eBay. The unit I have came loaded with Android 2.3 (Gingerbread).
Ultimately I may replace the OS, or at least, the kernel, soon as I have sources for it, but in the meantime, it runs what it came with. I have however, already managed to gain root access.
Those who might do a search for how to do so, may come across this guide. I tried this first, and found I had no joy. USB Debugging was enabled out-of-the-box on the unit I have, but z4root did not successfully enable root access. The following are my notes on how I gained a shell with root access on the device. Ohh, and I warn you, there is no warranty given in the instructions below. If it breaks, you get to keep the pieces.
- Download and install Gingerbreak.
- Run Gingerbreak, it will run for a while, before resetting the device. Upon starting, you should now notice you have a Superuser application installed.
- Next, install Android Terminal.
- Now, run /system/bin/su.
/bin/su is a symbolic link to /bin/busybox which was installed without the setuid bit, and is broken anyway, you’ll find if you do add a setuid bit, it will report that it can’t find the ‘root‘ user. This system has no /etc/passwd or equivalent user database, so it has no idea who ‘root‘ is, but it knows who UID 0 is, and that’s what matters. The latter ‘su‘ you’ll find has the necessary permissions, and knows about UID 0.
Other things I’ve found… the operating system lurks on a SD card embedded in the device. Or at least, it’s presented as a SD card; /dev/block/mmcblk0. The user-accessible SD-card port is /dev/block/mmcblk1. You can verify this by ejecting the card, doing a ls /dev/block, then inserting a card and repeating.
On my TODO list, is to make a DD-copy of this block device, and pick through to see how one swaps out the kernel. I’ll post notes if I figure this out. I am also yet to obtain the kernel sources, I’ll chase those up before long.