[SC03D]CarbonRomなどのROMビルド

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

Moderator: Samsungモデレータ

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

[SC03D]CarbonRomなどのROMビルド

Post by INLEAF » 2014年May月03日(Sat) 16:22

以前自分も戸惑ったことがあったので(汗)
CMと同じ方法でできない時はこの方法でできます。

ここでは環境構築はすでにできているものとして話を進めます。
まずはじめにmanifestの取得です。
Carbonなのでここを参考に。
https://github.com/CarbonDev/android

Code: Select all

repo init -u https://github.com/CarbonDev/android.git -b kk && repo sync -f
これで多分manifestの取得とrepo syncが行われます。

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

Re: [SC03D]CarbonRomなどのROMビルド

Post by INLEAF » 2014年May月03日(Sat) 16:35

次にlocal_manifestを追加してのrepo syncです。
前から思ってたんですけどしょっぱなからlocal_manifest追加してrepo syncするとビルドでコケるんですよね・・・

.repo以下にlocal_manifest.xmlを作成し以下のことを書き込む

Code: Select all

<?xml version="1.0" encoding="UTF-8"?> 
<manifest>
<project name="CyanogenMod/android_hardware_samsung" path="hardware/samsung" remote="github" revision="cm-11.0" />
<project name="kbc-developers/android_device_samsung_qcom-common" path="device/samsung/qcom-common" remote="github" revision="cm-11.0" />
<project name="kbc-developers/android_device_samsung_celox-common" path="device/samsung/celox-common" remote="github" revision="cm-11.0" />
<project name="kbc-developers/android_device_samsung_msm8660-common" path="device/samsung/msm8660-common" remote="github" revision="cm-11.0" />
<project name="kbc-developers/android_device_samsung_celoxdcm" path="device/samsung/celoxdcm" remote="github" revision="cm-11.0" />
<project name="kbc-developers/android_kernel_samsung_msm8660" path="kernel/samsung/msm8660-dcm" remote="github" revision="cm-11.0" />
<project name="kbc-developers/sc03d_boot_ramdisk" path="kernel/samsung/sc03d_boot_ramdisk" remote="github" revision="kk-aosp" />
<project name="kbc-developers/proprietary_vendor_samsung" path="vendor/samsung" remote="github" revision="cm-11.0" />
</manifest>
そしたら再びrepo sync

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

Re: [SC03D]CarbonRomなどのROMビルド

Post by INLEAF » 2014年May月03日(Sat) 16:43

repo syncできない場合は.repo/manifest.xmlを見ましょう。
remoteの名前がgithubではなくghとかになっている時があります。
Carbonの場合はgithubではなくghになっています。
https://github.com/CarbonDev/android/bl ... lt.xml#L19

というわけでlocal_manifestの内容をちょっといじって

Code: Select all

<?xml version="1.0" encoding="UTF-8"?> 
<manifest>
<project name="CyanogenMod/android_hardware_samsung" path="hardware/samsung" remote="gh" revision="cm-11.0" />
<project name="kbc-developers/android_device_samsung_qcom-common" path="device/samsung/qcom-common" remote="gh" revision="cm-11.0" />
<project name="kbc-developers/android_device_samsung_celox-common" path="device/samsung/celox-common" remote="gh" revision="cm-11.0" />
<project name="kbc-developers/android_device_samsung_msm8660-common" path="device/samsung/msm8660-common" remote="gh" revision="cm-11.0" />
<project name="kbc-developers/android_device_samsung_celoxdcm" path="device/samsung/celoxdcm" remote="gh" revision="cm-11.0" />
<project name="kbc-developers/android_kernel_samsung_msm8660" path="kernel/samsung/msm8660-dcm" remote="gh" revision="cm-11.0" />
<project name="kbc-developers/sc03d_boot_ramdisk" path="kernel/samsung/sc03d_boot_ramdisk" remote="gh" revision="kk-aosp" />
<project name="kbc-developers/proprietary_vendor_samsung" path="vendor/samsung" remote="gh" revision="cm-11.0" />
</manifest>
これでrepo syncできるはず。

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

Re: [SC03D]CarbonRomなどのROMビルド

Post by INLEAF » 2014年May月03日(Sat) 16:56

次はビルド・・・と行きたいところですがこのままだとコケます。
その理由はandroid_device_samsung_celoxdcmにあります。
これを見ていただきたい
https://github.com/kbc-developers/andro ... cm/network
おわかりいただけますでしょうか?
あるcommitのところからいろんな人がforkして変更を加えています。
その中にはCarbonDevさんの名前も・・・
この変更のせいでビルドできないのです。

というわけでうちのdeviceにもCarbonDevさんと同じ変更を加えましょう。

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

Re: [SC03D]CarbonRomなどのROMビルド

Post by INLEAF » 2014年May月03日(Sat) 17:10

自分のgithubアカウントは持っていますか?持っていたらこれからの作業はとても楽です。
持っている人はandroid_device_samsung_celoxdcmをforkします。
https://github.com/kbc-developers/andro ... g_celoxdcm
forkしたら自分のとこからgit cloneしてください。
持ってない人は下のでok

Code: Select all

git clone git://github.com/kbc-developers/android_device_samsung_celoxdcm.git -b cm-11.0
そしたらbranchを切り替えます。
名前はceloxdcm-carbonとでもしておきましょう

Code: Select all

git checkout -b celoxdcm-carbon
ここでbranchの確認。

Code: Select all

git branch -a
自分がceloxdcm-carbonにいることがわかります。
そしたらCarbonDevさんのところから変更を加えられたやつをfetchしてきましょう。

Code: Select all

git fetch git://github.com/CarbonDev/android_device_samsung_skyrocket.git kk:skyrocket-carbon
そしたらgit cherry-pickでCarbonさんのcommitをポチポチ当てていきます。
conflictが発生すると思いますがそこら辺はいい感じに解決してください。

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

Re: [SC03D]CarbonRomなどのROMビルド

Post by INLEAF » 2014年May月03日(Sat) 17:36

全部当てましたか?
ならばアカウントを持っている人は自分のところにpushしましょう。

Code: Select all

git push origin celoxdcm-carbon:carbon-kk
local_manifestにのandroid_device_samsung_celoxdcmのところをkbcから自分に変更

Code: Select all

変更前
<project name="kbc-developers/android_device_samsung_celoxdcm" path="device/samsung/celoxdcm" remote="gh" revision="cm-11.0" />
変更後
<project name="~~~/android_device_samsung_celoxdcm" path="device/samsung/celoxdcm" remote="gh" revision="carbon-kk" />
~~~には自分のユーザー名
変更したらrepo sync -f

要するにdevice/samsung/celoxdcm以下が変更されてればいいのでceloxdcm以下を全部消して全コピペでもいいです。

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

Re: [SC03D]CarbonRomなどのROMビルド

Post by INLEAF » 2014年May月03日(Sat) 17:41

ようやくビルド・・・

Code: Select all

. build/envsetup.sh
lunch carbon_celoxdcm-userdebug
make carbon -j#
#には任意の数
これでビルドできるはず・・・

予想以上に時間がかかってしまったorz
まあ暇だから書いたんだけど。

おしまい。。。

Post Reply