Monday, May 17, 2010

LG GW620 - Compiling the system

  1. Get the mango.cupcake branch from codeaurora:
    repo init -u git://codeaurora.org/platform/manifest.git -b mango.cupcake

  2. Extract the LG-Source and copy it into that directory you just checked out.

  3. I have replaced msm7201a-perf_defconfig by eve_defconfig in vendor/qcom/msm7201a_surf/AndroidBoard.mk


  4. We have to fix some include paths and change vendor/lge/hardware/wifi/dhd/Android.mk and vendor/lge/hardware/wifi/wl/Android.mkby adding $(LOCAL_PATH)/../../../../../kernel/include to LOCAL_C_INCLUDES.


  5. And I needed to comment out line 845 of file vendor/lge/hardware/sensors/sensors_ak8973.c, which read
    sSensors[ID_P].proximity.distance = event.value;


  6. In the file vendor/qcom/msm7201a_surf/boot/eve/Android.mk, comment out the last line wich reads
    include $(BUILD_RAW_STATIC_LIBRARY).
    This keeps libboot_board_surf from building.


  7. In the file bootable/bootloader/legacy/nandwrite/Android.mk and bootable/bootloader/legacy/usbloader/Android.mk comment out the line
    include $(BUILD_RAW_EXECUTABLE)
    because those two depend on libboot_board_surf. I'm not quite sure what they do.


  8. In the file vendor/qcom/msm7201a_surf/boot/tools/Android.mk, comment out the two lines that say
    include $(BUILD_SYSTEM)/base_rules.mk
    That change keeps appsboot.mbn and appsboothd.mbn from building, which depend on usbloader.
  9. [Skip this step for now] Copy qcom propertiary libraries, by mkdir -p out/target/product/msm7201a_surf/obj/lib and then copy libloc_api.so, libdiag.so, libOmxCore.so, libmmcamera.so, libcamera.so from a stock image into that directory.





For building, updating or rebuilding, always use the next three commands (they set up the environment) (the last command is one line)

  • . build/envsetup.sh
  • choosecombo 1 1 msm7201a_surf eng
  • LGE_MODEL=eve make -j3 BOARD_HAVE_BLUETOOTH=true BRCM_BT_USE_BTL_IF=true WPA_BUILD_SUPPLICANT=true


Be aware, that there are many files missing or changed from the full image that comes installed to you phone. Especially init scripts, configuration files and propertiary binaries as for the radio ship must be copied over to out/target/product/msm7201a_surf/system and the system.img regenerated. I'm also not sure, how much you can trust the boot.img as the bootloader was not compiled. (but I think its not in boot.img).


