Android L for J 作業ログ
概要
下記手順でビルドすると
- android ロゴ表示
- adb で接続可能
- AndroidRuntime が非業の死からの輪廻転生
まで動く。
完成品はこちら。
作業途中のため、
- 手順漏れ
- 不要手順
- 絶対パス(ユーザ名入り)
などなど散々なメモなので注意。ただいま簡略化中。
主要コード取得
ハードウェア部分取得
proprietary
- kbc-developers/proprietary_vendor_htc (cm-11.0) を取得し $ANDROID_ROOT/vendor/htc に配置
- 以下の差分を適用
diff --git a/valentewx/valentewx-vendor-blobs.mk b/valentewx/valentewx-vendor-blobs.mk index f526d00..7a0d51f 100644 --- a/valentewx/valentewx-vendor-blobs.mk +++ b/valentewx/valentewx-vendor-blobs.mk @@ -56,10 +56,4 @@ PRODUCT_COPY_FILES += \ vendor/htc/valentewx/proprietary/bin/felica_startup:/system/bin/felica_startup \ vendor/htc/valentewx/proprietary/etc/felica/common.cfg:/system/etc/felica/common.cfg \ vendor/htc/valentewx/proprietary/etc/felica/mfm.cfg:/system/etc/felica/mfm.cfg \ - vendor/htc/valentewx/proprietary/etc/felica/mfs.cfg:/system/etc/felica/mfs.cfg \ - vendor/htc/valentewx/proprietary/app/GMobileTV.apk:/system/app/GMobileTV.apk \ - vendor/htc/valentewx/proprietary/app/KDDI_Felicalock.apk:/system/app/KDDI_Felicalock.apk \ - vendor/htc/valentewx/proprietary/app/MobileFeliCaClient.apk:/system/app/MobileFeliCaClient.apk \ - vendor/htc/valentewx/proprietary/app/MobileFeliCaMenuApp.apk:/system/app/MobileFeliCaMenuApp.apk \ - vendor/htc/valentewx/proprietary/app/MobileFeliCaSettingApp.apk:/system/app/MobileFeliCaSettingApp.apk \ - vendor/htc/valentewx/proprietary/app/MobileFeliCaWebPluginBoot.apk:/system/app/MobileFeliCaWebPluginBoot.apk + vendor/htc/valentewx/proprietary/etc/felica/mfs.cfg:/system/etc/felica/mfs.cfg
kernel
- kbc-developers/android_kernel_htc_msm8960 (cm-11.0) を $ANDROID_ROOT/kernel/htc/valentewx に配置
- 以下の差分を適用
- td2skや絶対パスやらが含まれている部分は適宜
diff --git a/AndroidKernel.mk b/AndroidKernel.mk index 36c139e..51c366c 100644 --- a/AndroidKernel.mk +++ b/AndroidKernel.mk @@ -3,7 +3,7 @@ PERL = perl ifeq ($(TARGET_PREBUILT_KERNEL),) -KERNEL_OUT := $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ +KERNEL_OUT := /home/td2sk/aosp/out/target/product/valentewx/obj/KERNEL_OBJ KERNEL_CONFIG := $(KERNEL_OUT)/.config TARGET_PREBUILT_INT_KERNEL := $(KERNEL_OUT)/arch/arm/boot/zImage KERNEL_HEADERS_INSTALL := $(KERNEL_OUT)/usr @@ -62,30 +62,30 @@ $(KERNEL_OUT): mkdir -p $(KERNEL_OUT) $(KERNEL_CONFIG): $(KERNEL_OUT) - $(MAKE) -C kernel O=../$(KERNEL_OUT) ARCH=arm CROSS_COMPILE=arm-eabi- $(KERNEL_DEFCONFIG) + $(MAKE) -C kernel/htc/valentewx O=../$(KERNEL_OUT) ARCH=arm CROSS_COMPILE=arm-eabi- $(KERNEL_DEFCONFIG) $(KERNEL_OUT)/piggy : $(TARGET_PREBUILT_INT_KERNEL) $(hide) gunzip -c $(KERNEL_OUT)/arch/arm/boot/compressed/piggy.gzip > $(KERNEL_OUT)/piggy $(TARGET_PREBUILT_INT_KERNEL): $(KERNEL_OUT) $(KERNEL_CONFIG) $(KERNEL_HEADERS_INSTALL) - $(MAKE) -C kernel O=../$(KERNEL_OUT) ARCH=arm CROSS_COMPILE=arm-eabi- - $(MAKE) -C kernel O=../$(KERNEL_OUT) ARCH=arm CROSS_COMPILE=arm-eabi- modules - $(MAKE) -C kernel O=../$(KERNEL_OUT) INSTALL_MOD_PATH=../../$(KERNEL_MODULES_INSTALL) INSTALL_MOD_STRIP=1 ARCH=arm CR+ $(MAKE) -C kernel/htc/valentewx O=../$(KERNEL_OUT) ARCH=arm CROSS_COMPILE=arm-eabi- + $(MAKE) -C kernel/htc/valentewx O=../$(KERNEL_OUT) ARCH=arm CROSS_COMPILE=arm-eabi- modules + $(MAKE) -C kernel/htc/valentewx O=../$(KERNEL_OUT) INSTALL_MOD_PATH=../../$(KERNEL_MODULES_INSTALL) INSTALL_MOD_STRIP $(mv-modules) $(clean-module-folder) $(append-dtb) $(KERNEL_HEADERS_INSTALL): $(KERNEL_OUT) $(KERNEL_CONFIG) - $(MAKE) -C kernel O=../$(KERNEL_OUT) ARCH=arm CROSS_COMPILE=arm-eabi- headers_install + $(MAKE) -C kernel/htc/valentewx O=../$(KERNEL_OUT) ARCH=arm CROSS_COMPILE=arm-eabi- headers_install
その他
- libMTVMFCls.so を削除するとlogcatがすっきりして見やすい
- CM11のハードウェア周り取得部分は不要?