Introducing XDA:DevCon – A Conference For Developers By Developers
XDA Developers Android and Mobile Development Forum
Forgot your password?
 
Post Reply+
Tip us?
 
crash6
Old
(Last edited by crash6; 12th September 2010 at 05:48 AM.)
#1  
Senior Member - OP
Thanks Meter 4
Posts: 186
Join Date: Jan 2008
Default [Guide] How to build android from source for the dell streak

This quide is a work in progress. (only testing with Ubuntu 10.04 x64)


After searching for a complete how to for building android from source I have determined there is none that are 100% complete.

Here is a compilation of guides from various sites that I used to build for the streak


Step One – install some packages.

Quote:
sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl sun-java5-jdk zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev
Step Two – select the right version of Java.
Quote:
sudo update-java-alternatives -s java-1.5.0-sun
Ubuntu doesn't have packages for the X11 libraries, but that can be worked around with the following command:
Quote:
sudo ln -s /usr/lib32/libX11.so.6 /usr/lib32/libX11.so
Step Three - Installing repo.
make bin dir in home directory and add to path
Quote:
cd ~
mkdir bin
export PATH=~/bin:$PATH
This can be made Permanent bay adding to the .bashrc file in ~/


Download the repo script and make it executable:
Quote:
curl http://android.git.kernel.org/repo >~/bin/repo
chmod a+x ~/bin/repo
Step Four – Repo Init.
Create a working directory
Quote:
mkdir mydroid
cd mydroid
Initialize the repo
Quote:
repo init –u git://android.git.kernel.org/platform/manifest.git
Or if you would like to check out a specific branch use the following
Quote:
repo init -u git://android.git.kernel.org/platform/manifest.git -b cupcake
(replace cupcake with your branch of choice)
If successful you will receive a message like:
“repo initialized in /mydroid”

To pull the files to your working directory now use:
Quote:
repo sync

Step Four – Verify tags.
Quote:
gpg --import

Then paste in the following:

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.2.2 (GNU/Linux)

mQGiBEnnWD4RBACt9/h4v9xnnGDou13y3dvOx6/t43LPPIxeJ8eX9WB+8LLuROSV
lFhpHawsVAcFlmi7f7jdSRF+OvtZL9ShPKdLfwBJMNkU66/TZmPewS4m782ndtw7
8tR1cXb197Ob8kOfQB3A9yk2XZ4ei4ZC3i6wVdqHLRxABdncwu 5hOF9KXwCgkxMD
u4PVgChaAJzTYJ1EG+UYBIUEAJmfearb0qRAN7dEoff0FeXsEa UA6U90sEoVks0Z
wNj96SA8BL+a1OoEUUfpMhiHyLuQSftxisJxTh+2QclzDviDya TrkANjdYY7p2cq
/HMdOY7LJlHaqtXmZxXjjtw5Uc2QG8UY8aziU3IE9nTjSwCXeJn uyvoizl9/I1S5
jU5SA/9WwIps4SC84ielIXiGWEqq6i6/sk4I9q1YemZF2XVVKnmI1F4iCMtNKsR4
MGSa1gA8s4iQbsKNWPgp7M3a51JCVCu6l/8zTpA+uUGapw4tWCp4o0dpIvDPBEa9
b/aF/ygcR8mh5hgUfpF9IpXdknOsbKCvM9lSSfRciETykZc4wrRCVGh lIEFuZHJv
aWQgT3BlbiBTb3VyY2UgUHJvamVjdCA8aW5pdGlhbC1jb250cm lidXRpb25AYW5k
cm9pZC5jb20+iGAEExECACAFAknnWD4CGwMGCwkIBwMCBBUCCA MEFgIDAQIeAQIX
gAAKCRDorT+BmrEOeNr+AJ42Xy6tEW7r3KzrJxnRX8mij9z8tg CdFfQYiHpYngkI
2t09Ed+9Bm4gmEO5Ag0ESedYRBAIAKVW1JcMBWvV/0Bo9WiByJ9WJ5swMN36/vAl
QN4mWRhfzDOk/Rosdb0csAO/l8Kz0gKQPOfObtyYjvI8JMC3rmi+LIvSUT9806Up
hisyEmmHv6U8gUb/xHLIanXGxwhYzjgeuAXVCsv+EvoPIHbY4L/KvP5x+oCJIDbk
C2b1TvVk9PryzmE4BPIQL/NtgR1oLWm/uWR9zRUFtBnE411aMAN3qnAHBBMZzKMX
LWBGWE0znfRrnczI5p49i2YZJAjyX1P2WzmScK49CV82dzLo71 MnrF6fj+Udtb5+
OgTg7Cow+8PRaTkJEW5Y2JIZpnRUq0CYxAmHYX79EMKHDSThf/8AAwUIAJPWsB/M
pK+KMs/s3r6nJrnYLTfdZhtmQXimpoDMJg1zxmL8UfNUKiQZ6esoAWtDg pqt7Y7s
KZ8laHRARonte394hidZzM5nb6hQvpPjt2OlPRsyqVxw4c/KsjADtAuKW9/d8phb
N8bTyOJo856qg4oOEzKG9eeF7oaZTYBy33BTL0408sEBxiMior 6b8LrZrAhkqDjA
vUXRwm/fFKgpsOysxC6xi553CxBUCH2omNV6Ka1LNMwzSp9ILz8jEGqmU tkBszwo
G1S8fXgE0Lq3cdDM/GJ4QXP/p6LiwNF99faDMTV3+2SAOGvytOX6KjKVzKOSsfJQ
hN0DlsIw8hqJc0WISQQYEQIACQUCSedYRAIbDAAKCRDorT+Bmr EOeCUOAJ9qmR0l
EXzeoxcdoafxqf6gZlJZlACgkWF7wi2YLW3Oa+jv2QSTlrx4KL M=
=Wi5D
-----END PGP PUBLIC KEY BLOCK-----

