ROM Android: Download source code cyanogenmod: Difference between revisions

From OnnoCenterWiki
Jump to navigationJump to search
Onnowpurbo (talk | contribs)
No edit summary
Onnowpurbo (talk | contribs)
No edit summary
 
(15 intermediate revisions by the same user not shown)
Line 1: Line 1:
==Spesifikasi Hardware==
Agar aman pada saat compile android,
* CPU - bisa kelas-kelas atom, tapi akan butuh 1 harian (24 jam) utk compile.
* Memory - sebesar mungkin
* Swap - akan butuh sekitar 4Gbyte, untuk RAM 2GByte.
==Persiapan==
==Persiapan==


Line 5: Line 15:
  sudo apt-get purge openjdk*
  sudo apt-get purge openjdk*


Install oracle java6
Update repo


  sudo add-apt-repository ppa:webupd8team/java
  sudo su
sudo apt-get update
echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | tee /etc/apt/sources.list.d/webupd8team-java.list
  sudo apt-get install oracle-java7-installer
echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | tee -a /etc/apt/sources.list.d/webupd8team-java.list
  y
  apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886
  apt-get update


Install ia32(?)  
Instalasi oracle java7 (jangan menggunakan java8)
Tampaknya ini tidak di perlukan & hanya dibutuhkan di Ubuntu Mint


  sudo dpkg --add-architecture i386
  apt-get remove --purge oracle-java8*
  sudo apt-get update
  apt-get remove --purge oracle-java6*
sudo apt-get install ia32-libs
  apt-get install oracle-java7-installer
  sudo apt-get install ia32-libs
y




Download & Extract
Jika menggunakan java8 akan keluar error


  mkdir -p ~/android
  ************************************************************
  wget http://dl.google.com/android/adt/adt-bundle-linux-x86_64-20130729.zip
You are attempting to build with an unsupported version
  wget http://dl.google.com/android/adt/22.6.2/adt-bundle-linux-x86_64-20140321.zip
of java.
  wget http://enos.itcollege.ee/~jpoial/allalaadimised/AndroidSDK/adt-bundle-linux-x86_64-20140702.zip
 
 
  Your version is: java version "1.8.0_31".
Extrak di
  The correct version is: Java SE 1.6 or 1.7.
 
 
  cp adt-bundle-linux-x86_64-20140702.zip ~
  Please follow the machine setup instructions at
cd ~
    https://source.android.com/source/download.html
