LWN.net Logo

Toward a freer Android

Toward a freer Android

Posted Oct 6, 2009 21:30 UTC (Tue) by job (guest, #670)
Parent article: Toward a freer Android

The Cyangogen build system apparently works. Couldn't you just rip out the proprietary parts? And why is ADP1 the target platform? Cyanogen is used on contemporary phones such as HTC Hero and Magic (apparently it has a flexible bootloader so you don't risk bricking your phone) so it should be all you need.


(Log in to post comments)

Toward a freer Android

Posted Oct 9, 2009 21:57 UTC (Fri) by GNUtoo (guest, #61279) [Link]

>Couldn't you just rip out the proprietary parts
That's what I started to do(in collaboration with other people) with the replicant( http://trac.osuosl.org/trac/replicant/wiki ) project.
Basically we've achieved :
*calls(make/receive),sms(send/receive)
*sound(including routing)
What was already working:
*wifi(uses a proprietary firmware)
*bluetooth
*touchscreen(touch+screen)
*keyboard
*vibrations
What is not working:
*GPS
*camera
*3D
*compass
What is buggy:
*I didn't have time yet to look at why the US phones don't work...(CME error 100 => unknown error,may need to do everything manually with AT commands to see where the error is)
*routing don't work for calls(you can make or receive a call only with the handset mode(that is to say no earphones))

we can have 100% FLOSS builds that don't run any proprietary code on the main CPU.
The proprietary code that I didn't use is in a file called extract-files.sh:
#!/bin/sh

mkdir -p proprietary

adb pull /system/bin/akmd proprietary/akmd

adb pull /system/etc/AudioFilter.csv proprietary/AudioFilter.csv
adb pull /system/etc/AudioPara4.csv proprietary/AudioPara4.csv
adb pull /system/etc/AudioPreProcess.csv proprietary/AudioPreProcess.csv
adb pull /system/etc/firmware/brf6300.bin proprietary/brf6300.bin
adb pull /system/etc/gps.conf proprietary/gps.conf
adb pull /system/etc/wifi/Fw1251r1c.bin proprietary/Fw1251r1c.bin
adb pull /system/etc/wifi/tiwlan.ini proprietary/tiwlan.ini

adb pull /system/lib/libaudioeq.so proprietary/libaudioeq.so
adb pull /system/lib/libgps.so proprietary/libgps.so
adb pull /system/lib/libhgl.so proprietary/libhgl.so
adb pull /system/lib/libhtc_acoustic.so proprietary/libhtc_acoustic.so
adb pull /system/lib/libhtc_ril.so proprietary/libhtc_ril.so
adb pull /system/lib/libjni_pinyinime.so proprietary/libjni_pinyinime.so
adb pull /system/lib/libmm-adspsvc.so proprietary/libmm-adspsvc.so
adb pull /system/lib/libOmxCore.so proprietary/libOmxCore.so
adb pull /system/lib/libOmxH264Dec.so proprietary/libOmxH264Dec.so
adb pull /system/lib/libOmxMpeg4Dec.so proprietary/libOmxMpeg4Dec.so
adb pull /system/lib/libOmxVidEnc.so proprietary/libOmxVidEnc.so
adb pull /system/lib/libopencorehw.so proprietary/libopencorehw.so
adb pull /system/lib/libpvasf.so proprietary/libpvasf.so
adb pull /system/lib/libpvasfreg.so proprietary/libpvasfreg.so
adb pull /system/lib/libqcamera.so proprietary/libqcamera.so
adb pull /system/lib/libspeech.so proprietary/libspeech.so

adb pull /system/lib/hw/lights.goldfish.so proprietary/lights.goldfish.so
adb pull /system/lib/hw/lights.msm7k.so proprietary/lights.msm7k.so
adb pull /system/lib/hw/sensors.trout.so proprietary/sensors.trout.so

chmod 755 proprietary/akmd

there are some stuff including the RIL(see here: http://www.kandroid.org/android_pdk/telephony.html for more details),the libgps,an audio library etc...

I would have liked some help on the android side because I'm now trying to have a standard GNU/Linux system on my htcdream so I've no more time with android.
The 2 priorities were call routing and US phones like the ADP(basically it was tested on some European stock phones and the reference ril worked...but it didn't work on 2 ADP us phones),I bet that is the reason why the others members of the project are making a transition build that include proprietary components(they didn't have time or knowledge to debug the ril)

About the applications: we have no market yet but we can install FLOSS applications with adb(like the k9 mail client for instance)

BTW: we have code at gitorious(was faster to setup) (http://gitorious.org/replicant)

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds