FORUMS
Remove All Ads from XDA

[unofficial NIGHTLY ROMS] - Source build machine+GUIDES!!

3,762 posts
Thanks Meter: 4,320
 
By malcho, Senior Member on 26th June 2011, 08:59 PM
Post Reply Email Thread
TEST ROMS BUILT FROM SOURCE





DISCONTINUED!!!!







Credits and thanks to:teamkang for source and guide,perka for guide,mialwe,stratosk,DerTeufel1980,lippol94,sixst ingsgs,kasper_h,
kosako17,pmos69,prbassplayer,krarvind,aways,droidj am and all others on XDA from which i learned alot!Special thanks to bhu1 and franzyroy!
The Following 40 Users Say Thank You to malcho For This Useful Post: [ View ] Gift malcho Ad-Free
 
 
26th June 2011, 08:59 PM |#2  
malcho's Avatar
OP Senior Member
Flag Sarajevo
Thanks Meter: 4,320
 
Donate to Me
More
Angry GUIDES!
Want to build from source?




Want to build CM10 from source.Here it is:

http://forum.xda-developers.com/show....php?t=1813924

This is good start for everyone.In link above you have a everything you need to set up your android enviroment.
Things that are not in this guide is:
Do not log on to machine as root.Use account created during install and use sudo commands in terminal.
Place all your work in home folder.

For example this is how i set my build machine.

In my home folder i created folder android.In that folder i create folders:aokp and cm10.
Yes,you can have different repo's on one machine.


Want to build AOKP from source.Here it is:

Create separate folder (for example AOKP).
Go to terminal and navigate to that folder.
Then type:

repo init -u https://github.com/AOKP/platform_manifest.git -b jb-mr1
repo sync

Download files local_manifest.xml and galaxysmtd.mk and folder aries-common from here http://rootaxbox.no-ip.org/malcho/AOKP%20Beast/
Local_manifest.xml goes to .repo folder(you have to enable Show hidden files and folders).
galaxysmtd.mk file goes to vendor/aokp/products
aries -common folder goes to vendor/aokp/overlay

In folder vendor/aokp/products add this to AndroidProducts.mk file.

$(LOCAL_DIR)/galaxysmtd.mk

In folder vendor/aokp add this to vendorsetup.sh file.

add_lunch_combo aokp_galaxysmtd-userdebug

repo sync
. build/envsetup.sh
lunch
choose galaxysmtd
make bacon

ROM wil be in folder /out/target/product/galaxysmtd


Want to build BAKED from source.Here it is:

Create separate folder (for example BAKED).
Go to terminal and navigate to that folder.
Then type:

repo init -u https://github.com/TeamBAKED/platform_manifest.git -b jb
repo sync
. build/envsetup.sh && lunch baked_galaxysmtd-userdebug && mka bacon

TeamBaked Github for tracking changes:
https://github.com/TeamBAKED


Want to build PARANOID from source.Here it is:

Create separate folder (for example paranoid).
Go to terminal and navigate to that folder.
Then type:

repo init -u git://github.com/ParanoidAndroid/manifest.git -b jellybean
Go to folder.On drop menu select menu View and option Show hidden files and folders.
Then folder .repo will appear.Go to folder manifests.
Open file default.xml with gedit.

Erase bolded line(Paranoid preference)

<project path="packages/apps/PackageInstaller" name="CyanogenMod/android_packages_apps_PackageInstaller" />
<project path="packages/apps/ParanoidPreferences" name="android_packages_apps_paranoidpreferences" remote="paranoid" revision="jellybean" />
<project path="packages/apps/ParanoidWallpapers" name="ParanoidAndroid/android_packages_apps_ParanoidWallpapers" />

Go back to folder .repo.

Copy local_manifest.xml from cm10 repo.This needs to be done to sync galaxys files.

repo sync
./rom-build.sh galaxysmtd

ParanoidAndroid github for tracking changes:
https://github.com/ParanoidAndroid


