[Galaxy S I9000 Android Development] malcho:
GUIDES!

Want to build from source?​

Want to build CM10 from source.Here it is:

http://xdaforums.com/showthread.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/status:open,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/status:open,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.

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!