My favorites | Sign in
Project Home Downloads Wiki Issues
Search
for
Building  
Updated Feb 1, 2012 by Dra...@gmail.com

Compiling Galaxy Android Open Source Project (Stock Gingerbread) from scratch

This will give you a ready-to-use update.zip package in out/target/product/I7500/.


To build the GAOSP, you will need to use Linux or Mac OS. 64Bit only! Building under Windows is not currently supported. You must set up your machine first. "Install the Build Packages" at http://wiki.cyanogenmod.com/index.php?title=Compile_CyanogenMod_for_Passion

This how to is now outdated. You can use the source snapshot in downloads to build gingerbread for I7500.

How to

1) Initial setup

  1. Install repo : curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > repo && chmod a+x repo
  2. Run : ./repo init -u git://github.com/drakaz/android.git -b gaosp-gingerbread to initialize the repositories
  3. Run ./repo sync to download the content (./repo sync -j10 for higher DL speed)
  4. Push the PDA tar file from official 1.6 JC6 Odin update http://box23.org/pub/7500/firmware/I7500XEJC6-PDA-CL209906.tar.gz in device/samsung/I7500/ renamed as I7500-PDA.tar.
  5. Push the latest Cyanogenmod zip file for "HTC Dream & Magic" (http://wiki.cyanogenmod.com/index.php?title=Latest_Version) in device/samsung/I7500/, renamed as CM.zip.
  6. Extract the proprietary files from update: cd device/samsung/I7500/ && ./unzip-files.sh I7500-PDA.tar && cd -

2) Update repos

  • Run ./repo sync to update the repositories (./repo sync -j10 for higher DL speed)

3) Building

  1. Run source build/envsetup.sh to setup the build environnment
  2. Run lunch I7500-eng to setup the environnment for I7500
  3. Run mka bacon to make an flashable ZIP file with parallel jobs (or make -jX bacon if you want to define the number of parallel jobs)
  • Note: If you want to clean everything before you build to build from scratch use make clean && make installclean or make clobber for 100% clean

Use your flashable ZIP file

That can be dangerous. It may introduce regressions or brick your phone, do this at your own risk.

Download the latest Drakaz recovery image - pick the latest version at: http://www.drakaz.com/forum/viewforum.php?id=13

  1. Boot recovery (vol down + call + end call)
  2. Backup the system with Nandroid
  3. Push the update.zip in /sdcard/
  4. Select 'Wipe data' from the recovery menu.
  5. Flash the update using 'Update sdcard:update.zip" option
  6. Restore gapps by your own
  7. Reboot : reboot
Comment by gsad...@gmail.com, Feb 7, 2010

Note: "app2sd" (or /system/app to /data, as it's already on internal sd... you know what I mean.) seems to be needed since today - image something like 80MB (due to new locales I think) and it's impossible to restore gapps (no space left on /system).

Comment by gsad...@gmail.com, Feb 7, 2010

May be not needed anymore - drakaz deleted some locales.

Comment by iliuxa...@gmail.com, Feb 9, 2010

may be possible to make the standard firmware for recording through Odin as did Musty, because not all have linux, and the standard firmware would allow more people to test firmware.

Comment by sing...@gmail.com, Feb 9, 2010

can u add chinese? thanks

Comment by prices....@gmail.com, Feb 9, 2010

The weekly build looks like it could be installed directly using the 'update.zip' feature in the recovery image (I am currently using Galaxo). Is this the case?

Comment by johann.a...@gmail.com, Feb 9, 2010

Installation using 'update.zip' work fine with the drakaz recovery tool (i used version 4.4)

Comment by starla...@gmail.com, Feb 20, 2010

I think that the steps 12-13 in the section "Use your system image" don't make sense. After the step 11 (Wipe Data) the device done an automatic reboot and the steps 12 and 13 are useless.

Comment by project member marco.ba...@gmail.com, Feb 22, 2010

starlab36: fixed, now sync comes before the wipe

Comment by prices....@gmail.com, Feb 23, 2010

If I follow these build instructions now I don't get a main level Makefile. I am creating a brand new build env, because the old one still failed with the same error, even with the updated local_manifest.xml.

Comment by starla...@gmail.com, Feb 23, 2010

Thanks marco

Comment by martinam...@gmail.com, Feb 24, 2010

You have to clone the entire project before getting the gaosp manifest.

@ step 1.) you have to make a #repo init -u git://android.git.kernel.org/platform/manifest.git -b android-2.1_r2 and then a #repo sync