Want to build SLIM from source.Here it is:


Create separate folder (for example slimroms).
Go to terminal and navigate to that folder.

repo init -u git://github.com/SlimRoms/platform_manifest.git -b jb
repo sync

Do initial build for galaxysmtd
. build/envsetup.sh
lunch
choose galaxys i think number 16
make -j4 bacon

Error will appear.

Go to folder
/slimroms/kernel/samsung/ics-ramdisk from terminal
tar zxvf jb_combo.tar.gz
tar zxvf jb_combo_c.tar.gz
tar zxvf jb_combo_v.tar.gz

go to folder
/slimroms/kernel/samsung/samsung-kernel-aries/arch/arm/configs

Open file semaphore_galaxys_defconfig with text editor

type in terminal id enter in file your ID and GID.

Make shure the path is correct to your jbcombo.

CONFIG_INITRAMFS_SOURCE="~/android/slimroms/kernel/samsung/ics-ramdisk/jb_combo_c/"
CONFIG_INITRAMFS_ROOT_UID=1000
CONFIG_INITRAMFS_ROOT_GID=1000

Go back to your root folder slimroms.

. build/envsetup.sh
lunch
choose galaxys i think number 16
make -j4 bacon

SlimRoms github for tracking changes:
https://github.com/SlimRoms







EXAMPLE HOW TO TRACK CHANGES:

All patches and changes for cm10 rom goes to this site:

http://review.cyanogenmod.com/#/q/statuspen,n,z

These patch have status open and goes to review.When file is reviewed and approved it goes to status merged.That means that file is now at this site:

https://github.com/CyanogenMod

All patches and changes for aokp rom goes to this site:

http://gerrit.sudoservers.com/#/q/statuspen,n,z

These patch have status open and goes to review.When file is reviewed and approved it goes to status merged.That means that file is now at this site:

https://github.com/AOKP

When u do repo sync you practicaly download all files from github site.




Example of my build script.Script do sync repo's and build.

Code:
cd ~/android/cm10
repo sync
cd ~/android/aokp
repo sync
cd ~/android/cm10
rm -rf ~/android/cm10/out/target/product/galaxysmtd
. build/envsetup.sh && brunch galaxysmtd
cd ~/android/aokp
rm -rf ~/android/aokp/out/target/product/galaxysmtd
. build/envsetup.sh && brunch galaxysmtd
You can run script with bash -x parametar to see output.
bash -x reposyncbulid.sh


CHERRY PICKING GUIDE IN PDF IN ATTACHMENT!
Attached Files
File Type: pdf CHERRY PICKING GUIDE.pdf - [Click for QR Code] (214.8 KB, 225 views)
The Following 39 Users Say Thank You to malcho For This Useful Post: [ View ] Gift malcho Ad-Free
26th June 2011, 08:59 PM |#3  
malcho's Avatar
OP Senior Member
Flag Sarajevo
Thanks Meter: 4,320
 
Donate to Me
More
Angry [unofficial NIGHTLY ROMS] - Source build machine+GUIDES!!
Here is example of what i have done with codenameandroid source.

First thanks to Trojan38 for helping with this.

I created folder CNA in my home folder.

repo init -u https://github.com/CNA/android_manifest.git -b jellybean
repo sync

After repo is synced i copied local_manifest.xml from cm10 to include galaxysmtd into source three.

This file can be found in .repo folder.When u open you repo folder you have to enable Show hidden files.

Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
  <project name="CyanogenMod/android_device_samsung_galaxysmtd" path="device/samsung/galaxysmtd" remote="github" revision="jellybean" />
  <project name="CyanogenMod/android_packages_apps_SamsungServiceMode" path="packages/apps/SamsungServiceMode" remote="github" revision="jellybean" />
  <project name="CyanogenMod/android_device_samsung_aries-common" path="device/samsung/aries-common" remote="github" revision="jellybean" />
  <project name="CyanogenMod/android_kernel_samsung_aries" path="kernel/samsung/aries" remote="github" revision="jellybean" />
  <project name="CyanogenMod/android_hardware_samsung" path="hardware/samsung" remote="github" revision="jellybean" />
