SW 개발

ubuntu 14.04 에서 android 커널 빌드하기 (처음부터세팅)

. . . 2015. 11. 8. 01:43
반응형

안드로이드 커널을 "직접"빌드하여 프로젝트를 진행하고있다.

일단 기존의 "오드로이드"의 커널을 직접빌드하면서 체크한내용을 정리한다.

환경세팅

ubuntu 14.04 desktop 버젼을 기본 설치한후 다음과 같이 따라하면 안드로이드 커널 빌드시 별다른 오류없이 빌드 할수있을것이다.

기본적인 빌드툴 설치

sudo apt-get update
sudo apt-get install build-essential add-apt-repository
sudo apt-get install git
sudo apt-get install bison git gperf libxml2-utils make python-networkx zlib1g-dev:i386 zip
sudo apt-get install lib32stdc++6
sudo apt-get install flex
sudo apt-get install lzop
sudo apt-get install libncurses-dev

툴체인 설치

다음은 오드로이드C1의 크로스 컴파일러는 다음과 같이 설치한다.

각 제조사 홈페이지에서 보드에 맞는 컴파일러 설치

sudo mkdir -p /opt/toolchains
sudo tar xJvf gcc-linaro-arm-none-eabi-4.8-2014.04_linux.tar.xz -C /opt/toolchains/
sudo tar xvf gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz -C /opt/toolchains/

빌드에 필요한 툴들 설치

기본적인 빌드에 필요한 툴들 설치

sudo apt-get install lib32stdc++6  lib32z1 lzop u-boot-tools

파이썬2.6 설치

기본적으로 ubuntu 14.04 는 python 2.6 을 정식으로 지원하지 않으므로 따로 설치한다.

  • 출처 : http://ubuntuhandbook.org/index.php/2013/08/install-python-2-6-2-5-3-3-in-ubuntu-12-04-12-10-13-04/

설치

sudo add-apt-repository ppa:fkrull/deadsnakes
sudo apt-get update
sudo apt-get install python2.6

확인

$ python2.6 -V
Python 2.6.9

주의)리눅스 시스템에서 기본적으로 쓰는 파이썬은 2.7 이다. 때문에 시스템의 기본설정으로 되어있는 파이썬의 버전을 마음데로 바꿀경우 시스템이 동작하지 않는경우가 발생하므로.. 다음과 같이 특정 목적으로 만 쓰는 링크를 따로 만든다.

sudo ln -s /usr/bin/python2.6 /usr/local/bin/python

JAVA 6 설치

ubuntu14.04 의 기본 설치 레파지토리에서는 java6 이 설치불가능하다.

  • 킷캣을 빌드하기 위해서는 java6이 필요하다. 때문에 수동으로 java6 을 설치해야한다.
    • 출처: http://ubuntuhandbook.org/index.php/2014/02/install-oracle-java-6-7-or-8-ubuntu-14-04/

oracle 홈페이지에서도 설치가 가능하지만 간편하게 패키지 형태로 설치한다.

설치

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get install oracle-java6-set-default

버젼확인

```sh
$ java -version
java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)

버젼변경

참고로 기존에 설치되어있던 java 버전을 변경을 원하면 다음과 같이 변경한다.

  • java 와 javac 만 변경했더니… 빌드과정에서 에러를 뿜는다;;
$ sudo update-alternatives --config java
$ sudo update-alternatives --config javac
$ sudo update-alternatives --config javaws
$ sudo update-alternatives --config jar
$ sudo update-alternatives --config javadoc
$ sudo update-alternatives --config javap  (EDIT - This is needed to compile Kit Kat 4.4)

빌드스크립트 작성

#!/bin/bash

source build/envsetup.sh

export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabihf-
export PATH=/opt/toolchains/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin/:$PATH
export PATH=/opt/toolchains/gcc-linaro-arm-none-eabi-4.8-2014.04_linux/bin:$PATH

alias python=/usr/local/bin/python

python -V

#exit

lunch odroidc-eng
make update-api
make -j4

반응형