and then you can proceed to step 2.)

Maybe the guide can be corrected. Took me more than 3 hours.

Comment by fazillat...@gmail.com, Feb 24, 2010

Will this project bring 2.1 to Galaxy Spica? I don't have much hope on what samsung is going to build for spica... I heard they are trying to add touch viz interface in the update... I prefer google android 2.1 look that nexus has... How is this made? did samsung open source their drivers... (for the 1.5 version) .. and are you modifying them to work with android 2.1... OR are you using the same drivers(for 1.5) and making them work with android 2.1

What ever it is ... the work done here is great...

Comment by project member sado1s...@gmail.com, Feb 24, 2010

I don't think project will support Spica as you already have 2.1 (touchwiz can be easily deleted) and I'm not quite sure if this project would be of any help for Spica devs as it's different hardware. Spica is more similar to Moment as far as I've heard. If Spica devs come and add necessary tweaks - then yes. At the moment project supports only Galaxy and support for Behold 2 was planned (when they succeed with all flashing stuff at their side).

Comment by adi.cicu...@gmail.com, Feb 26, 2010

Hi,

I am a newbie here and followed the instructions to build it for my Galaxy, after doing everything for several hours, i have reached the final step (8) of building, the actual "make" but i received: make: No targets specified and no makefile found. Stop.

Any idea how to solve it or what i did wrong in the process?

Thanks alot.

Comment by martinam...@gmail.com, Feb 27, 2010

@adi You have to clone the entire project before getting the gaosp manifest.

@ step 1.) you have to make a #repo init -u git://android.git.kernel.org/platform/manifest.git -b android-2.1_r2 and then a #repo sync

and then you can proceed to step 2.)

Maybe the guide can be corrected. Took me more than 3 hours.

Comment by Alonz...@gmail.com, Mar 3, 2010

Note : if you got a librpc error, just "make librpc" then "make" again.

Also I would like to thank everyone working on this. This looks really awesome. I can't wait till it is finished. If I had the money I would test this out on my phone but I just can't brick it or my family would be extremely mad at me so anyways good luck! I will keep watching this.

Comment by diz...@gmail.com, Mar 4, 2010

When should we expect the test release 09?

Comment by masterba...@gmail.com, Mar 5, 2010

i have this error

collect2: ld returned 1 exit status make: [out/target/product/I7500/obj/EXECUTABLES/app_process_intermediates/LINKED/app_process] Erreur 1

an idea ??

Comment by kameleon...@gmail.com, Mar 7, 2010

make: [out/host/linux-x86/obj/EXECUTABLES/vm-tests_intermediates/tests] Erreur 1

Comment by elfro...@gmail.com, Mar 17, 2010

Why do we need all those manipulations to update our Samsung Galaxy ? Is Android v2.1 only reserved to geeks or a computer engineers ? ;-) Updates via Odin would be perfect. Maybe for the final release ?

Comment by davids...@gmail.com, Mar 18, 2010

I think the procedure for updating with the test builds is rather simple... I'm suspecting the flashing process for the final release would be similar.

Comment by elfro...@gmail.com, Mar 18, 2010

"I think the procedure for updating with the test builds is rather simple"

Tell your mother to :

- Clone the Android AOSP project (Follow instructions at http://source.android.com/download. - - Clone eclair branch by repo init -b android-2.1_r2 instead of cupcake) - Download local_manifest.xml : cd .repo && wget http://gaosp.googlecode.com/files/local_manifest.xml && cd - - Run repo sync to update the repositories - Push the PDA tar file from official 1.5 Odin update in vendor/Samsung/I7500/ - Extract the proprietary files from the update (NOTE: 1.6 update won't work): cd vendor/Samsung/I7500/ && ./unzip-files.sh I7500-PDA.tar && cd - - Run source build/envsetup.sh to setup the build environnment - Run lunch I7500-eng to setup the environnment for I7500 device - Run make (make -j3, make -j5, regarding of the number of parallel jobs you want)

Sorry, i'm webmaster and I'm used to code with php. But those lines are chinese for me. I dont even know what tools are required to do it. So, imagine my mother.

People searching for Android 2.1 (or just stable version) are not all geeks, the most are just customers disappointed by their Galaxy. So, I'm disappointed by my Galaxy and I don't understand how to upgrade it with this project and I DON'T want to spend hours to search how to. The only alternatives are to use Mustymod ROM (what i've done) or buy an other phone...