</manifest>
Also you have to copy these 2 folders from cm10 repo:

/vendor/samsung/aries-common

/vendor/samsung/galaxysmtd

Then go to folder /vendor/cna

Open file vendorsetup.sh

Add lunch combo for galaxysmtd like on code bellow:
Code:
add_lunch_combo cna_crespo-userdebug
add_lunch_combo cna_crespo4g-userdebug
add_lunch_combo cna_grouper-userdebug
add_lunch_combo cna_maguro-userdebug
add_lunch_combo cna_stingray-userdebug
add_lunch_combo cna_stingray_cdma-userdebug
add_lunch_combo cna_toro-userdebug
add_lunch_combo cna_toroplus-userdebug
add_lunch_combo cna_umts_everest-userdebug
add_lunch_combo cna_wingray-userdebug
add_lunch_combo cna_d2att-userdebug
add_lunch_combo cna_d2spr-userdebug
add_lunch_combo cna_d2tmo-userdebug
add_lunch_combo cna_d2usc-userdebug
add_lunch_combo cna_d2vzw-userdebug
add_lunch_combo cna_i9300-userdebug
add_lunch_combo cna_galaxysmtd-userdebug

Then go to folder /vendor/cna/products

Create file cna_galaxysmtd.mk

File should look like this

Code:
$(call inherit-product, device/samsung/galaxysmtd/full_galaxysmtd.mk)

# Inherit some common stuff.
$(call inherit-product, vendor/cna/config/common_full_phone.mk)

# Inherit some common stuff.
$(call inherit-product, vendor/cna/config/gsm.mk)

PRODUCT_COPY_FILES += \
    vendor/cna/prebuilt/hdpi/bootanimation.zip:system/media/bootanimation.zip

# Release name
PRODUCT_RELEASE_NAME := GT-I9000

PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=GT-I9000 BUILD_FINGERPRINT="samsung/GT-I9000/GT-I9000:2.3.5/GINGERBREAD/XXJVT:user/release-keys" PRIVATE_BUILD_DESC="GT-I9000-user 2.3.5 GINGERBREAD XXJVT release-keys"

PRODUCT_NAME := cna_galaxysmtd
PRODUCT_DEVICE := galaxysmtd
PRODUCT_BRAND := samsung
PRODUCT_MODEL := GT-I9000
PRODUCT_MANUFACTURER := samsung
In that same folder open file AndroidProducts.mk

File should look like this

Code:
PRODUCT_MAKEFILES := \
    $(LOCAL_DIR)/cna_crespo.mk \
    $(LOCAL_DIR)/cna_crespo4g.mk \
    $(LOCAL_DIR)/cna_grouper.mk \
    $(LOCAL_DIR)/cna_maguro.mk \
    $(LOCAL_DIR)/cna_stingray.mk \
    $(LOCAL_DIR)/cna_stingray_cdma.mk \
    $(LOCAL_DIR)/cna_toro.mk \
    $(LOCAL_DIR)/cna_toroplus.mk \
    $(LOCAL_DIR)/cna_umts_everest.mk \
    $(LOCAL_DIR)/cna_wingray.mk \
    $(LOCAL_DIR)/cna_d2att.mk \
    $(LOCAL_DIR)/cna_d2spr.mk \
    $(LOCAL_DIR)/cna_d2tmo.mk \
    $(LOCAL_DIR)/cna_d2usc.mk \
    $(LOCAL_DIR)/cna_d2vzw.mk \
    $(LOCAL_DIR)/cna_i9300.mk \
    $(LOCAL_DIR)/cna_galaxysmtd.mk \
Then do another repo sync.

Then build like this:

. build/envsetup.sh
lunch (choose galaxysmtd)
mka squish



This is how my manifest file looks like.It includes some part of code from CM10.
You can download it from this location.File is default.xml