I could not test the images created herefrom, because my GW620 got a hardware error berfore and I had to send it to support. Missing files under system/ are:
system/usr/keylayout/eve_qwerty.kl
system/usr/keychars/eve_qwerty.kcm.bin
system/fonts/SJSans-Bold.ttf
system/fonts/SJGothicFull.ttf
system/fonts/SJSans.ttf
system/sounds/lgeAT/1kHz_0dB_L128k.mp3
system/sounds/lgeAT/NoSignal_LR_128k.mp3
system/sounds/lgeAT/MultiSine_20-20kHz-0dBp_128k.mp3
system/sounds/lgeAT/1kHz_0dB_R_128k.mp3
system/sounds/lgeAT/PowerOn.mp3
system/sounds/lgeAT/Startup.wav
system/sounds/lgeAT/1kHz_0dB_LR_128k.mp3
system/sounds/Aging.mp3
system/xbin/btlifc
system/framework/com.google.android.maps.jar
system/framework/lge-res.apk
system/framework/com.android.syncml.shared.jar
system/framework/com.google.android.gtalkservice.jar
system/app/SimChecker.apk
system/app/GoogleSettingsProvider.apk
system/app/ArcVideoEditor.apk
system/app/Memo.apk
system/app/Email.apk
system/app/DivxRegistration.apk
system/app/ArcMMP.apk
system/app/WapService.apk
system/app/Quickoffice.apk
system/app/lgecamera.apk
system/app/MediaUploader.apk
system/app/GmailProvider.apk
system/app/NetworkLocation.apk
system/app/DrmDataMngr.apk
system/app/LGSystemProvider.apk
system/app/XIM.apk
system/app/ChargingTest.apk
system/app/checkin.apk
system/app/SyncMLProvider.apk
system/app/ExternalMemoryTest.apk
system/app/Homecube.apk
system/app/Street.apk
system/app/Homeselector.apk
system/app/ApiDemos.apk
system/app/Gmail.apk
system/app/gtalkservice.apk
system/app/ArcMediaGallery.apk
system/app/Linkbook.apk
system/app/DrmService.apk
system/app/SetupWizard.apk
system/app/orangephorowidget.apk
system/app/Calculator.apk
system/app/RingsExtended.apk
system/app/GooglePartnerSetup.apk
system/app/Talk.apk
system/app/YouTube.apk
system/app/PowerOff.apk
system/app/GoogleApps.apk
system/app/ELTTest.apk
system/app/ArcWorkshop.apk
system/app/Maps.apk
system/app/FavoriteContacts.apk
system/app/My_e-mail_Android.apk
system/app/LGSetupWizard.apk
system/app/Vending.apk
system/app/LgeFmRadio.apk
system/app/HiddenMenu.apk
system/media/audio/ringtones/WhistlingWizard.mp3
system/media/audio/ringtones/Airport.mp3
system/media/audio/ringtones/ThisTime.mp3
system/media/audio/ringtones/Crystal.mp3
system/media/audio/ringtones/CallingTrip.mp3
system/media/audio/notifications/F1_New_Call.ogg
system/media/lgdrm/developcert.cer
system/media/lgdrm/DRMCERTTYPE.TXT
system/etc/wl/nvram.txt
system/etc/omadm/omadmclient_v12.xml
system/etc/gps.conf
system/etc/flex/settings.db
system/etc/flex/flex.xml
system/etc/flex/NOTICE.html.gz
system/etc/LGE_favorites-400x240.xml
system/etc/favorites-400x240.xml
system/etc/favorites-320x240.xml
system/etc/email/hiddenesp.db
system/etc/favorites.xml
system/etc/permissions/com.android.syncml.shared.xml
system/etc/permissions/com.google.android.gtalkservice.xml
system/etc/permissions/com.google.android.maps.xml
system/lib/libmm-omxcore.so
system/lib/libWnnJpnDic.so
system/lib/libdsm.so
system/lib/libpdapi.so
system/lib/libgstk_exp.so
system/lib/libvdmengine.so
system/lib/libAMVideoDecoder.so
system/lib/libmmcamera.so
system/lib/libOmxMpeg4Dec.so
system/lib/libOmxH264Dec.so
system/lib/libbcmwl.so
system/lib/libOmxCore.so
system/lib/libcamera.so
system/lib/libautohan_jni.so
system/lib/libcm.so
system/lib/libcommondefs.so
system/lib/liblgerft.so
system/lib/libspeech.so
system/lib/libamcm.so
system/lib/hw/lights.eve.so
system/lib/hw/copybit.eve.so
system/lib/hw/lights.goldfish.so
system/lib/modules/wireless.ko
system/lib/libvdmfumo.so
system/lib/libwmsts.so
system/lib/libmm-qcamera-tgt.so
system/lib/libwbxml_syncml.so
system/lib/libAMMediaFileSplitter.so
system/lib/libpdsm_atl.so
system/lib/liblgdrm.so
system/lib/libwmdrmpd.so
system/lib/libarcplatform.so
system/lib/libwbxml_syncml_jni.so
system/lib/libwms.so
system/lib/liboem_rapi.so
system/lib/libmvs.so
system/lib/libsnd.so
system/lib/liboncrpc.so
system/lib/libril-qc-1.so
system/lib/libWnnEngDic.so
system/lib/libril_log.so
system/lib/libDioHWR.so
system/lib/libmmgsdilib.so
system/lib/libqueue.so
system/lib/libqmi.so
system/lib/libmmjpeg.so
system/lib/liblgeat.so
system/lib/libxt9_jni.so
system/lib/libnv.so
system/lib/libwnndict.so
system/lib/libuim.so
system/lib/libfotajni.so
system/lib/libping_mdm.so
system/lib/libhgl.so
system/lib/libunishape.so
system/lib/libgsdi_exp.so
system/lib/libmm-adspsvc.so
system/lib/libgps.so
system/lib/libdss.so
system/lib/libdiag.so
system/lib/libampostprocess.so
system/lib/libloc_api.so
system/lib/libOmxVidEnc.so
system/lib/libjbedvm.so
system/3rd_party/ArcSoft/*
system/bin/qemu-props
system/bin/set_grp_id
system/bin/eta
system/bin/rft.sh
system/bin/rft
system/bin/AT
system/bin/su
system/bin/mm-jpeg-enc-test
system/bin/fsck_msdos
system/bin/mm-vdec-omxh264-test
system/bin/mm-qcamera-test
system/bin/lgesystemd
system/bin/test_diag
system/bin/port-bridge
system/bin/qmuxd
system/bin/btld
system/bin/mm-venc-omx-test
system/bin/hci_qcomm_init
system/bin/mm-jpeg-dec-test
system/bin/brcm_chg_bd_addr
system/bin/loc_api_app
system/bin/diag_klog
system/bin/akmd2
system/bin/brcm_dutMode
system/bin/mm-vdec-omxmp4-test
system/bin/mm-adspsvc-test
system/bin/BCM4325D0_004.001.007.0168.0169.hcd

4 comments:

  1. wow! great!
    ich libie dich!

    ReplyDelete
  2. Nice work Polytheus!
    I'm looking forward to trying this when the 1.6 source code is available - hopefully it'll let us make a 2.1 image without too much pain.
    Cheers!

    ReplyDelete
  3. If you upload your images I will test it out for you.

    ReplyDelete
  4. Hello man,
    I'm a french user of LG GW620 EVE phone and also member of a forum following your work on this phone (http://www.sosandroid.fr/forumAndroid/topic536.html).
    We all thank you for your work, and appreciate it.
    But, there's a few little bugs not yet fixed...
    The reason of this comment is: we hope this project is still in progress, and soon the firmware will be done with: camera working on 5mpx; video recording; wi-fi 3g sharing... and perhaps others....
    Finaly, we just want to know if you let down this project; no time for the moment; compiling gingerbread on GW620 ;) we hope so ^^
    Waiting for news, even if negative. You're at least, our only one hope. (sorry for my "franglish")
    cordially
    M@G!C

    ReplyDelete