現在時刻 - 2017年9月20日(水) 23:45


CWM/TWRPのBuild方法について

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

モデレータ: Samsungモデレータ

  • 作成者
  • メッセージ

Garry050

  • 記事: 8
  • 登録日時: 2014年2月28日(金) 21:52

CWM/TWRPのBuild方法について

投稿記事2014年4月30日(水) 22:50

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

tkawajir

  • 記事: 67
  • 登録日時: 2014年2月20日(木) 12:24

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

投稿記事2014年5月01日(木) 12:26

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

https://github.com/omnirom/android_bootable_recovery

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

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

HomuHomu

  • 記事: 211
  • 登録日時: 2013年5月30日(木) 21:31

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

投稿記事2014年5月01日(木) 21:51

local_manifestに下記のような追加記述するといい感じかと
コード: 全て選択
<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_samsung_hercules/blob/ics/BoardConfig.mk#L51
https://github.com/TeamWin/device_samsung_hercules/blob/ics/recovery.fstab

こんな感じ的ななにか
アバター

INLEAF

  • 記事: 20
  • 登録日時: 2014年3月01日(土) 13:33

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

投稿記事2014年5月01日(木) 22:09

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

HomuHomu

  • 記事: 211
  • 登録日時: 2013年5月30日(木) 21:31

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

投稿記事2014年5月01日(木) 22:22

tkawajirさん載せてるのは、本家からForkしたOminiromのレポなんで
https://github.com/omnirom/android
実際には
コード: 全て選択
repo init -u git://github.com/omnirom/android.git -b android-4.4

でフルビルドした方が確実かもしれない感じかもと思ってみたり。
アバター

tkawajir

  • 記事: 67
  • 登録日時: 2014年2月20日(木) 12:24

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

投稿記事2014年5月02日(金) 23:26

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

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

すいません。

lawn

  • 記事: 7
  • 登録日時: 2014年1月22日(水) 19:09

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

投稿記事2014年6月09日(月) 00:09

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

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

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

2.作業フォルダに移動
コード: 全て選択
cd ”terminalに作業フォルダごとドラッグアンドドロップすると楽”


3.↓のURLからgit clone
https://github.com/omnirom/android_bootable_recovery
コード: 全て選択
git clone -b android-4.4 git@github.com:omnirom/android_bootable_recovery.git bootable/recovery


4./device/samsung/msm8660-common/BoardConfigCommon.mkのファイルを見る
↓の記述がないかみる
コード: 全て選択
TARGET_RECOVERY_INITRC :=

この機種はなかったのでスルー
もしあったらそのinit.rcに以下を記述
コード: 全て選択
export PATH /sbin
export LD_LIBRARY_PATH .:/sbin



4-1.# Recovery の部分を編集
コード: 全て選択
# Recovery
TARGET_RECOVERY_PIXEL_FORMAT := "RGBX_8888"
TARGET_RECOVERY_FSTAB := device/samsung/msm8660-common/rootdir/etc/fstab.qcom
RECOVERY_FSTAB_VERSION := 2

と下にも# Recovery があったので注意
コード: 全て選択
# Recovery
BOARD_CUSTOM_GRAPHICS := ../../../device/samsung/msm8660-common/recovery/graphics.c


ここの
コード: 全て選択
TARGET_RECOVERY_FSTAB := device/samsung/msm8660-common/rootdir/etc/fstab.qcom
RECOVERY_FSTAB_VERSION := 2

以外をすべて消して# TWRP config を追加↓
https://github.com/TeamWin/device_samsung_hercules/blob/ics/BoardConfig.mk#L51

5.fstabの編集
さっきの/device/samsung/msm8660-common/BoardConfigCommon.mkのファイルに
コード: 全て選択
TARGET_RECOVERY_FSTAB := device/samsung/msm8660-common/rootdir/etc/fstab.qcom

という記述があるのがわかると思うのでそこのファイルを開いて↓のURLように編集する
https://github.com/TeamWin/device_samsung_hercules/blob/ics/recovery.fstab
この機種はこんな感じになった
コード: 全て選択
# 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/android_device_samsung_msm8660-common/blob/cm-11.0/rootdir/etc/fstab.qcom
コード: 全て選択
# 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
コード: 全て選択
. 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
コード: 全て選択
. 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にするとき(または逆の場合)は
使えないはずです

Return to 開発全般

cron