IMJA LCD KIT 안드로이드 빌드

본 문서는 Android_User's_Guide.pdf 를 참고로 하여 작성되었다.


작업 전 확인 사항

  1. 작업은 docker가 설치된 Ubuntu (버전 무관)에서 PC 환경에서 진행한다.
  2. 작업할 디스크에는 70G~80G 정도의 용량이 확보되어있어야 한다.
  3. git 설정 (특히 user.email, user.name)이 되어있어야 한다.
  4. android_M6.0.1_1.0.0_core_source.tar.gz 파일을 홈 디렉토리에 받아둔다.

작업 절차

  1.  다음 절차대로 수행하여 docker container를 실행한다.

mkdir ~/m6.0.1_1.0.0
cd ~/m6.0.1_1.0.0
docker run -it --rm -u $(id -u):$(id -g) -h android-dev-jdk7 -e HOME=${HOME} -e USER=${USER} -v ${HOME}:${HOME} -v /etc/passwd:/etc/passwd:ro -v /etc/group:/etc/group:ro -v /etc/shadow:/etc/shadow:ro -v $(pwd):/work -v /nfs:/nfs -v /tftpboot:/tftpboot android-dev-jdk7

  1. 안드로이드 소스 준비 (1-2시간 정도 소요됨)

repo init -u https://android.googlesource.com/platform/manifest -b android-6.0.1_r3
repo sync

  1. 커널 소스 준비 (1-2시간 정도 소요됨)

cd /work
git clone git://git.freescale.com/imx/linux-2.6-imx.git kernel_imx
cd kernel_imx
git checkout m6.0.1_1.0.0-ga

  1. u-boot 소스 준비

cd /work/bootable
mkdir bootloader
cd bootloader
git clone git://git.freescale.com/imx/uboot-imx.git uboot-imx
cd uboot-imx
git checkout m6.0.1_1.0.0-ga

  1. freescale 패치 적용
(용량이 커서 첨부가 되지 않으므로, android_M6.0.1_1.0.0_core_source.tar.gz 파일을 다운로드 받아두어야 한다.
  ftp://ftp.falinux.com/android/imx6/ 위치에 저장해둔다.)

cd ~
tar xzf android_M6.0.1_1.0.0_core_source.tar.gz
source ~/android_M6.0.1_1.0.0_core_source/code/M6.0.1_1.0.0/and_patch.sh

cd /work
c_patch ~/android_M6.0.1_1.0.0_core_source/code/M6.0.1_1.0.0/ imx_M6.0.1_1.0.0

패치 작업이 정상적으로 완료되면 다음 메시지가 출력된다.

*****************************************************************
Success: Now you can build the Android code for FSL i.MX platform
*****************************************************************

  1. build (4-5시간 정도 소요됨)

cd /work
source build/envsetup.sh
lunch sabresd_6dq-eng
make

빌드가 완료되면 /work/out/target/product/sabresd_6dq 에 결과물들이 있다. 필요한 파일들은 아래와 같다.
  • u-boot-imx6q.imx ( u-boot )
  • boot-imx6q.img (kernel + dtb + ramdisk)
  • system.img
  • recovery-imx6q.img