Template:Host PC Setup

Ubuntu is the recommended Linux distribution for this setup. Other distributions are available, however the configurations listed in this wiki currently only covers Ubuntu. Ubuntu is available for download at: https://help.ubuntu.com/community/Installation
 * Host Environment

Note: Around 10GB of hard disk space is required to build one release of Android.


 * Tools/Packages

Below is a list of packages needed for building, testing, and/or debugging a OMAP development platform. These packages can be download from host's distribution package management system or through "apt-get install command".


 * Git version control system
 * GCC Compiler/GNU Make
 * E2fsprogs
 * util-linux
 * minicom

=Working around Ubuntu's Firewall= "Git" is a great tool and does work behind proxy's / firewalls with a little help. There are many ways to do this however this section will only cover "corkscrew".


 * Corkscrew

Download "corkscrew" at Corkscrew and un-tar it.

cd corkscrew-2.0 ./configure make cp corkscrew ~/bin/corkscrew

This can be placed anywhere as long as it is in PATH. Next create the following simple shell script called git-proxy in ~/bin directory (or some place listed in PATH).Replace items inbetween "<...> with the correct information.

exec /corkscrew  $*
 * 1) !/bin/sh

Save the file and give it execute permissions

chmod u+x git-proxy

Run it to test it. It should give the usage statement for corkscrew.

Now tell git you want to use a proxy. Replace the stuff between the "<...>" and don't leave out the single quotes.

git config --global core.gitproxy '/git-proxy'

This will setup "git" to always use the proxy for all git commands, with all git trees. To set the proxy for just a specific git tree execute instead something similar to the following. The below command configures "git" to use the proxy for all URLs with a kernel.org suffix.

git config --global core.gitproxy '" /git-proxy"; for kernel.org' 'for kernel.org$'

Configure Ubuntu's "Network Proxy" appropriately to get access to source code
 * Ubuntu's Firewall setting
 * System-->Preferences-->Network Proxy
 * Set the following parameters:
 * Select: "Proxy Configuration"
 * Select: "Manual proxy configuration"
 * Check mark: "Use the same proxy for all protocols
 * Enter following data: HTTP proxy: Port:
 * Close

Configure the Proxy for the package manager:
 * System -> Administrator -> Synaptic Package Manager
 * Login -> Settings -> Preferences
 * Network tab -> Add the HTTP proxy and port number in order to get the package manager to be able to get past the firewall.

Configure "http_proxy" and "ftp_proxy" environmental variable: If there is a need to use a proxy server to access the web set the environment variables "http_proxy" and "ftp_proxy". This will allow "apt-get" etc. to use this environment variable value. Below would be the ideal way of assigning values for "http_proxy":

export http_proxy=”: ” export https_proxy=": " export ftp_proxy=": "

Add this to ~/.bashrc so that everytime the machine is rebooted this variable does not have to be exported.

=ARM Cross Compiler= CodeSourcery ARM Compiler version 2009q3-67 is used for building different distributions on OMAP platforms. Visit www.codesourcery.com for more information.

The current Code Sourcery release may cause an internal error. If this is the case, download the following release: 2010q1-202

A previous cross compiler build release can be downloaded 2009q3-67. Different versions may be required depending on build requirements.
 * Select the IA32 GNU/Linux TAR one (2c2b324f0a84916afd9920029286eb10)

Another previous cross compiler build release can be downloaded 2008q3-72.
 * Select the IA32 GNU/Linux TAR one (75465352c9ee21c06c8e0c4709969d42)

Add Compiler directory to PATH: export PATH=$PATH://bin/