td2sk の日記

技術メモとかゲームとか

CM12 for HTCJ

概要

CyanogenMod 12 (Android 5.0) が起動できたのでご報告

動作状況

安定しているもの
  • Android5.0
  • SDカード
  • 標準アプリ
  • 充電ランプ
  • WiFi
  • Bluetooth (未検証)
  • センサー
    • 明るさ
    • 回転
既知の問題

お願い

  • 起動しなくても文句言わない
  • 高級文鎮になっても文句言わない
  • 不具合報告はどんどん投げよう
  • 不具合報告に対応しなくても文句言わない
    • 自分でパッチを投げよう

ビルド手順

# ファイル取得
cd $ANDROID_ROOT

repo init -u git://github.com/CyanogenMod/android.git -b cm-12.0
repo sync -j32

git clone git://github.com/CyanogenMod/android_device_htc_msm8960-common -b cm-12.0 device/htc/msm8960-common
git clone git://github.com/CyanogenMod/android_device_htc_s4-common -b cm-12.0 device/htc/s4-common
git clone git://github.com/td2sk/android_device_htc_valentewx -b cm-12.0 device/htc/valentewx

git clone git://github.com/kbc-developers/android_kernel_htc_msm8960 -b cm-11.0 kernel/htc/msm8960
git clone git://github.com/TheMuppets/proprietary_vendor_htc -b cm-12.0 vendor/htc

git clone git://github.com/kbc-developers/proprietary_vendor_htc -b cm-12.0 vendor/htc_cm-11.0 --depth 1
mv $ANDROID_ROOT/vendor/htc_cm-11.0/valentewx $ANDROID_ROOT/vendor/htc/

cd $ANDROID_ROOT/vendor/cm
./get-prebuilts
echo "add_lunch_combo cm_valentewx-userdebug" >> vendorsetup.sh

# 動かないので、さよなら
cd $ANDROID_ROOT/device/htc/s4-common
rm camera -rf

# ifneq のデバイス名判定に valentewx を追加する
cd $ANDROID_ROOT/device/htc/s4-common
vi Android.mk
vi wcnss_htc/Android.mk


# ビルド
cd $ANDROID_ROOT
brunch

できたもの

kienu
AndroidFileHost

焼き方

# 0. ファイルを準備する
# 自分でビルドする or 上のリンクから取得

# 1. 改変リカバリでブート
fastboot boot custom-recovery.img

# 2. /bin/sh を送り込む
#   自分でビルドしたひとはそのまま実行
#   ダウンロードしたものを焼く人は
#     * cm12-alpha.7z にある out フォルダのパスを、環境変数 ANDROID_PRODUCT_ROOT に設定
adb sync

# 3. /system 以下を整理
#   data以下は必要に応じて削除 (アプリ類を消さないと動かないかも)
adb shell
(adb) mount system
(adb) mount data
(adb) rm -rf /system/*
(adb) rm -rf /data/app/*
(adb) rm -rf /data/app-private/*
(adb) rm -rf /data/dalvik-cache/*
(adb) rm -rf /data/data/*

# 4. adb sync で流し込み
adb sync

# 5. bootloader へ再起動し、改変イメージでブート
#  初回起動には時間がかかるので、気長に待つ
fastboot boot boot.img

改変内容

リカバリ
  • fstab の system の項目を ro から rw に変更
ブート
  • USB デバッグしやすいように、下記属性を設定
    • ro.adb.secure=0
    • ro.secure=0
カーネル
  • SELinux を Disable に設定
    • デフォルトで permissive になるはずなので設定不要?

画面