CWM/TWRPのBuild方法について

カーネルやカスタムROMに関する話題・質問はこちらへ

Moderator: Samsungモデレータ

Post Reply
Garry050
Posts: 8
Joined: 2014年Feb月28日(Fri) 21:52

CWM/TWRPのBuild方法について

Post by Garry050 » 2014年Apr月30日(Wed) 22:50

自分でなんとかCyanogenMod 11.0をビルドできたんで次はCWMとTWRPをビルドしたいのですが
イマイチ手順がわからず難航しています。CWMはCMから抜き出せばいいっぽい(?)んですが
TWRP 2.7.0.0をどこから引き出していいのかサッパリなんです。
.imgを展開してソースを取り出すのかカスタムROMビルドのようにrepo init -uして手に入れるのか
教えてください。

User avatar
tkawajir
Posts: 67
Joined: 2014年Feb月20日(Thu) 12:24

Re: CWM/TWRPのBuild方法について

Post by tkawajir » 2014年May月01日(Thu) 12:26

TWRPの最新ソースは、ここにあります。

https://github.com/omnirom/android_bootable_recovery

どこか適当なフォルダにgit cloneして、元のCWMのソースをきれいに削除、
TWRPのソースと入れ替えます。bootable/recoveryだったかな?

あとは、デバイスのコンフィグファイルにTWRP用の設定を追加して、
make -j4 recoveryimageでTWRPが出来上がります。

HomuHomu
Posts: 211
Joined: 2013年May月30日(Thu) 21:31

Re: CWM/TWRPのBuild方法について

Post by HomuHomu » 2014年May月01日(Thu) 21:51

local_manifestに下記のような追加記述するといい感じかと

Code: Select all

<remove-project name="CyanogenMod/android_bootable_recovery" path="android/bootable/recovery" />
<project name="TeamWin/Team-Win-Recovery-Project" path="android/bootable/recovery"  remote="github" revision="twrp2.7" />
あとは下のガイドを参考に
http://forum.xda-developers.com/showthr ... ?t=1943625

ざっくり言うと、fsabの記述方法が微妙に(かなり?)違うのと
TWRP用のフラグつけるといいんじゃね的な

多分訊きたいのはSC03Dだと思うんで
https://github.com/TeamWin/device_samsu ... fig.mk#L51
https://github.com/TeamWin/device_samsu ... very.fstab

こんな感じ的ななにか

User avatar
INLEAF
Posts: 20
Joined: 2014年Mar月01日(Sat) 13:33

Re: CWM/TWRPのBuild方法について

Post by INLEAF » 2014年May月01日(Thu) 22:09

二人のTWRPのソースが違いますけどどっちのソースでもいいってことですか?

HomuHomu
Posts: 211
Joined: 2013年May月30日(Thu) 21:31

Re: CWM/TWRPのBuild方法について

Post by HomuHomu » 2014年May月01日(Thu) 22:22

tkawajirさん載せてるのは、本家からForkしたOminiromのレポなんで
https://github.com/omnirom/android
実際には

Code: Select all

repo init -u git://github.com/omnirom/android.git -b android-4.4
でフルビルドした方が確実かもしれない感じかもと思ってみたり。

User avatar
tkawajir
Posts: 67
Joined: 2014年Feb月20日(Thu) 12:24

Re: CWM/TWRPのBuild方法について

Post by tkawajir » 2014年May月02日(Fri) 23:26

おっと、ほむさん追記ありがとうございます。

中途半端な知識で、確認もせずに書き込むとダメですね。
正しいと思い込んでました。(^_^;)

すいません。

lawn
Posts: 7
Joined: 2014年Jan月22日(Wed) 19:09

Re: CWM/TWRPのBuild方法について

Post by lawn » 2014年Jun月09日(Mon) 00:09

CMベースでTWRPをbuildする[例SC-03D]

まずはCMかaojpをrepo syncした後を想定して書いてます

1.作業フォルダのbootable/recoveryのフォルダを消す

2.作業フォルダに移動

Code: Select all

cd ”terminalに作業フォルダごとドラッグアンドドロップすると楽”
3.↓のURLからgit clone
https://github.com/omnirom/android_bootable_recovery

Code: Select all

git clone -b android-4.4 git@github.com:omnirom/android_bootable_recovery.git bootable/recovery
4./device/samsung/msm8660-common/BoardConfigCommon.mkのファイルを見る
↓の記述がないかみる

Code: Select all

TARGET_RECOVERY_INITRC := 
この機種はなかったのでスルー
もしあったらそのinit.rcに以下を記述

Code: Select all

export PATH /sbin
export LD_LIBRARY_PATH .:/sbin

