Hello,
I am in the process of creating a Samsung S3C6410 Android kernel that is
compatible with Gingerbread. The procedure that I am using seems to be working
but there must be something more efficient given the power of GIT.
Goal: Create a S3C6410 Gingerbread kernel
Resources:
1. android/kernel/samsung - linux-2.6.35, S3C6410 does *not* compile
2. kernel.org/linux-2.6-samsung.git (master), S3C6410 *does* compile, this is
linux-2.6.36-rc7
3. android/kernel/common - linux-2.6.36 branch
GIT Procedure Overview:
1. git clone git://android.git.kernel.org/kernel/samsung.git
- retrieves linux-2.6.35 with a working "herring" configuration
2. git remote add kernel.org
git://git.kernel.org/pub/scm/linux/kernel/git/kki_ap/linux-2.6-samsung.git
- remote tracking of Samsung LSI kernel as *kernel.org*
3. git fetch kernel.org
- retrieve the remote repository information
4. git remote add android-common git://android.git.kernel.org/kernel/common.git
- remote tracking of Android common kernel as *android-common*
5. git fetch android-common
- retrieve the remote repository information
6. git branches -r (shows the following)
android-common/android-2.6.35
android-common/android-2.6.36
android-common/android-2.6.37
android-common/android-2.6.38
android-common/android-2.6.39
android-common/archive/android-2.6.25
android-common/archive/android-2.6.27
android-common/archive/android-2.6.29
android-common/archive/android-2.6.32
android-common/archive/android-gldfish-2.6.29
android-common/archive/android-goldfish-2.6.27
android-common/linux-wl12xx-2.6.39
kernel.org/2.6.24-samsung
kernel.org/2.6.28-samsung
kernel.org/2.6.29-samsung
kernel.org/2.6.31-samsung
kernel.org/2.6.32-samsung
kernel.org/2.6.35-samsung
kernel.org/2.6.36-samsung
kernel.org/master
origin/HEAD -> origin/android-samsung-2.6.35
origin/android-samsung-2.6.35
7. To start the upgrade process, merge a S3C6410 kernel tree that compiles into
the current Andoid Samsung tree:
git merge kernel.org/master
8. Start resolving the conflicts.
This seems to be working but it also seems very inefficient. A preferred method
would be something like.
git merge android-common/android-2.6.36 into kernel/samsung
git merge kernel.org/master/*s3c* - merge anything that has to do with
the Samsung S3C processors only
Problems to be resolved are:
a. How do you preserve the herring_defconfig Android kernel modifications. They
only exist in android/kernel/samsung
b. How can you merge a portion of a GIT repository? For instance, only merge
arch/arm from remote branch X.
Comments?
Recommendations?
Is this the right way?
TIA
--
unsubscribe: [email protected]
website: http://groups.google.com/group/android-kernel