Page 1 of 1

[HOWTO] kernel & Custom ROMのビルド情報

Posted: 2013年May月27日(Mon) 19:30
by caplioz
kernelやCustom ROMのビルド情報・How to関連を公開していく予定です。

質問は質問トピで(まだ未作成

【HTC J Butterfly】 PACMANビルドメモ

Posted: 2013年May月27日(Mon) 19:39
by caplioz
http://pub.slateblue.tk/memo/day3153.html からの引用です。

◯PAC-manのsourceを落としてくる

Code: Select all

# repo init -u git://github.com/PAC-man/android.git -b cm-10.1
# repo sync


◯HTL21用のsourceファイルを手配する

@tako0910さんが、device周りをgithubにアップしてくれてます。

それぞれのsourceを、githubからgit clone xxx でダウンロードして、
配置します。(ブランチは -b jb-mr1)

 ・https://github.com/tako0910/android_kernel_htc_dlxj.git
 ⇒ kernel/htc/dlxj-3.4 へ配置

 ・https://github.com/CyanogenMod/android_ ... tc_msm8960
 ⇒ kernel/htc/msm8960

 ・https://github.com/tako0910/android_device_htc_dlxj.git
 ⇒ device/htc/dlxj

 ・https://github.com/tako0910/android_dev ... common.git
 ⇒ device/htc/msm8960-common

 ・https://github.com/tako0910/android_vendor_htc_dlxj.git
 ⇒ vendor/htc/dlxj

◯ビルドに必要なファイルを追加・修正

 ・https://gist.github.com/caplio/5570385
 ⇒ vendor/pac/products/pac_dlxj.mk

 ・PACMAN用の設定ファイルをコピーして作る。(DPI480に対応させる)

  pa_m7.conf と pa_ma7のディレクトリを、dlxj用にコピーします。
 

Code: Select all

 $ cp vendor/pac/prebuilt/pa/pa_m7.conf vendor/pac/prebuilt/pa/pa_dlxj.conf
 $ cp -pr vendor/pac/prebuilt/pa/preferences/pa_m7 vendor/pac/prebuilt/pa/preferences/pa_dlxj
 
◯ro.modversionのPA_VERSION表示を変更する

 ro.modversionの設定部分でLANG=ja環境のままビルドすると、
 改行が入ってしまい、ビルドに失敗するバグがあります。

 ・vendor/pac/config/pac_common.mk
 ・vendor/pa/config/pa_common.mk

 上記2つのファイルのPA_VERSION部分で dateコマンドが実行されているので、
 dateコマンド後のオプション表記を、+%Y%m%d-%H%M%S 等に変更すれば、
 LANG=jaでもエラーは出なくなります。

◯ビルドする

 

Code: Select all

$ export LANG=C
$ ./build-pac.sh dlxj
 
※msm8960-commonを使うように修正 2013/05/30

Re: [HOWTO] kernel & Custom ROMのビルド情報

Posted: 2013年May月30日(Thu) 18:37
by caplio
カスタムROM向けに、au 災害対策(緊急地震速報アプリ)を置いておきます。
/system/appに突っ込むだけで、起動は出来ました。
(動作するかは不明。)

※HTC J Butterfly用。

【HTC J butterfly】AOKPのビルド方法

Posted: 2013年May月31日(Fri) 23:34
by tako0910
J蝶向けAOKPのビルド方法です。
repoとかは使えること前提で。もしインストール出来てないならググればすぐ出てきます。
ビルドに必要なパッケージも最初は入ってないと思うので、適宜インストールするかぐぐってみてください。
参考までに、僕がGalaxy NexusのROMをビルドする際環境構築した方法を載せておきます。
http://gadget.takoweb.com/build-jb-for-galaxynexus/

----------
●まずはAOKPのソースコードをダウンロードします。

Code: Select all

 $ repo init -u https://github.com/AOKP/platform_manifest.git -b jb-mr1
 $ repo sync
(最初は結構時間が掛かります)

●dlxj向けファイルのダウンロード
次に、J蝶をサポートするために必要なファイル群をダウンロードします。
AOKPの公式ではJ蝶がサポートされていないためです。一応僕のGitHub上に置いてあるので、それを持ってくるための設定ファイルを書きます。

Code: Select all

$ vi .repo/local_manifest.xml
ファイルの内容は以下のとおりで。
<manifest>
<project path="device/htc/dlxj" name="tako0910/android_device_htc_dlxj" remote="aokp" revision="jb-mr1"/>
<project path="vendor/htc/dlxj" name="tako0910/android_vendor_htc_dlxj" remote="aokp" revision="jb-mr1"/>
<project path="kernel/htc/dlxj-3.4" name="tako0910/android_kernel_htc_dlxj" remote="aokp" revision="jb-mr1"/>
<project path="device/htc/msm8960-common" name="tako0910/android_device_htc_msm8960-common" remote="aokp" revision="cm-10.1"/>
<remove-project name="AOKP/device_asus_tilapia"/>
<remove-project name="AOKP/device_samsung_manta"/>
<remove-project name="AOKP/device_htc_msm8960-common"/>
</manifest>
保存したら、再度

Code: Select all

$ repo sync
をすることで、AOKPのソースコードの他にbutterfly向けのファイル群がダウンロードされます。

●設定ファイル
そして、J蝶向けAOKPをビルドするための設定ファイルを書きます。

Code: Select all

$ vi vendor/aokp/products/dlxj.mk
ファイルの内容は以下のとおり。
# Specify phone tech before including full_phone
$(call inherit-product, vendor/aokp/configs/gsm.mk)

# Release name
PRODUCT_RELEASE_NAME := dlxj

# Inherit some common aokp stuff.
$(call inherit-product, vendor/aokp/configs/common.mk)

# Inherit device configuration
$(call inherit-product, device/htc/dlxj/device_dlxj.mk)

# Device naming
PRODUCT_DEVICE := dlxj
PRODUCT_NAME := aokp_dlxj
PRODUCT_BRAND := htc
PRODUCT_MODEL := HTC J butterfly
PRODUCT_MANUFACTURER := HTC

# Set build fingerprint / ID / Product Name ect.
PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=htc_dlxj BUILD_FINGERPRINT=verizon_wwe/dlxj/dlxj:4.1.1/JRO03C/123160.4:user/release-keys PRIVATE_BUILD_DESC="1.15.605.4 CL123160 release-keys" BUILD_NUMBER=123160
●ビルド
これでJ蝶をサポートするための作業は終わりました。実際にビルドをします。

Code: Select all

$ source ./build/envsetup.sh
$ brunch dlxj
PCのスペックにも依りますが、結構掛かるので気長に待ちましょう。
エラーが出たら適宜修正してください。最初はビルドにパッケージが見つからない等のエラーが出るかもしれないので、適当に突っ込んでいってください。
無事にビルドが終了すると、out/target/product/dlxjにカスタムリカバリから焼けるZipファイルが生成されます。