BUT, I think that the crew (thanks for your job) is smart enough to propose an Odin version when it will be finalized. ;-)

Comment by davids...@gmail.com, Mar 19, 2010

That's 'cause you're reading the 'building' instructions, click on 'testing builds' on the sidebar and look at the instructions there. Please read what people say more carefully (more specifically, 'test build')

How to install testing builds

You will need drakaz recovery 4.4. Download and put the desired testing build zip on the 7Gb memory of your Galaxy Boot into recovery Make a Nandroid backup (so you can restore your current rom after you tried the testing build) Select "Apply any zip from sd" and then select the zip of the testing build Do a wipe Reboot

Unless you find installing the drakaz recovery complicated (which I did too myself, at first), the instructions look straightforward enough. That said, all custom ROMs I've installed so far have required me to flash the recovery, not just GAOSP.

Comment by davids...@gmail.com, Mar 19, 2010

Oh, just a sidenote, my mother probably wouldn't even be able to figure out how to odin, so do watch your tone.

Comment by project member sado1s...@gmail.com, Mar 22, 2010

drakaz: bluetooth file send didn't work neither from pc to phone, nor from phone to pc. No luck with wifi too, posting logcat from launching wifi, trying to connect an open network (disabled security for a while), then (after failing to connect) disabling wifi. Dunno if there'll be any useful info but posting anyway. http://pastebin.org/120622 I've had no wifi issues on build from 26 February, but on one from 8th March (which was after 2 cyanogen merges) it wasn't working too. All of the builds were compiled with JIT - I'm going to check tomorrow if disabling it will improve situation. Catch me on IRC for more info.

Comment by garbegli...@gmail.com, Mar 23, 2010

drakaz: It's possible to create an update weekly new, because someone don't have linux or mac :)

Sorry

Comment by der.ralp...@gmail.com, Mar 23, 2010

I think there is a missing backslash in system/core/toolbox/Android.mk on line 48

Comment by Johnov...@gmail.com, Mar 26, 2010

I encounter a fatal: error: Cannot fetch cyanogen/android_external_opencore when i run "repo sync".

what's worry?

Comment by adi.cicu...@gmail.com, Apr 1, 2010

Hi, Maybe someone can help me, i am trying to compile from either Mac, or Ubuntu, I was able to compile until about 2-3 weeks ago from my Mac, and it is worked great on the phone, but since then i am unable to compile, i have tried both methods, make or build_all, yesterday i have installed ubuntu in VM and tried to compile with no luck, (Installed java 5 or 6) I receive the following errors while running make or build_all: When running build_all i receive update.zip with 30MB only

packages/apps/Settings/src/com/android/settings/DevelopmentSettings?.java:106: cannot find sy mbol symbol : variable ADB_NOTIFY location: class android.provider.Settings.Secure

Settings.Secure.putInt(getContentResolver(), Settings.Secure.ADB_NOTIFY,
^packages/apps/Settings/src/com/android/settings/SoundAndDisplaySettings?.java:422: cannot fin
d symbol symbol : method pulseBreathingLightColor(int) location: interface android.os.IHardwareService
hardware.pulseBreathingLightColor(value);
^
packages/apps/Settings/src/com/android/settings/SoundAndDisplaySettings?.java:424: cannot fin d symbol symbol : variable BREATHING_LIGHT_COLOR location: class android.provider.Settings.System
Settings.System.BREATHING_LIGHT_COLOR, value); ^
Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details. Note: Some input files use unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. 4 errors make: [out/target/common/obj/APPS/Settings_intermediates/classes-full-debug.jar] Error 41

Comment by janick.m...@gmail.com, Apr 4, 2010

Hi! Can somebody help me with the compilation issue "adi.cicurel" has already posted? I have got exactly the same issue like him, is it a problem on my side on with the sources themselfes?

Comment by project member sado1s...@gmail.com, Apr 4, 2010

Comment out block beginning on 419 line in file file packages/apps/Settings/src/com/android/settings/SoundAndDisplaySettings?.java so it looks like:

        } /*else if (KEY_BREATHING_LIGHT_COLOR.equals(key)) {
            int value = Color.parseColor((String) objValue);
            try {
                hardware.pulseBreathingLightColor(value);
                Settings.System.putInt(getContentResolver(),
                        Settings.System.BREATHING_LIGHT_COLOR, value);
                Log.d(TAG, "BREATHING_LIGHT_COLOR set to " + value);
            } catch (NumberFormatException nfe) {
                Log.e(TAG, "could not persist breathing light color settings", nfe);
            } catch (RemoteException re) {
                Log.e(TAG, "could not preview breathing light color", re);
            }
        }*/
        return true;
    }
}
Comment by janick.m...@gmail.com, Apr 4, 2010