4-1.# Recovery の部分を編集

Code: Select all

# Recovery
TARGET_RECOVERY_PIXEL_FORMAT := "RGBX_8888"
TARGET_RECOVERY_FSTAB := device/samsung/msm8660-common/rootdir/etc/fstab.qcom
RECOVERY_FSTAB_VERSION := 2
と下にも# Recovery があったので注意

Code: Select all

# Recovery
BOARD_CUSTOM_GRAPHICS := ../../../device/samsung/msm8660-common/recovery/graphics.c
ここの

Code: Select all

TARGET_RECOVERY_FSTAB := device/samsung/msm8660-common/rootdir/etc/fstab.qcom
RECOVERY_FSTAB_VERSION := 2
以外をすべて消して# TWRP config を追加↓
https://github.com/TeamWin/device_samsu ... fig.mk#L51

5.fstabの編集
さっきの/device/samsung/msm8660-common/BoardConfigCommon.mkのファイルに

Code: Select all

TARGET_RECOVERY_FSTAB := device/samsung/msm8660-common/rootdir/etc/fstab.qcom
という記述があるのがわかると思うのでそこのファイルを開いて↓のURLように編集する
https://github.com/TeamWin/device_samsu ... very.fstab
この機種はこんな感じになった

Code: Select all

# Android fstab file.
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK

#<src>
/boot       emmc        /dev/block/mmcblk0p8
/efs        ext4        /dev/block/mmcblk0p21
/recovery   emmc        /dev/block/mmcblk0p22
/data       ext4        /dev/block/mmcblk0p25 length=-16384
/system     ext4        /dev/block/mmcblk0p24
/cache      ext4        /dev/block/mmcblk0p26
/sdcard       vfat        /dev/block/mmcblk0p28
/external_sdcard     vfat        /dev/block/mmcblk1p1    /dev/block/mmcblk1
元はこんな感じなので違いを見比べてください
https://github.com/kbc-developers/andro ... fstab.qcom

Code: Select all

# Android fstab file.
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK

#<src>                                              <mnt_point>         <type>  <mnt_flags and options>                                                  <fs_mgr_flags>
/dev/block/mmcblk0p8                                /boot               emmc    defaults                                                                 defaults
/dev/block/mmcblk0p22                               /recovery           emmc    defaults                                                                 defaults
/dev/block/mmcblk0p24                               /system             ext4    ro,errors=panic                                                          wait
/dev/block/mmcblk0p26                               /cache              ext4    nosuid,nodev,barrier=1                                                   wait,check
/dev/block/mmcblk0p21                               /efs                ext4    nosuid,nodev,barrier=1                                                   wait,check
/dev/block/mmcblk0p25                               /data               ext4    nosuid,nodev,noatime,noauto_da_alloc,errors=panic                        wait,check,encryptable=footer,length=-16384
/devices/platform/msm_sdcc.1/mmc_host/mmc0/mmc0     auto                auto    defaults                                                                 voldmanaged=sdcard0:28,nonremovable,noemulatedsd
/devices/platform/msm_sdcc.3/mmc_host/mmc2/mmc2     auto                auto    defaults                                                                 voldmanaged=sdcard1:auto,noemulatedsd
/devices/platform/msm_hsusb_host.0                  auto                auto    defaults                                                                 voldmanaged=usbdisk:auto
6.make

Code: Select all

. build/envsetup.sh
lunch cm_celoxdcm-userdebug
make -j12 recoveryimage
7.sc03d_recovery_ramdiskのフォルダを作成
kernel/samsung/に(mkdirでコマンド入力でもいいけどめんどくさいので右クリックフォルダ作成でw)

8.out/target/product/celoxdcm/recovery/rootの中身をすべてコピーして
kernel/samsung/sc03d_recovery_ramdiskの中に放り込む

9.kernel/samsung/msm8660-dcmのフォルダがあるところに移動(cd
make

Code: Select all

. build-sc03d_recovery.sh
あとは勝手にmsm8660-dcm/out/SC03D/RECO/bin以下ディレクトリにできてる
名前がCWMの名前になってるけど気になるならrecovery_versionを編集すればok

※補足 CWM作成は6-9までの手順で

できたやつ↓
http://www1.axfc.net/u/3254567
めんどくさかったのでリネームしてないでs


やっぱリネームした
http://www1.axfc.net/u/3255980

某所には書けないんでこちらで
ただリネームしただけではダメみたいなんで再upしました。
すみません

作り方はわかったはずなんで今後自分がupすることはないでしょう。
zip形式のはupdate用なんでCWM→TWRPにするとき(または逆の場合)は
使えないはずです

Post Reply