kitkat 소스에 mvv210 추가하기



~/work/K/ 아래에 kitkat 소스를 받아놓고, 


K/device/samsung/ 안에 smdkv210 디렉토리를 만든다.


K/device/samsung/smdkv210/ 안에


vendorsetup.sh 만든다.


add_lunch_combo full_smdkv210-userdebug

add_lunch_combo full_smdkv210-eng



이렇게만하고 점심 주문해보면..




5,6번 메뉴에 올라와 있다.


vendorsetup.sh 와 더불어 필수적인 파일 두 개 더 만든다.


AndroidProducts.mk


PRODUCT_MAKEFILES := $(LOCAL_DIR)/full_smdkv210.mk


full_smdkv210.mk 파일도 필요하겠지. 빈 파일로 일단 만들어두고, BoardConfig.mk, device.mk 파일도 만들어두자.


여기까지 하고 lunch > 6 하면 이제 오류들이 막 나온다.


오류는 build/core/config.mk 파일을 수행하면서 발생하는 것들이다. 소스 잘 들여다보면 각 파일에 무얼 설정해 놔야하는지 알 수 있다.


lunch > 6 할 때마다 나오는 오류들...


Which would you like? [aosp_arm-eng] 6               

build/core/product_config.mk:231: *** device/samsung/smdkv210/full_smdkv210.mk: PRODUCT_NAME must be defined..  멈춤.


** Don't have a product spec for: 'full_smdkv210'

** Do you have the right repo manifest?


build/core/product_config.mk 파일 231번째 줄에서 뱉아낸 오류다.

full_smdkv210.mk  파일에 PRODUCT_NAME 적어주면 된다.


PRODUCT_NAME := full_smdkv210


다시 lunch > 6


Which would you like? [aosp_arm-eng] 6

build/core/product_config.mk:231: *** device/samsung/smdkv210/full_smdkv210.mk: PRODUCT_BRAND must be defined..  멈춤.


** Don't have a product spec for: 'full_smdkv210'

** Do you have the right repo manifest?


이제 PRODUCT_BRAND 가 없다네.


PRODUCT_NAME := full_smdkv210

PRODUCT_BRAND := Android


다시 


Which would you like? [aosp_arm-eng] 6

build/core/config.mk:150: *** No config file found for TARGET_DEVICE .  멈춤.


** Don't have a product spec for: 'full_smdkv210'

** Do you have the right repo manifest?


이제 build/core/config.mk 파일로 넘어갔다.

TARGET_DEVICE 에 대한 설정파일이 없다고..?


full_smdkv210.mk 에 추가로 해결...


PRODUCT_NAME := full_smdkv210

PRODUCT_BRAND := Android

PRODUCT_DEVICE := smdkv210


다시..


Which would you like? [aosp_arm-eng] 6

build/core/config.mk:157: *** TARGET_ARCH not defined by board config: device/samsung/smdkv210/BoardConfig.mk.  멈춤.


** Don't have a product spec for: 'full_smdkv210'

** Do you have the right repo manifest?


BoardConfig.mk 에 TARGET_ARCH 가 설정되어 있지 않아서 오류..이어서 TARGET_CPU_ABI 도 없다고 뱉어낸다.


BoardConfig.mk 에 추가


TARGET_ARCH := arm

TARGET_CPU_ABI := armeabi-v7a


여기까지 하면..일단 점심메뉴 선택은 할 수 있다.


Which would you like? [aosp_arm-eng] 6


============================================

PLATFORM_VERSION_CODENAME=REL

PLATFORM_VERSION=4.4.4

TARGET_PRODUCT=full_smdkv210

TARGET_BUILD_VARIANT=eng

TARGET_BUILD_TYPE=release

TARGET_BUILD_APPS=

TARGET_ARCH=arm

TARGET_ARCH_VARIANT=armv5te

TARGET_CPU_VARIANT=

HOST_ARCH=x86

HOST_OS=linux

HOST_OS_EXTRA=Linux-4.2.0-35-generic-x86_64-with-Ubuntu-14.04-trusty

HOST_BUILD_TYPE=release

BUILD_ID=KTU84Q

OUT_DIR=out

============================================


ryu@ryu-Ubuntu:~/work/K$ 




TARGET_ARCH_VARIANT 가 armv5te 라는 걸로 잡히네. mv 제공에는 armv7-a-neon 으로 나오던데, 수정해줘야겠다.


BoardConfig.mk 수정


TARGET_ARCH := arm

TARGET_ARCH_VARIANT := armv7-a-neon

TARGET_CPU_ABI := armeabi-v7a



기본 설정되는 값들도 한 번 살펴봐야겠다.



메뉴 골랐으니, 빌드를 시도해볼만하지만, make 하면 또 오류들이 쏟아져 나온다.


이번 정리는 build/core 안에 있는 product_config.mk 와 config.mk 파일을 살펴본데 의의를 두자...




Posted by 똑똑한 영장류