ROM Android: Porting F240K
Dapatkan /system/build.prop
mkdir backup-F240K cd backup-F240K/ adb devices adb pull /system/build.prop
Hasilnya
# begin build properties # autogenerated by buildinfo.sh led=50 fast_charge=0 imei= ro.build.id=JDQ39E ro.build.display.id=cm_geefhd_att_us-eng 4.2.2 JDQ39E eng.root.20140329.160704 test-keys ro.build.version.incremental=4.5.18 ro.build.version.sdk=17 ro.build.version.codename=REL ro.build.version.release=4.2.2 ro.build.date=2014年 03月 29日 星期六 16:08:01 CST ro.build.date.utc=1396080481 ro.build.type=userdebug ro.build.user=root ro.build.host=ws008 ro.build.tags=release-keys ro.product.model=LG-Optimus G Pro ro.product.brand=LGE ro.product.name=cm_geefhd_att_us ro.product.device=geefhd_att_us ro.product.board=geefhd ro.product.cpu.abi=armeabi-v7a ro.product.cpu.abi2=armeabi ro.product.manufacturer=LGE ro.product.locale.language=zh ro.product.locale.region=CN ro.wifi.channels= ro.board.platform=msm8960 # ro.build.product is obsolete; use ro.product.device ro.build.product=geefhd_att_us # Do not try to parse ro.build.description or .fingerprint ro.build.description=occam-user 4.2.2 JDQ39 573038 release-keys ro.build.fingerprint=google/occam/mako:4.2.2/JDQ39/573038:user/release-keys ro.build.characteristics=default ro.cm.device=geefhd_att_us # end build properties # # system.prop for geefhd_hk # rild.libpath=/system/lib/libril-qc-qmi-1.so rild.libargs=-d /dev/smd0 persist.rild.nitz_plmn= persist.rild.nitz_long_ons_0= persist.rild.nitz_long_ons_1= persist.rild.nitz_long_ons_2= persist.rild.nitz_long_ons_3= persist.rild.nitz_short_ons_0= persist.rild.nitz_short_ons_1= persist.rild.nitz_short_ons_2= persist.rild.nitz_short_ons_3= ril.subscription.types=NV,RUIM DEVICE_PROVISIONED=1 ro.hdmi.enable=true lpa.decode=false tunnel.decode=true tunnel.audiovideo.decode=true lpa.use-stagefright=true #system props for the MM modules media.stagefright.enable-player=true media.stagefright.enable-http=true media.stagefright.enable-aac=true media.stagefright.enable-qcp=true media.stagefright.enable-fma2dp=true media.stagefright.enable-scan=true mmp.enable.3g2=true # # Haptic # ro.haptic.vibrate_ex.enabled=0 sys.haptic.long.weak=0,0,1,15,20,0,21 sys.haptic.long.normal=0,0,1,35,20,0,21 sys.haptic.long.strong=0,0,1,80,30,0,21 sys.haptic.down.weak=0,15,5,-5,5 sys.haptic.down.normal=0,30,5,-5,5 sys.haptic.down.strong=0,80,10,-5,5 sys.haptic.up.weak=0,15,5,-5,5 sys.haptic.up.normal=0,0,5,-5,5 sys.haptic.up.strong=0,80,10,-5,5 sys.haptic.tap.weak=0,15,5,-5,5 sys.haptic.tap.normal=0,0,10,-5,5 sys.haptic.tap.strong=0,80,5,-5,5 # # ADDITIONAL_BUILD_PROPERTIES # ro.rommanager.developerid=cyanogenmod keyguard.no_require_sim=true ro.url.legal=http://www.google.com/intl/%s/mobile/android/basic/phone-legal.html ro.url.legal.android_privacy=http://www.google.com/intl/%s/mobile/android/basic/privacy.html ro.com.google.clientidbase=android-google ro.com.android.wifi-watchlist=GoogleGuest ro.setupwizard.enterprise_mode=1 ro.com.android.dateformat=MM-dd-yyyy ro.com.android.dataroaming=true ro.cm.version=10.1-20140329-UNOFFICIAL-geefhd_att_us ro.modversion=10.1-20140329-UNOFFICIAL-geefhd_att_us ro.carrier=unknown ro.opengles.version=131072 ro.sf.lcd_density=480 persist.audio.handset.mic=digital persist.audio.fluence.mode=endfire persist.audio.lowlatency.rec=false af.resampler.quality=255 # System prop to select MPQAudioPlayer by default on mpq8064 mpq.audio.decode=true persist.radio.apm_sim_not_pwdn=1 ro.telephony.call_ring.multiple=0 ro.telephony.ril_class=LgeLteRIL ro.telephony.ril.v3=qcomdsds ro.telephony.slowModem=1 debug.mdpcomp.maxlayer=2 persist.hwc.mdpcomp.enable=true ro.qualcomm.bt.hci_transport=smd drm.service.enabled=true wifi.interface=wlan0 ap.interface=wlan0 media.aac_51_output_enabled=true debug.prerotation.disable=1 debug.egl.recordable.rgba8888=1 dalvik.vm.heapstartsize=16m dalvik.vm.heapgrowthlimit=192m dalvik.vm.heapsize=512m dalvik.vm.heaptargetutilization=0.75 dalvik.vm.heapminfree=2m dalvik.vm.heapmaxfree=8m dalvik.vm.lockprof.threshold=500 telephony.lteOnCdmaDevice=0 telephony.lteOnGsmDevice=1 ro.telephony.default_network=0 ro.ril.def.preferred.network=0 dalvik.vm.dexopt-flags=m=y net.bt.name=Android dalvik.vm.stack-trace-file=/data/anr/traces.txt ro.miui.ui.version.code=3 ro.miui.ui.version.name=V5 ro.config.ringtone=MI.ogg ro.config.notification_sound=FadeIn.ogg ro.config.alarm_alert=GoodMorning.ogg ro.config.sms_received_sound=FadeIn.ogg ro.config.sms_delivered_sound=MessageComplete.ogg #Increase the volume steps in-call ro.config.vc_call_steps=20 wifi.supplicant_scan_interval=60 ro.telephony.call_ring.delay=0 #phone sleeps better pm.sleep_mode=1 ro.product.mod_device=gpro_ws008 ro.skia.use_data_fonts=1
Diperoleh
ro.product.manufacturer=LGE > vendor lge ro.product.name=cm_geefhd_att_us ro.product.device=geefhd_att_us > codename geefhd_att_us (harusnya f240k) ro.product.board=geefhd
Dapatkan boot.img
Dapatkan recovery.img
Teliti Struktur Partisi
cat /proc/partitions
Menggunakan script mkvendor.sh untuk membuat file
Gunakan mkvendor.sh script ada di build/tools/device/ untuk secara automatis membuat directory.
Script mkvendor hanya dapat digunakan untuk device yang menggunakan file standard boot.img , menggunakan standard konvesi dan dan header Android standard. Script ini tidak jalan untuk device yang berbeda dari standard, seperti Nook Color, Touchpad, dll.
Script ini menerima tiga parameter: vendor, codename, dan file boot.img
Contoh penggunaan:
$ ./build/tools/device/mkvendor.sh samsung i9300 ~/Desktop/i9300boot.img
Dalam contoh , samsung menunjukan vendor, i9300 menunjukan codename dan parameter terakhir path ke file boot.img yang di ekstrak dari partisi boot dengan dd atau diberikan oleh vendor dalam file .zip seperti di diskusikan di atas.
Perintah di atas akan membuat folder /device/samsung/i9300/ dalam struktur repo source CyanogenMod. Dalam folder tersebut ada file AndroidBoard.mk, AndroidProducts.mk, BoardConfig.mk, cm.mk, device_[codename].mk, kernel (binary), recovery.fstab, dll
Langkah di atas tidak akan membuat directory kernel/ . Kita perlu melakukannya nanti, saat kita sudah siap untuk membuat kernel.
Jika responds yang diberikan adalah
"unpackbootimg not found. Is your android build environment set up and have the host tools been built?"
pastikan anda menjalankan perintah berikut saat mensetup developer environment:
$ make -j4 otatools