ROM Android: Porting A80A
Dapatkan /system/build.prop
mkdir backup-A80A cd backup-A80A/ adb devices adb pull /system/build.prop
Hasilnya
# begin build properties # autogenerated by buildinfo.sh ro.build.id=JDQ39 ro.build.display.id=EVERCOSS_V1.0_0601 ro.build.version.incremental=20140108.173524 ro.custom.build.version=1402409603 ro.build.version.sdk=17 ro.build.version.codename=REL ro.build.version.release=4.2.2 ro.build.date=2014年 06月 10日 星期二 22:18:31 CST ro.build.date.utc=1402409911 ro.build.type=user ro.build.user=yangning ro.build.innner.version=SW_W99601A4_V004_M10_EVERCOSS ro.build.host=yubosong-desktop ro.build.tags=test-keys ro.product.model=A80A ro.product.brand=EVERCOSS ro.product.name=a80a ro.product.device=a80a ro.product.board=a80a ro.product.cpu.abi=armeabi-v7a ro.product.cpu.abi2=armeabi ro.product.manufacturer=EVERCOSS ro.product.locale.language=en ro.product.locale.region=US ro.wifi.channels= ro.board.platform= ro.build.hardware.version=P1 ro.build.customer=EVERCOSS # ro.build.product is obsolete; use ro.product.device ro.build.product=a80a # Do not try to parse ro.build.description or .fingerprint ro.build.description=wt99601-user 4.2.2 JDQ39 eng.yangning.1402409603 test-keys ro.build.fingerprint=EVERCOSS/a80a/a80a:4.2.2/JDQ39/20140108.173524:user/test-keys ro.build.flavor= ro.build.characteristics=default # end build properties # begin mediatek build properties ro.mediatek.version.release=SW_W99601A4_V004_M10_EVERCOSS ro.mediatek.platform=MT6592 ro.mediatek.chip_ver=S01 ro.mediatek.version.branch=ALPS.JB9.MP ro.mediatek.version.sdk=1 # end mediatek build properties # # system.prop for generic sdk # rild.libpath=/system/lib/mtk-ril.so rild.libargs=-d /dev/ttyC0 # MTK, Infinity, 20090720 { wifi.interface=wlan0 # MTK, Infinity, 20090720 } # MTK, mtk03034, 20101210 { ro.mediatek.wlan.wsc=1 # MTK, mtk03034 20101210} # MTK, mtk03034, 20110318 { ro.mediatek.wlan.p2p=1 # MTK, mtk03034 20110318} # MTK, mtk03034, 20101213 { mediatek.wlan.ctia=0 # MTK, mtk03034 20101213} # wifi.tethering.interface=ap0 # ro.opengles.version=131072 wifi.direct.interface=p2p0 dalvik.vm.heapgrowthlimit=128m dalvik.vm.heapsize=256m # USB MTP WHQL ro.sys.usb.mtp.whql.enable=0 # Power off opt in IPO sys.ipo.pwrdncap=2 # Switching Menu of Mass storage and MTP ro.sys.usb.storage.type=mtp,mass_storage # USB BICR function ro.sys.usb.bicr=yes # USB Charge only function ro.sys.usb.charging.only=yes # audio ro.camera.sound.forced=0 ro.audio.silent=0 ro.zygote.preload.enable=0 # temporary enables NAV bar (soft keys) qemu.hw.mainkeys=1 ro.ota.xml_url=http://update.archos.com/update_archos_gen8_daos.xml ro.ota.xml_prefix=http://update.archos.com/AFMv1/storage/xml/update_ ro.ota.product_name=a80a ro.ota.product_device=a80a ro.ota.firmware_file_basename=update ro.ota.firmware_file_extension=zip ro.com.google.clientidbase=android-archos ro.operator.optr=CUST # # ADDITIONAL_BUILD_PROPERTIES # persist.gemini.sim_num=2 ro.gemini.smart_sim_switch=false ro.gemini.smart_3g_switch=0 ril.specific.sm_cause=0 bgw.current3gband=0 ro.build.display.wtid=SW_W99601A4_V004_M10_EVERCOSS ril.external.md=0 ro.btstack=blueangel ro.sf.hwrotation=0 ril.current.share_modem=2 launcherplus.allappsgrid=2d launcher2.allappsgrid=3d_20 curlockscreen=1 ro.mediatek.gemini_support=true persist.radio.fd.counter=15 persist.radio.fd.off.counter=5 persist.radio.fd.r8.counter=15 persist.radio.fd.off.r8.counter=5 persist.mtk.wcn.combo.chipid=-1 drm.service.enabled=true fmradio.driver.enable=1 ril.first.md=1 ril.flightmode.poweroffMD=1 ril.telephony.mode=0 dalvik.vm.mtk-stack-trace-file=/data/anr/mtk_traces.txt persist.mtk.anr.mechanism=1 mediatek.wlan.chip=MTK_CONNSYS_MT6592 mediatek.wlan.module.postfix=_mtk_connsys_mt6592 ril.radiooff.poweroffMD=0 ro.config.notification_sound=Proxima.ogg ro.config.alarm_alert=Alarm_Classic.ogg ro.config.ringtone=Backroad.ogg ter.service.enable=0 persist.sys.display.clearMotion=1 persist.clearMotion.fblevel.nrm=255 persist.clearMotion.fblevel.bdr=255 ro.setupwizard.mode=OPTIONAL ro.com.google.gmsversion=4.2_r4 net.bt.name=Android dalvik.vm.stack-trace-file=/data/anr/traces.txt # begin adupsfota properties ro.adups.fota.oem=MTK88_92 ro.adups.fota.device=A80A ro.adups.fota.version=EVERCOSS_V1.0_0601 # begin adupsfota properties
Diperoleh
ro.product.manufacturer=EVERCOSS > vendor evercoss ro.product.device=a80a > codename a80a
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