ok, uncommented the bogus parts of gaosp/packages/apps/Settings/src/com/android/settings/DevelopmentSettings?.java and gaosp/packages/apps/Settings/src/com/android/settings/SoundAndDisplaySettings?.java

sado1 informed me in the irc that it is related to the cyanogen nexus one handling of the notification led which is missing on the galaxy.. thanks anyway ;D

Comment by Johnov...@gmail.com, Apr 16, 2010

can't open project cyanogen/android_external_opencore and drakaz/gaosp_frameworks_base on github.com

Comment by nfield...@gmail.com, May 1, 2010

The Odin PDA.tar can be downloaded from samsung firmware:

http://www.samsungfirmwares.tk/pub/7500/firmware/

I think this should be mentioned somewhere on this page.

Comment by ste...@gmail.com, May 6, 2010

Which pda tar should I use?

Comment by nfield...@gmail.com, May 7, 2010

Well I used II5 (1.5) but you can also use the JC6 (1.6) pda just you may get errors which will need to be fixed to get it to build.

I'm still very new to all of this, I don't really understand what the 1.6 pda provides over 1.5 ... maybe the 2.6.29 kernel?

Comment by eugene...@gmail.com, May 8, 2010

SOMETHING wrong with the script

system/core/toolbox/Android.mk:49: missing separator (did you mean TAB instead of 8 spaces?). Stop.

Comment by eugene...@gmail.com, May 8, 2010

Yup, missing separator, To fix add the Below :D

ifndef TINY_TOOLBOX

TOOLS += \ ls \ mount \ rm \ umount \ df \ chmod \ chown \ mv
endif

Comment by nfield...@gmail.com, May 10, 2010

Without meaning to sound rude, if you can't figure out that simple script error then you really shouldn't be trying to build gaosp.

Comment by eugene...@gmail.com, May 10, 2010

Without meaning to sound rude, you didn't Bother to read above what you posted now did you.... LMAO.

Comment by ste...@gmail.com, May 13, 2010

To nfielding: This is not a very smart comment... Something that has a build error should not be checked-in in a first place and people who actually work on the project know it. BTW general comment - I think that project developers should provide a way to build a stable release based on betta.

Comment by bruno.corasolla@gmail.com, Jun 23, 2010

Hmmm, new step 5 in the how to... Is that the reason it was failing mysteriously yesterday, after working perfectly the day before? :-)

Up the androids!

Comment by dongjuan...@gmail.com, Jun 25, 2010

Http://source.android.com/source/download.html says to use sun-java5-jdk as jdk to avoid @Override issues. But when I'm building gaosp with sun-java5-jdk, it shows a lot of @Override errors. Anyone who has ideas about this?

Comment by martinam...@gmail.com, Jul 9, 2010

There seems to be an error in local_manifest.xml Changing the path from eclair-ds to eclair should do the trick. 47c47 < <project path="external/opencore" name="CyanogenMod/android_external_opencore" remote="github" revision="eclair"/> --- > <project path="external/opencore" name="CyanogenMod/android_external_opencore" remote="github" revision="eclair-ds"/>

Comment by ara...@gmail.com, Jul 10, 2010
martinament another error appear:

Syncing work tree: 75% (128/170) error: revision eclair in CyanogenMod?/android_packages_apps_Superuser not found

Comment by martinam...@gmail.com, Jul 11, 2010

Its working for me.

Perhaps it may help you if you chechout the whole project again.

Comment by ara...@gmail.com, Jul 12, 2010

I tried to download it again from scratch

same error appeared

Comment by lingjiuj...@gmail.com, Jul 16, 2010

Syncing work tree: 75% (128/170) error: revision eclair in CyanogenMod??/android_packages_apps_Superuser not found

I'm same with you

Comment by arm...@gmail.com, Jul 19, 2010

With the froyo build, android_vendor_qcom_mm-core doesn't exist, should that be android_hardware_qcom_mm-core?

Comment by havranek...@gmail.com, Jul 19, 2010

Seems so, android_hardware_qcom_mm-core is forked from android_vendor_qcom_mm-core, and it builds in this configuration.

Powered by Google Project Hosting