Once you have done this press CTRL + D





Now there are a few changes we need to make before we build.

1.)We need to install gcc-4.3 (gcc-4.4 has more strict rules then previous versions that causes some issues during build)

Quote:
sudo apt-get install gcc-4.3 g++-4.3
2.)Add JAVE_HOME to ~/.bashrc

Quote:
nano ~/.bashrc
Add this to the end of the file:
Quote:
export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun-1.5.0.16
A small issue with gcc
Quote:
sudo apt-get install g++-multilib

Fix issue with webkit build later on
Quote:
cd ~
cd android/system/external/webkit
git cherry-pick 18342a41ab72e2c21931afaaab6f1b9bdbedb9fa

Now that this is complete the build is pretty straight forward.

bluez
2) build android by
. build/envsetup.sh
choosecombo (all default option)
make -j4
3) replace external/bluez, and 'export BOARD_HAVE_BLUETOOTH=true'
4) mmm external/bluez
-------------------------------------------------------------------------------
jpeg

2) build android by
. build/envsetup.sh
choosecombo (all default option)
make -j4
3) replace external/jpeg
4) mmm external/jpeg
-------------------------------------------------------------------------------
webkit
2) build android by
. build/envsetup.sh
choosecombo (all default option)
make -j4
3) replace external/webkit
4) mmm external/webkit
-------------------------------------------------------------------------------
wpa_supplicant
2) build android by
. build/envsetup.sh
choosecombo (all default option)
make -j4
3) replace external/wpa_supplicant
4) mmm external/wpa_supplicant
-------------------------------------------------------------------------------



kernel
2) repleace kernel
3) build android by
. build/envsetup.sh
choosecombo

Build for the simulator or the device?
1. Device
2. Simulator
Which would you like? [1]
Build type choices are:
1. release
2. debug
Which would you like? [1]
Product choices are:
1. emulator
2. generic
3. sim
4. msm7627_ffa
5. msm7627_surf
6. qsd8250_ffa
7. qsd8250_surf
You can also type the name of a product if you know it.
Which product would you like? [generic] 7
Variant choices are:
1. user
2. userdebug
3. eng
Which would you like? [eng]

4) make -j4




Guide not complete. Will finish shortly



Sources -
http://source.android.com/source/download.html
http://www.johandekoning.nl/index.ph...d-environment/
http://hi.baidu.com/caicry/blog/item...528388a9f.html
http://opensource.dell.com/releases/...W-TO-BUILD.txt
 
0TheRain0
Old
#2  
Member
Thanks Meter 0
Posts: 50
Join Date: Jul 2010
This is awesome work you're doing here! Seems pretty daunting to try to build android if you don't know where to begin- this is a great step by step guide.
 
flumps
Old
#3  
flumps's Avatar
Senior Member
Thanks Meter 16
Posts: 301
Join Date: Jun 2009
very nicely done. always good to have all the info in once place, im forever forgetting commands as it is. needs a sticky
Samsung Galaxy Note White *Rooted/Stock*
iphone 4 jailbroken/Unlocked
Dell Streak - RIP (Dropped)
Sony Ericsson Xperia X10
T-Mobile G1
 
drstock
Old
#4  
drstock's Avatar
Junior Member
Thanks Meter 0
Posts: 15
Join Date: Aug 2010
Anyone actually got this to work? I can build the framework but building the kernel is another story.
First of all, what kernel should be used? common? msm? something else? And what branch?
Second, what kernel configuration? The one from the phone doesn't work 100%
Thirdly, "choosecombo" does not find any products to choose from. Is that a problem?
Fourthly, after it's all build, what's next? How is the update zip made?
 