rm -Rf ~/android/*
  ************************************************************
unzip adt-bundle-linux-x86_64-20140702.zip
mv adt-bundle-linux-x86_64-20140702/* ~/android
cd ~/android/sdk/tools/
./android sdk


Instalasi aplikasi pendukung
Instalasi aplikasi pendukung
Line 48: Line 52:
  y
  y


  sudo apt-get install android-tools-adb
  sudo apt-get install android-tools-adb android-tools-fastboot python-lunch
sudo apt-get install android-tools-fastboot
sudo apt-get install python-lunch


Siapkan perintah repo
Siapkan perintah repo
Line 73: Line 75:


==Siapkan Folder Source==
==Siapkan Folder Source==
Buang manifests
cd ~/android-cyanogenmod/.repo
rm -Rf manifests


repo sync ke folder source
repo sync ke folder source
Line 144: Line 151:
versi e980 bisa untuk LG F240K tapi suara tidak keluar.
versi e980 bisa untuk LG F240K tapi suara tidak keluar.
Versi LG F240K yang tidak pernah di release ke publik.
Versi LG F240K yang tidak pernah di release ke publik.
==LG Optimus G Pro F240K / geefhd==
cd ~/android-cyanogenmod
~/android-cyanogenmod/vendor/cm/get-prebuilts
cd ~/android-cyanogenmod
. build/envsetup.sh
lunch geefhd
lunch f240k


===LG Optimus L7===
===LG Optimus L7===
Line 172: Line 188:
===LG Optimus G Pro===
===LG Optimus G Pro===


unzipping target target-files...
  running:  unzip -o -q /home/onno/android-cyanogenmod/out/target/product/e980/obj/PACKAGING/target_files_intermediates/cm_e980-target_files-9c81b5d85f.zip -d /tmp/targetfiles-qs2iRf
--- target info ---
blocksize                = (int) 131072
boot_size                = (int) 23068672
build.prop                = (dict) {'ro.setupwizard.enterprise_mode': '1', 'ro.url.legal': 'http://www.google.com/intl/%s/mobile/android/basic/phone-legal.html', 'ro.build.product': 'e980', 'wifi.supplicant_scan_interval': '15', 'ro.build.id': 'JLS36I', 'ro.hwui.gradient_cache_size': '1', 'ro.build.version.sdk': '18', 'ro.telephony.ril.v3': 'qcomdsds', 'ro.qc.sensors.wl_dis': 'true', 'dalvik.vm.heapmaxfree': '8m', 'ro.build.fingerprint': 'lge/geefhd_open_eu/geefhd:4.1.2/JZO54K/E98610b.1373081564:user/release-keys', 'ro.product.manufacturer': 'LGE', 'ro.hwui.layer_cache_size': '32', 'ro.build.description': 'geefhd_open_eu-user 4.1.2 JZO54K E98610b.1373081564 release-keys', 'dalvik.vm.heapstartsize': '16m', 'ro.product.brand': 'lge', 'wifi.interface': 'wlan0', 'ro.product.model': 'LG-E980', 'af.resampler.quality': '4', 'dalvik.vm.heapsize': '512m', 'persist.audio.fluence.voicecall': 'true', 'persist.audio.fluence.mode': 'endfire', 'dalvik.vm.heaptargetutilization': '0.75', 'ro.build.host': 'android-asus', 'ro.com.android.dataroaming': 'false', 'dalvik.vm.heapminfree': '2m', 'ro.board.platform': 'msm8960', 'drm.service.enabled': 'true', 'ro.bt.bdaddr_path': '/data/misc/bdaddr', 'ro.build.version.release': '4.3.1', 'ro.build.version.codename': 'REL', 'net.bt.name': 'Android', 'ro.build.type': 'userdebug', 'ro.hwui.text_large_cache_width': '2048', 'ro.config.alarm_alert': 'Hassium.ogg', 'ro.opengles.version': '196608', 'ro.cmlegal.url': 'http://www.cyanogenmod.org/docs/privacy', 'ro.hwui.text_small_cache_height': '1024', 'ro.build.display.id': 'cm_e980-userdebug 4.3.1 JLS36I 9c81b5d85f test-keys', 'ro.rommanager.developerid': 'cyanogenmod', 'ro.config.ringtone': 'Orion.ogg', 'dalvik.vm.dexopt-flags': 'm=y', 'dalvik.vm.stack-trace-file': '/data/anr/traces.txt', 'ro.carrier': 'unknown', 'ro.product.board': 'geefhd', 'ro.com.google.clientidbase': 'android-google', 'ro.build.date': 'Kam Mar 20 13:48:36 WIT 2014', 'ro.build.date.utc': '1395298116', 'keyguard.no_require_sim': 'true', 'persist.audio.dualmic.config': 'endfire', 'dalvik.vm.lockprof.threshold': '500', 'ro.build.selinux': '1', 'persist.sys.root_access': '1', 'ro.hwui.text_small_cache_width': '1024', 'ro.product.cpu.abi': 'armeabi-v7a', 'debug.egl.recordable.rgba8888': '1', 'ro.cm.version': '10.2-20140320-UNOFFICIAL-e980', 'persist.audio.handset.mic.type': 'digital', 'ro.url.legal.android_privacy': 'http://www.google.com/intl/%s/mobile/android/basic/privacy.html', 'ro.product.name': 'geefhd_open_eu', 'ro.hwui.drop_shadow_cache_size': '5', 'ro.telephony.call_ring.multiple': '0', 'ro.wifi.channels': '', 'ro.hwui.r_buffer_cache_size': '4', 'ro.modversion': '10.2-20140320-UNOFFICIAL-e980', 'telephony.lteOnGsmDevice': '1', 'ro.build.characteristics': 'default', 'ro.telephony.default_network': '9', 'persist.hwc.mdpcomp.enable': 'true', 'ro.build.version.incremental': '9c81b5d85f', 'ro.hwui.text_large_cache_height': '1024', 'ro.build.tags': 'test-keys', 'ro.sf.lcd_density': '480', 'ro.com.android.dateformat': 'MM-dd-yyyy', 'persist.audio.lowlatency.rec': 'false', 'persist.audio.handset.mic': 'dmic', 'ro.product.cpu.abi2': 'armeabi', 'ro.build.user': 'onno', 'ro.product.locale.language': 'en', 'ro.hwui.path_cache_size': '24', 'ro.product.device': 'e980', 'ro.hwui.texture_cache_flushrate': '0.5', 'ro.product.locale.region': 'US', 'ro.hwui.texture_cache_size': '48', 'ro.cm.device': 'e980', 'ro.qualcomm.sensors.smd': 'true', 'ro.com.android.wifi-watchlist': 'GoogleGuest', 'persist.radio.apm_sim_not_pwdn': '1', 'dalvik.vm.heapgrowthlimit': '192m', 'ro.telephony.ril_class': 'LgeLteRIL', 'ro.config.notification_sound': 'Argon.ogg', 'media.aac_51_output_enabled': 'true'}
  default_system_dev_certificate = (str) build/target/product/security/testkey
  default_system_dev_certificate = (str) build/target/product/security/testkey
  extfs_sparse_flag        = (str) -s
  extfs_sparse_flag        = (str) -s
  extra_recovery_keys      = (str)  build/target/product/security/cm
  extra_recovery_keys      = (str)  build/target/product/security/cm build/target/product/security/cm-devkey build/target/product/security/bacon
  fs_type                  = (str) ext4
  fs_type                  = (str) ext4
  fstab                    = (dict) {'/sns': <common.Partition object at 0x2cca510>, '/cache': <common.Partition object at 0x2cca410>, '/boot':  <common.Partition object at 0x2cca290>, '/system': <common.Partition object at 0x2cca310>, '/persist': <common.Partition object at 0x2cca490>, '/recovery': <common.Partition object at 0x2cca2d0>, '/firmware': <common.Partition object at 0x2cca4d0>, '/data': <common.Partition object at 0x2cca450>, '/factory': <common.Partition object at 0x2cca550>}
  fstab                    = (dict) {'/sns': <common.Partition object at 0x2b27f7331410>, '/cache': <common.Partition object at 0x2b27f73311d0>, '/boot':  <common.Partition object at 0x2b27f7331110>, '/system': <common.Partition object at 0x2b27f7331190>, '/persist': <common.Partition object at 0x2b27f7331250>, '/recovery': <common.Partition object at 0x2b27f7331150>, '/firmware': <common.Partition object at 0x2b27f73313d0>, '/data': <common.Partition object at 0x2b27f7331210>, '/factory': <common.Partition object at 0x2b27f7331450>}
  fstab_version            = (int) 2
  fstab_version            = (int) 2
  mkbootimg_args            = (str) --ramdisk_offset 0x02000000
  mkbootimg_args            = (str) --ramdisk_offset 0x02000000
multistage_support        = (str) 1
ota_script_path          = (str) ./build/tools/releasetools/ota_from_target_files
override_device          = (str) e986,e980,geefhd,e988,gkatt
  recovery_api_version      = (int) 2
  recovery_api_version      = (int) 2
  recovery_size            = (int) 23068672
  recovery_size            = (int) 23068672
  selinux_fc                = (str) /tmp/targetfiles-qs2iRf/BOOT/RAMDISK/file_contexts
  selinux_fc                = (str) /tmp/targetfiles-IO7Hw7/BOOT/RAMDISK/file_contexts
  system_size              = (int) 880803840
  system_size              = (int) 880803840
  tool_extensions          = (str) device/lge/gproj-common/loki
  tool_extensions          = (str) device/lge/gproj-common/loki
update_rename_support    = (str) 1
use_set_metadata          = (str) 1
  userdata_size            = (int) 6189744128
  userdata_size            = (int) 6189744128
  using device-specific extensions in device/lge/gproj-common/loki
  using device-specific extensions in device/lge/gproj-common/loki
building image from target_files RECOVERY...
  running:  mkbootfs -f /tmp/targetfiles-IO7Hw7/META/recovery_filesystem_config.txt /tmp/targetfiles-IO7Hw7/RECOVERY/RAMDISK
  running:  minigzip
  running:  mkbootimg --kernel /tmp/targetfiles-IO7Hw7/RECOVERY/kernel --cmdline vmalloc=600M console=ttyHSL0,115200,n8 lpj=67677 user_debug=31  msm_rtb.filter=0x0 ehci-hcd.park=3 coresight-etm.boot_enable=0 androidboot.hardware=geefhd --base 0x80200000 --pagesize 2048 --ramdisk_offset 0x02000000 --ramdisk /tmp/tmpqXHTEZ --output /tmp/tmpnusL9e
  building image from target_files BOOT...
  building image from target_files BOOT...
   running:  mkbootfs -f /tmp/targetfiles-qs2iRf/META/boot_filesystem_config.txt /tmp/targetfiles-qs2iRf/BOOT/RAMDISK
   running:  mkbootfs -f /tmp/targetfiles-IO7Hw7/META/boot_filesystem_config.txt /tmp/targetfiles-IO7Hw7/BOOT/RAMDISK
   running:  minigzip
   running:  minigzip
   running:  mkbootimg --kernel /tmp/targetfiles-qs2iRf/BOOT/kernel --cmdline vmalloc=600M console=ttyHSL0,115200,n8 lpj=67677 user_debug=31 msm_rtb.filter=0x0 ehci-hcd.park=3 coresight-etm.boot_enable=0 androidboot.hardware=geefhd --base 0x80200000 --pagesize 2048 --ramdisk_offset 0x02000000 --ramdisk /tmp/tmpHDe1K1 --output /tmp/tmphsLWVh
   running:  mkbootimg --kernel /tmp/targetfiles-IO7Hw7/BOOT/kernel --cmdline vmalloc=600M console=ttyHSL0,115200,n8 lpj=67677 user_debug=31 msm_rtb.filter=0x0 ehci-hcd.park=3 coresight-etm.boot_enable=0 androidboot.hardware=geefhd --base 0x80200000 --pagesize 2048 --ramdisk_offset 0x02000000 --ramdisk /tmp/tmp9ZDVPb --output /tmp/tmpacEsTQ
     boot size (6842368) is 29.66% of limit (23068672)
  running:  imgdiff -b /tmp/targetfiles-IO7Hw7/SYSTEM/etc/recovery-resource.dat /tmp/tmpEtQIYY /tmp/tmpOr0Lkg /tmp/tmpLlEOux
     boot size (6991872) is 30.31% of limit (23068672)
   running:  openssl pkcs8 -in build/target/product/security/testkey.pk8 -inform DER -nocrypt
   running:  openssl pkcs8 -in build/target/product/security/testkey.pk8 -inform DER -nocrypt
   running:  java -Xmx2048m -jar /home/onno/android-cyanogenmod/out/host/linux-x86/framework/signapk.jar -w build/target/product/security/testkey.x509.pem build/target/product/security/testkey.pk8 /tmp/tmpl3eXiQ /home/onno/android-cyanogenmod/out/target/product/e980/cm_e980-ota-9c81b5d85f.zip
   running:  java -Xmx2048m -jar /home/onno/android-cyanogenmod/out/host/linux-x86/framework/signapk.jar -w build/target/product/security/testkey.x509.pem build/target/product/security/testkey.pk8 /tmp/tmpaMp5Dk /home/onno/android-cyanogenmod/out/target/product/e980/cm_e980-ota-07b5c31ed7.zip
  done.
  done.
  Package Complete: /home/onno/android-cyanogenmod/out/target/product/e980/cm-10.2-20140320-UNOFFICIAL-e980.zip
  Package Complete: /home/onno/android-cyanogenmod/out/target/product/e980/cm-11-20150106-UNOFFICIAL-e980.zip


==Referensi==
==Referensi==
Line 214: Line 234:
* [[Pemrogramman Android]]
* [[Pemrogramman Android]]
* [[OS: Android - Mempersiapkan Development Environment]]
* [[OS: Android - Mempersiapkan Development Environment]]
* [[OS: Android - Memeriksa Spesifikasi Handphone yang dig
* [[OS: Android - Memeriksa Spesifikasi Handphone yang digunakan]]
* [[OS: Android - Membuat Mirror Source]]
* [[OS: Android - Download]]
* [[OS: Android - Membuat Folder untuk Bekerja]]
* [[OS: Android - Mirror Source]]
* [[OS: Android - Mirror Source AOKP]]
* [[OS: Android - Mirror Source CyanogenMod]]
* [[OS: Android - Build]]
* [[OS: Android - Build CyanogenMod]]
* [[OS: Android - Build AOSP]]

Latest revision as of 13:20, 2 February 2015

Spesifikasi Hardware

Agar aman pada saat compile android,

  • CPU - bisa kelas-kelas atom, tapi akan butuh 1 harian (24 jam) utk compile.
  • Memory - sebesar mungkin
  • Swap - akan butuh sekitar 4Gbyte, untuk RAM 2GByte.


Persiapan

Buang openjdk

sudo apt-get purge openjdk*

Update repo

sudo su
echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | tee /etc/apt/sources.list.d/webupd8team-java.list
echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | tee -a /etc/apt/sources.list.d/webupd8team-java.list
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886
apt-get update

Instalasi oracle java7 (jangan menggunakan java8)

apt-get remove --purge oracle-java8*
apt-get remove --purge oracle-java6*
apt-get install oracle-java7-installer


Jika menggunakan java8 akan keluar error

************************************************************
You are attempting to build with an unsupported version
of java.
 
Your version is: java version "1.8.0_31".
The correct version is: Java SE 1.6 or 1.7.
  
Please follow the machine setup instructions at
    https://source.android.com/source/download.html
************************************************************

Instalasi aplikasi pendukung

sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev \
libesd0-dev libwxgtk2.8-dev squashfs-tools build-essential zip curl \
libncurses5-dev zlib1g-dev pngcrush schedtool libxml2 libxml2-utils \
xsltproc g++-multilib lib32z1-dev lib32ncurses5-dev \
lib32readline-gplv2-dev gcc-multilib
y
sudo apt-get install android-tools-adb android-tools-fastboot python-lunch

Siapkan perintah repo

mkdir -p ~/bin
mkdir -p ~/android-cyanogenmod
curl http://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo

Edit bashrc

gedit ~/.bashrc
export PATH=${PATH}:~/bin
export PATH=${PATH}:~/android/sdk/adt-bundle/sdk/tools
export PATH=${PATH}:~/android/sdk/adt-bundle/sdk/platform-tools

Set identitas kita

git config --global user.email "username@mail.com"
git config --global user.name "Nama Anda"

Siapkan Folder Source

Buang manifests

cd ~/android-cyanogenmod/.repo
rm -Rf manifests

repo sync ke folder source

cd ~/android-cyanogenmod/
repo init -u git://github.com/CyanogenMod/android.git -b cm-10.2
repo sync

atau

cd ~/android-cyanogenmod/
repo init -u git://github.com/CyanogenMod/android.git -b cm-10.1
repo sync

atau

cd ~/android-cyanogenmod/
repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0
repo sync

atau

cd ~/android-cyanogenmod/
repo init -u https://github.com/CyanogenMod/android -b cm-12.0
repo sync

Ambil prebuild apps

cd ~/android-cyanogenmod/system/vendor/cm
./get-prebuilts

Clean

Jika kita perlu membersihkan / clean build directory dapat menggunakan perintah

cd ~/android-cyanogenmod/
make clean


Build

cd ~
vi android-cyanogenmod/.repo/local_manifests/roomservice.xml
<manifest>
<project name="TheMuppets/proprietary_vendor_lge.git" path="vendor/lge" remote="github"  revision="cm-11.0"/>
</manifest>


Edit roomservice.xml tampaknya tidak perlu dilakukan untuk CM 11.0.


mako

cd ~/android-cyanogenmod
repo sync
~/android-cyanogenmod/vendor/cm/get-prebuilts
. build/envsetup.sh
brunch mako

LG Optimus G Pro

cd ~/android-cyanogenmod
repo sync
~/android-cyanogenmod/vendor/cm/get-prebuilts
cd ~/android-cyanogenmod
. build/envsetup.sh
brunch e980

versi e980 bisa untuk LG F240K tapi suara tidak keluar. Versi LG F240K yang tidak pernah di release ke publik.

LG Optimus G Pro F240K / geefhd

cd ~/android-cyanogenmod
~/android-cyanogenmod/vendor/cm/get-prebuilts
cd ~/android-cyanogenmod
. build/envsetup.sh
lunch geefhd
lunch f240k

LG Optimus L7

PERCOBAAN
cd ~/android-cyanogenmod
repo sync
~/android-cyanogenmod/vendor/cm/get-prebuilts
. build/envsetup.sh
brunch p700

LG Optimus L7 II

PERCOBAAN

cd ~/android-cyanogenmod
repo sync
~/android-cyanogenmod/vendor/cm/get-prebuilts
. build/envsetup.sh
brunch p713
breakfast p713

Jika Berhasil

Jika berhasil compile akan tampak seperti di bawah ini

LG Optimus G Pro

default_system_dev_certificate = (str) build/target/product/security/testkey
extfs_sparse_flag         = (str) -s
extra_recovery_keys       = (str)  build/target/product/security/cm build/target/product/security/cm-devkey build/target/product/security/bacon
fs_type                   = (str) ext4
fstab                     = (dict) {'/sns': <common.Partition object at 0x2b27f7331410>, '/cache': <common.Partition object at 0x2b27f73311d0>, '/boot':  <common.Partition object at 0x2b27f7331110>, '/system': <common.Partition object at 0x2b27f7331190>, '/persist': <common.Partition object at 0x2b27f7331250>, '/recovery': <common.Partition object at 0x2b27f7331150>, '/firmware': <common.Partition object at 0x2b27f73313d0>, '/data': <common.Partition object at 0x2b27f7331210>, '/factory': <common.Partition object at 0x2b27f7331450>}
fstab_version             = (int) 2
mkbootimg_args            = (str) --ramdisk_offset 0x02000000
multistage_support        = (str) 1
ota_script_path           = (str) ./build/tools/releasetools/ota_from_target_files
override_device           = (str) e986,e980,geefhd,e988,gkatt
recovery_api_version      = (int) 2
recovery_size             = (int) 23068672
selinux_fc                = (str) /tmp/targetfiles-IO7Hw7/BOOT/RAMDISK/file_contexts
system_size               = (int) 880803840
tool_extensions           = (str) device/lge/gproj-common/loki
update_rename_support     = (str) 1
use_set_metadata          = (str) 1
userdata_size             = (int) 6189744128
using device-specific extensions in device/lge/gproj-common/loki
building image from target_files RECOVERY...
  running:  mkbootfs -f /tmp/targetfiles-IO7Hw7/META/recovery_filesystem_config.txt /tmp/targetfiles-IO7Hw7/RECOVERY/RAMDISK
  running:  minigzip
  running:  mkbootimg --kernel /tmp/targetfiles-IO7Hw7/RECOVERY/kernel --cmdline vmalloc=600M console=ttyHSL0,115200,n8 lpj=67677 user_debug=31  msm_rtb.filter=0x0 ehci-hcd.park=3 coresight-etm.boot_enable=0 androidboot.hardware=geefhd --base 0x80200000 --pagesize 2048 --ramdisk_offset 0x02000000 --ramdisk /tmp/tmpqXHTEZ --output /tmp/tmpnusL9e
building image from target_files BOOT...
  running:  mkbootfs -f /tmp/targetfiles-IO7Hw7/META/boot_filesystem_config.txt /tmp/targetfiles-IO7Hw7/BOOT/RAMDISK
  running:  minigzip
  running:  mkbootimg --kernel /tmp/targetfiles-IO7Hw7/BOOT/kernel --cmdline vmalloc=600M console=ttyHSL0,115200,n8 lpj=67677 user_debug=31  msm_rtb.filter=0x0 ehci-hcd.park=3 coresight-etm.boot_enable=0 androidboot.hardware=geefhd --base 0x80200000 --pagesize 2048 --ramdisk_offset 0x02000000 --ramdisk /tmp/tmp9ZDVPb --output /tmp/tmpacEsTQ
  running:  imgdiff -b /tmp/targetfiles-IO7Hw7/SYSTEM/etc/recovery-resource.dat /tmp/tmpEtQIYY /tmp/tmpOr0Lkg /tmp/tmpLlEOux
   boot size (6991872) is 30.31% of limit (23068672)
  running:  openssl pkcs8 -in build/target/product/security/testkey.pk8 -inform DER -nocrypt
  running:  java -Xmx2048m -jar /home/onno/android-cyanogenmod/out/host/linux-x86/framework/signapk.jar -w build/target/product/security/testkey.x509.pem  build/target/product/security/testkey.pk8 /tmp/tmpaMp5Dk /home/onno/android-cyanogenmod/out/target/product/e980/cm_e980-ota-07b5c31ed7.zip
done.
Package Complete: /home/onno/android-cyanogenmod/out/target/product/e980/cm-11-20150106-UNOFFICIAL-e980.zip

Referensi

Pranala Menarik