Android sources

140 views
Skip to first unread message

Martin

unread,
Feb 6, 2011, 5:12:03 PM2/6/11
to Loox7xxport
Hi again,

I've just put up the sources needed for builing Android for the Loox.
I'm not really happy with the google code hosting solution (I'll
explain my reasons below), so I've put everything on github instead. I
see this as a temporary solution to give you access to the code
quickly, please make suggestions on how and where we should keep these
sources for further development and colaboration.

For the non-kernel Android part, I wrote a wiki page where I try to
explain the setup of the build system and integration of the Loox
related modifications to the original Android code (you will be
surprised about how few modifications were actually needed). The page
is at http://code.google.com/p/loox7xxport/wiki/AndroidBuildSystemSetup.
I'm almost sure I've missed some things that should be mentioned
there, but I'll try to help with build problems as much as I can.

The kernel sources can be fetched git://github.com/MartinR/Loox7xx-Android-Kernel.git.
This will give you a mainline kernel repository with all Android and
Loox related changes contained in the branch

loox-android-2.6.32

When you set up your kernel repository, I suggest to first clone a
mainline repo from git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git,
then add the Android repo at git://android.git.kernel.org/kernel/common
and finally the Loox repo from git://github.com/MartinR/Loox7xx-Android-Kernel.git
as a second remote. This way, you can easily fetch updates from all
the relevant sources and keep up with upstream development.

The kernel configuration I've used for the Android binaries can be
found in arch/arm/configs/loox720_android_defconfig. I used the gcc
4.4.3 toolchain for building.

When you look at the changes that Android did to the kernel, you will
see that they only modified hardware independent things. It's very
easy to get an Android kernel from a working mainline kernel, just
merge your mainline branch with the corresponding Android branch.

Finally, my reasons for not using google code. Firstly, there's no git
support. This is not the biggest problem, they support Mercurial,
which is equally fine, but I'm not familiar with it. One can
losslessly convert git repos into Mercurial repos (and the other way
around). If you like and see this as the best way for continued
developmeent, you can take my repos from github, convert them into
Mercurial ones and put them on google code. Mercurial, however, can
also fetch from and push into git repositories directly (there's a
plugin for that), so when we keep using git as repository format, both
git and Mercurial can use the repositories. Unfortunately, git cannot
work directly on Mercurial repos (as far as I know).

Secondly, your kernel repositories on google code are, I think, not
mainline repositories. This means I had to upload my whole repository
(about 700MB) because it's not compatible with yours. With github, I
could clone a mainline repo and had to upload only the changes to
mainline, which was much much less (about 1MB).

Martin

jan rinze

unread,
Feb 6, 2011, 5:18:31 PM2/6/11
to loox7...@googlegroups.com
Hi Martin,

2011/2/6 Martin <loox....@gmail.com>

to facilitate thing there is always the possibility to drop a full patch against vannilla kernel tree into the Downloads section.
The current source trees are about 100MB not 700MB. (they will become large once you start compiling.)
The setup was done because we started with handhelds.org kernel versions but the more recent kernel 2.6.26 was a vannilla kernel source.
Unfortunately googlecode does not have git but using mercurial it is no problem to upload vanilla 2.6.32 and add the relevant changes.
Don't try to patch the 'default' branch since that is kernel 2.6.26 if i am not mistaken.

Jan Rinze.

Martin

unread,
Feb 6, 2011, 5:18:58 PM2/6/11
to Loox7xxport
I forgot to mention the ACX100 driver. I've put another repo with my
modifications to the sourceforge ACX100 driver on github (git://
github.com/MartinR/acx100-mac80211.git). The same driver version is
also in my kernel branch on github. I keep the separate ACX100 repo
for easier integration of upstream changes.

Martin

jan rinze

unread,
Feb 6, 2011, 5:24:06 PM2/6/11
to loox7...@googlegroups.com
Hi Martin,

2011/2/6 Martin <loox....@gmail.com>
I forgot to mention the ACX100 driver. I've put another repo with my

looks like you are quite proficient at git stuff.
I will read up a bit on git and see if i can manage to create a kernel source tree with your wiki explanations :-)

Jan Rinze.

Martin

unread,
Feb 6, 2011, 5:30:47 PM2/6/11
to Loox7xxport
Hi Jan,

the 700MB is not just the checked out source tree, but the complete
repository (including all history). I think we should have a complete
mainline-compatible repository as a working base, it eases
colaboration and keeping up with mainline a lot. Manually working with
raw patches is not very comfortable, and it becomes increasingly
painfull with the number of contributors.

I'm happy with using Mercurial, but I need some time to get used to
it.

Martin

rsainio

unread,
Feb 14, 2011, 12:28:51 PM2/14/11
to Loox7xxport
What is nowdays the easiest way to set up cross-compiling environment.
My current gcc-arm-compiler is from openembedded, but I would like to
know if there are other ways to do it.
The download has a crosscompiling-package, however it has too issues: /
opt-based and seems to be of 4.2 version and with 4.2-compiler the
kernel gives in unwind.c some warnings. So, I would like to compile
from scratch the environment (again); something like 4.4.3 as Martin
is using it as well.

Martin

unread,
Feb 14, 2011, 3:30:00 PM2/14/11
to Loox7xxport
The Android sources at android.git.kernel.org contain prebuilt
toolchains (in the git repo platform/prebuilt) that are ready to use.
Another possibility is to build a toolchain from scratch. Just get the
desired version from gcc.gnu.org and build for your desired target
architecture (use "arm-eabi" for Android). gcc has a very good build
system, the process is rather straight forward and completely
automatic once you configured the target architecture.

Martin
Reply all
Reply to author
Forward
0 new messages