fards
Old
#5  
fards's Avatar
Recognized Developer
Thanks Meter 497
Posts: 5,134
Join Date: Nov 2005
Location: Currently Reverse Engineering 42

 
DONATE TO ME
Quote:
Originally Posted by drstock View Post
Anyone actually got this to work? I can build the framework but building the kernel is another story.
First of all, what kernel should be used? common? msm? something else? And what branch?
Second, what kernel configuration? The one from the phone doesn't work 100%
Thirdly, "choosecombo" does not find any products to choose from. Is that a problem?
Fourthly, after it's all build, what's next? How is the update zip made?
Read the first post again....your answers are all there
Quote:
That phones too big!
why?
have you never held anything bigger than 4" in your hand?



Racing and building Human Powered Vehicles.
 
drstock
Old
#6  
drstock's Avatar
Junior Member
Thanks Meter 0
Posts: 15
Join Date: Aug 2010
Quote:
Originally Posted by fards View Post
Read the first post again....your answers are all there
What? No they're not, read the questions again.

Anywho, I got the kernel to build with the config from the phone, just one change needed: CONFIG_QSD_OEM_RPC_VERSION_CHECK=N
Using the MSM7XXX kernel, android-msm-2.6.29-donut branch. Haven't had the guts to test it yet.
 
checkbox111
Old
(Last edited by checkbox111; 13th September 2010 at 07:55 AM.)
#7  
Account currently disabled
Thanks Meter 37
Posts: 773
Join Date: Aug 2010
Location: Northampton UK via Los Angeles and Dallas

 
DONATE TO ME
Here's mores links
http://opensource.dell.com/releases/streak/1.12/

Probably the same stuff but haven't read above.
 
DJ_Steve
Old
#8  
Senior Member
Thanks Meter 807
Posts: 1,132
Join Date: Apr 2007
Location: Durham, Uk

 
DONATE TO ME
you really should use the codeaurora android tree nopt the android one as CA has the extra edits for snapdragon
Devices: Dell Streak 7 | Samsung Galaxy SIII | Samsung GT-I5801 |
Developing Android/Cyanogenmod for Streak/Streak 7 - Please feel free to Donate : GBP Donate | USD Donate
Twitter: http://www.twitter.com/dmonsterprod
 
fards
Old
#9  
fards's Avatar
Recognized Developer
Thanks Meter 497
Posts: 5,134
Join Date: Nov 2005
Location: Currently Reverse Engineering 42

 
DONATE TO ME
Quote:
Originally Posted by drstock View Post
What? No they're not, read the questions again.

Anywho, I got the kernel to build with the config from the phone, just one change needed: CONFIG_QSD_OEM_RPC_VERSION_CHECK=N
Using the MSM7XXX kernel, android-msm-2.6.29-donut branch. Haven't had the guts to test it yet.
oh yes they are...

here, let me wipe your arse for you. hold your hand

you need the dell kernel source.

Quote:
kernel
2) repleace kernel
3) build android by
build/envsetup.sh
choosecombo

Build for the simulator or the device?
1. Device
2. Simulator
Which would you like? [1]
Build type choices are:
1. release
2. debug
Which would you like? [1]
Product choices are:
1. emulator
2. generic
3. sim
4. msm7627_ffa
5. msm7627_surf
6. qsd8250_ffa
7. qsd8250_surf
You can also type the name of a product if you know it.
Which product would you like? [generic] 7
Variant choices are:
1. user
2. userdebug
3. eng
Which would you like? [eng]

4) make -j4
which parts dont you understand of that?

once you have the source set up properly (try source build/envsetup.sh as an alternative to ./buildsetup.sh)
choosecombo should work fine.

flash the seperate created imgs.
Quote:
That phones too big!
why?
have you never held anything bigger than 4" in your hand?



Racing and building Human Powered Vehicles.
 
lufc
Old
#10  
lufc's Avatar
Senior Moderator / Resident Priest
Thanks Meter 1471
Posts: 9,442
Join Date: Oct 2007
Location: Blackpool UK

 
DONATE TO ME
Nice work deserves a sticky keep it up
Pay attention and participate,Encourage,
not discourage, Listen to advice and accept instruction,
and in the end you will be wise.......... Prov. 19:20

 
Post Reply+
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Go to top of page...

XDA PORTAL POSTS

Coloring Your Logcat World

Getting feedback for your app during development is as simple as adding logging info where necessary and looking … more

Guide Your Sheep to Safety with Finger Shepherd

Just a coupe of days ago, we brought you news about a game calledAgent Sheep. In that … more

Nandroid Manager Receives Major Update

Do you find yourself obsessively jumping from ROM to ROM? And do you hate having to restore a full … more

Careers in Android: Recruiter Reveals How Resumes are Chosen – XDA Developer TV

XDA Developer TV Producer Jayce released a video a … more