https://drive.google.com/#folders/0B...HF1OVpNYnNwTmM


Want to include something from source into your builds?

For example i want to include DSPManager form CM10 into CNA build.

I will open default.xml file(manifest file) on this location .repo/manifests

Add this line into file

Code:
<project path="packages/apps/DSPManager" name="CyanogenMod/android_packages_apps_DSPManager" remote="github" revision="jellybean" />
Go to folder /build/target/product and open file core.mk

Add DSPManager like in code bellow at beggining of the file.

Code:
PRODUCT_BRAND := generic
PRODUCT_DEVICE := generic
PRODUCT_NAME := core

PRODUCT_PROPERTY_OVERRIDES := \
    ro.config.notification_sound=Proxima.ogg  \
    ro.config.alarm_alert=Cesium.ogg

PRODUCT_PACKAGES := \
    ApplicationsProvider \
    BackupRestoreConfirmation \
    Browser \
    Contacts \
    ContactsProvider \
    DSPManager \
    DefaultContainerService \
    DownloadProvider \
    DownloadProviderUi \
Like this all your builds for all devices will have DSP Manager included.
The Following 83 Users Say Thank You to malcho For This Useful Post: [ View ] Gift malcho Ad-Free
26th June 2011, 09:15 PM |#4  
Senior Member
Thanks Meter: 37
 
More
I love this thread... Thanks!!
The Following User Says Thank You to Sidneymac For This Useful Post: [ View ] Gift Sidneymac Ad-Free
26th June 2011, 11:57 PM |#5  
Account currently disabled
Constanta
Thanks Meter: 1,550
 
More
only 3 ROMs ?... add more...

i flash 3 roms in a day...that`s nothing...

post cm7, miui, aosp and the other newly added
The Following User Says Thank You to siky_dude For This Useful Post: [ View ] Gift siky_dude Ad-Free
27th June 2011, 02:11 AM |#6  
Junior Member
Thanks Meter: 6
 
More
Give GingerReal a try too. It's great and keeps me coming back.
27th June 2011, 03:50 AM |#7  
slaphead20's Avatar
Senior Member
Flag Out there somewhere
Thanks Meter: 4,761
 
Donate to Me
More
Yet another variant on the best rom thread! Zzzzz

Insanity cm 014/glitch
27th June 2011, 05:40 AM |#8  
Junior Member
Thanks Meter: 2
 
More
ROM, I like darky's rom at froyo time but now at gb time, I prefer either juwe's for performance or tweaky's for features.

Kernel, speedmod for froyo. Talon for gb.Talon's under dev but has been using 1.2kmhz for weeks and vy stable n vy fast.

Sent from my GT-I9000 using XDA Premium App
27th June 2011, 09:31 PM |#9  
Member
Thanks Meter: 15
 
More
First I was a big fan of darky's roms, but I just got sick of all the green themes.

The perfect rom for me?

Juwe's smart edition 5.0

As the OP says, It's just great. Fast, Long battery life and looks great

Using it with the semaphore kernel.
28th June 2011, 02:28 AM |#10  
Junior Member
Thanks Meter: 15
 
Donate to Me
More
I've been testing stock roms for a long time with custom kernels, specially Speedmod or Fugu. Now I'm fully on Cyanogenmod 7 with stock kernel. The stock rom provides stability and standard perfomance, CM7 provides full power over the phone at the cost of some bug or glitches.
28th June 2011, 10:24 AM |#11  
malcho's Avatar
OP Senior Member
Flag Sarajevo
Thanks Meter: 4,320
 
Donate to Me
More
Angry
I'm also back to stock Ramad JVP deodexed rom.Last night i've flashed Galaxian kernel to see how it works.Had some trouble with bluetooth and GPS butt now it's solved.

Damn,this kernel is fast.I choose default in voltage control(1000Mhz) and applied all tweaks.Phone is flying.
Post Reply Subscribe to Thread

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes