Why I think Geeksphone Revolution is not a developer friendly phone

In previous post (in Chinese) I said Geeksphone Revolution is not a developer friendly phone, why? Let's take a look at an advertisement on official site:

Well, it looks like this device is really cool and nice, isn't it ? I haved test it's OTA method to install Firefox OS from AOSP in previous post (in Chinese), and it all looks good, what's the problem ? The advertisement say, you can seamlessly switch to Boot2Gecko by Mozilla, or any other community-supported flavor of an OS, but actually geeksphone revolution is not supported by Mozilla officially, you can find this on mozilla-b2g/B2G/config.sh , there's peaks, keon, but no revolution.

At time of writing, the geekphons co-founder said that all FxOs development are finished by Geeksphone, which means you will not receive Firefox OS 2.2 or above update.

I think the reason why revolution can't add into B2G's config.sh is Intel, this device use Intel Atom Z2560 which shipped with PowerVR GPU, a well-known opensource unfriendly GPU manufacture. Though opensource community has been thinking about create opensource driver by reverse engineering, it haven't even made a devent in this job.

Another problem is caused by Intel, let's see what's boot.img provide by Geenkphone Revolution looks like:

coldnew@Rosia ~/Revolution $ hexdump -C boot.img | head -n 10
00000000  24 4f 53 24 00 00 01 bf  01 01 38 00 00 00 00 00  |$OS$......8.....|
00000010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000020  00 00 00 00 01 00 00 00  00 00 10 01 00 10 10 01  |................|
00000030  a4 2f 00 00 00 00 00 00  ff ff ff ff ff ff ff ff  |./..............|
00000040  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
*
000001b0  ff ff ff ff ff ff ff ff  00 00 00 00 00 00 00 00  |................|
000001c0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
000001f0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 55 aa  |..............U.|

mmm… what's problem ? Let's look at Android's boot.img

coldnew@Rosia ~/AOSP $ hexdump -C boot.img | head -n 10
00000000  41 4e 44 52 4f 49 44 21  f8 b3 25 00 00 80 00 10  |ANDROID!..%.....|
00000010  26 86 03 00 00 00 00 11  00 00 00 00 00 00 f0 10  |&...............|
00000020  00 01 00 10 00 08 00 00  00 00 00 00 00 00 00 00  |................|
00000030  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000040  63 6f 6e 73 6f 6c 65 3d  74 74 79 6d 78 63 30 2c  |console=ttymxc0,|
00000050  31 31 35 32 30 30 20 69  6e 69 74 3d 2f 69 6e 69  |115200 init=/ini|
00000060  74 20 76 69 64 65 6f 3d  6d 78 63 66 62 30 3a 64  |t video=mxcfb0:d|
00000070  65 76 3d 6c 64 62 2c 4c  44 42 2d 58 47 41 2c 69  |ev=ldb,LDB-XGA,i|
00000080  66 3d 52 47 42 32 34 2c  62 70 70 3d 31 36 2c 6c  |f=RGB24,bpp=16,l|
00000090  64 62 3d 73 69 6e 30 20  66 62 6d 65 6d 3d 32 38  |db=sin0 fbmem=28|

Do you find what's wrong? The boot.img used in Android is start from ANDROID! , which means the boot.img used in Geeksphone Revolution is a special one, maybe it's signed. We can find some info in LWN.net, let me put it this way, Intel's x86 Android is really care about security, even a boot.img need to be signed, so there's no annoying third party developer will try to hack your device. Oh my god…actually the signed tool will not provide to anyone, we can find this in Intel Developer Zone. Since that, we can see following info in CM11 building tutorial:

Aha! You can build the rootfs, but the boot.img you can't modified by your self. I think it's the main reason why Mozilla can't add this device to their config.sh, you can't modify the Linux Kernel or ramdisk.This is really annoying, take Ubuntu Touch as example, we need to enable LXC relative feature in Linux Kernel so that we can porting this device to Ubuntu Touch.

Besides Linux Kernel, let us see what GPL sources provide by geeksphone, you can find it here, in their post, they said they has repo host on GitHub , let's see what's on GitHub, first you see this

mmm… their contribute frequency is less then myself, ok it dosen't matter, give me source is enough, so I click into the gp-revolution-gecko ……

What the fuck!! first commit!! first commit!!! first commit!!!, geeksphone's developer erase all git commit log, you can merge all your contribure to one patch, but please don't remove other contribute info ….

That's the main reason I say Geeksphone Revolution is not developer friendly, I am still trying to build unofficial port on this device.