L01F用のTWRPをビルドしてみた。 | 文具屋さんネット
Feed

L01F用のTWRPをビルドしてみた。

Posted on 2月 22nd, 2015 in 店長日記 by 店長

前回はlollipop用のカーネルをビルドしたので
今更ではあるが今回はリカバリをソースからビルドしてみた。
ビルドしたのはTWRP2.8.5.0です。

Screenshot_2015-02-21-06-21-19

参考にしたページ
http://forum.xda-developers.com/lg-g2/development/twrp-twrp-2-8-0-0-kernel-f2fs-tools-t2898705

http://forum.xda-developers.com/showthread.php?t=1943625

http://docs.omnirom.org/Setting_Up_A_Compile_Environment

https://source.android.com/source/initializing.html

http://teamw.in/project/twrp2

事前の準備環境は、すでに整っているのでパス。環境がない人はそれなりに準備が必要・・・

ここにLG-G2用のビルドの方法が簡単に書いてある

Welcome to blastagator's tweaked LG G2 device git.

This git is based on the CM device tree. I tweaked it to build TWRP
recovery.

To Build TWRP:

1) Initialize the OmniROM repo.
2) Sync the OmniROM repo.
3) Copy the blastagator_.xml and blastagator_g2-common.xml
to your omni/.repo/local_manifests folder.
4) Sync the OmniROM repo again.
5) Build recovery using full_-userdebug as the target.

NOTE: Do not extract blobs or run setup-makefiles! This is not
necessary because the vendor tree is repo sync'd automatically.

This uses AICP kernel that I patched to enable f2fs.

この流れに沿ってやってみました。
1) Initialize the OmniROM repo.
まずはomuniromのコード取得準備

$ mkdir -p ~/bin
$ mkdir -p ~/android/omni

$ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo

$ echo "export PATH=~/bin:$PATH" >> ~/.bashrc

$ git config --global user.email "your@email.address"
$ git config --global user.name "Your Name"

$ cd ~/android/omni
$ repo init -u https://github.com/omnirom/android.git -b android-4.4

※android5.0のソースコードを取得する場合は、-b android-4.4をandroid-5.0にする。
今回はomniromをビルドするわけではないので、android-4.4でもOK

2) Sync the OmniROM repo.
ソースとPCをSyncさせる。

$ repo sync -j4 -f --no-clone-bundle

結構、時間かかります。

3) Copy the blastagator_.xml and blastagator_g2-common.xml
to your omni/.repo/local_manifests folder.

ここにあるblastagator氏のblastagator_l01f.xmlとblastagator_g2-common.xmlを
home/hoge/android/omuniの中の./repo/local_manifestsのホルダーにコピーします。
local_manifestsのフォルダーは存在しないので、作成しておきます。

4) Sync the OmniROM repo again.
再度、syncさせます。

5) Build recovery using full_-userdebug as the target.
リカバリをビルドするわけですが、ここの手順がわかりにくかったので
詳しく書いておきます。

まず home/hoge/android/omuni/butable/recovery/の中身を
最新のTWRP 2.8.5に入れ替えます。入れ替えないとTWRP 2.8.1が出来上がります
一度間違えて作ってしまいました(笑)
Screenshot_2015-02-21-05-37-50

ソースはここから引っ張って来ます。

2/25 追記
local_manifestsの中のblastagator_g2-common.xmlを編集して
以下を書き加える。

<remote name="TeamWin" fetch="https://github.com/TeamWin/" />
<remove-project name="android_bootable_recovery" path="bootable/recovery" />
<project name="TeamWin/Team-Win-Recovery-Project" path="bootable/recovery" remote="github" revision="android-5.0" />

home/hoge/android/omuni/device/lge/l01f/cm_101f.mkを編集します。
6行目をコメントアウト
#$(call inherit-product, vendor/cm/config/common_full_phone.mk)
コメントアウトしないと環境設定でエラーする。

ビルド環境を設定します。

$ source build/envsetup.sh

$ lunch

lunch full_l01f-userdebug

WARNING: device/lge/l01f/omni.dependencies file not found

============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.4.4
TARGET_PRODUCT=full_l01f
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
TARGET_CPU_VARIANT=krait
HOST_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-3.13.0-24-generic-x86_64-with-LinuxMint-17-qiana
HOST_BUILD_TYPE=release
BUILD_ID=KTU84P
OUT_DIR=/home/hoge/android/omni/out
============================================

ここでmakeします。

$ make -j4 recoveryimage

クロスコンパイルが始まります。

かれこれ2時間程度かかり終了すると
/home/hoge/android/omni/out/target/product/lge/l01f に
recovery.imgが出来上がるので、これをL01Fに書き込みます。

(関連記事)

 
«