글 수 74
IMJA LCD KIT 안드로이드 빌드
본 문서는 Android_User's_Guide.pdf
를 참고로 하여 작성되었다.
작업 전 확인 사항
- 작업은 docker가 설치된 Ubuntu (버전 무관)에서 PC 환경에서 진행한다.
- 작업할 디스크에는 70G~80G 정도의 용량이 확보되어있어야 한다.
- git 설정 (특히 user.email, user.name)이 되어있어야 한다.
- android_M6.0.1_1.0.0_core_source.tar.gz 파일을 홈 디렉토리에 받아둔다.
작업 절차
- 다음 절차대로 수행하여 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-2시간 정도 소요됨)
repo init -u https://android.googlesource.com/platform/manifest -b android-6.0.1_r3
repo sync
- 커널 소스 준비 (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
- 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
- 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
*****************************************************************
- 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