【Ramdisk更新】一撃用kernel作成法(各デバイス共通)

Post a reply

Confirmation code
Enter the code exactly as it appears. All letters are case insensitive.
Smilies
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :arrow: :| :mrgreen: :geek: :ugeek:

BBCode is ON
[img] is OFF
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: 【Ramdisk更新】一撃用kernel作成法(各デバイス共通)

Re: 【Ramdisk更新】一撃用kernel作成法(各デバイス共通)

by Saburo Jiro » 2014年Dec月11日(Thu) 20:49

あるいはhttps://github.com/CyanogenMod/android_kernel_samsung_hlte/blob/cm-11.0/init/main.c#L941-949

が関係あるのでしょうか?

Re: 【Ramdisk更新】一撃用kernel作成法(各デバイス共通)

by Saburo Jiro » 2014年Dec月09日(Tue) 21:15

HomuHomu wrote:

Code: Select all

out/target/product/celoxdcm/root
以下にある空のディレクトリ(サブディレクトリも含む)に
.gitignore
という名前の空のドキュメント(ファイル)を作ってください。

Code: Select all

touch .gitignore
とかするより
ぶっちゃけ、GUI操作の方が楽だし確実です個人的にw
オプションから隠しファイルを表示するにチェックでも入れてやっちゃいます。
次に

Code: Select all

cd out/target/product/celoxdcm/root
chmod 755 *.rc
chmod 755 *.sh
そう、init時に走るファイルに実行権限がついてないんですよね…ビルド完了時につけてくれればいいのに
(たまに自分も忘れて、「おい、起動しねぇぞゴラ!」とかやっちゃいます。)
ビルド時に実行権限をつける件
https://github.com/CyanogenMod/android_ ... m_config.h
に追記したら出来る様な気がするのですが

Re: 【Ramdisk更新】一撃用kernel作成法(各デバイス共通)

by HomuHomu » 2014年May月10日(Sat) 07:35

失礼しました
ここに書いてたfetch処理の部分でしたのね
直しておきました

Re: 【Ramdisk更新】一撃用kernel作成法(各デバイス共通)

by HomuHomu » 2014年May月10日(Sat) 07:30

??
来るべき時が来たのか、と思って見てみましたが
https://github.com/CyanogenMod/android_ ... pendencies
https://github.com/kbc-developers/andro ... pendencies
変わってはいませんね
週末、時間があれば見てみますが、多分Fetch元を間違えたのでは?(俺も以前よくやらかした)
device/samsung/msm8660-common
消してsyncしなおして見ては?

Re: 【Ramdisk更新】一撃用kernel作成法(各デバイス共通)

by INLEAF » 2014年May月10日(Sat) 00:26

HomuHomu wrote:その後repo syncし
kbc-developersから引っ張ってきたものだけを改めてCyanogenModからFetchして引っ張りmergeします。

Code: Select all

cd device/samsung/qcom-common
git fetch git@github.com:CyanogenMod/android_device_samsung_qcom-common.git cm-11.0
git merge FETCH_HEAD
cd ../msm8660-common
git fetch git@github.com:CyanogenMod/android_device_samsung_msm8960-common.git cm-11.0
git merge FETCH_HEAD
cd ../celox-common
git fetch git@github.com:CyanogenMod/android_device_samsung_celox-common.git cm-11.0
git merge FETCH_HEAD
cd ../celoxdcm
git fetch git@github.com:CyanogenMod/android_device_samsung_hercules.git cm-11.0
git merge FETCH_HEAD
cd ../../../kernel/samsung/msm8660-dcm
git fetch git@github.com:CyanogenMod/android_kernel_samsung_msm8660-common.git cm-11.0
git merge FETCH_HEAD
cd ../../../vendor/samsung
git fetch git@github.com:TheMuppets/proprietary_vendor_samsung.git cm-11.0
git merge FETCH_HEAD
msm8660の場合、もうほとんどコンフリクトは発生しないと思います。
merge用のスクリプトを自作してもいいかもしれませんね。(というか、その方が早い)
発生した場合は、git diffしてコンフリクト箇所を適時geditかなにかで修正してください。
不明な場合でもCyanogenMod側で何を修正したのか見れば、おおよそ見当がつくと思います。
device/samsung/msm8660-commonだけコンフリクトめっちゃ出ると思ったらcmのsourceがmsm8960-commonになってますね。。。
修正おねがいしますm(__)m

Re: 【Ramdisk更新】一撃用kernel作成法(各デバイス共通)

by 173210 » 2014年Mar月10日(Mon) 21:16

HomuHomu wrote:
173210 wrote:
HomuHomu wrote:その後

Code: Select all

. build/envsetup.sh
brunch cm_celoxdcm-userdebug
って、ここまでまんまROMビルドの方法ですが
更新されたRAMDISKを得るためにはこれしか方法がないので(笑)
んで、テレビでも見ながらしばし待つ。
ビルドでコケたら泣いた後、ダメダメだった所を見て、直せそうなとこなら直す。

Code: Select all

. build/envsetup.sh
lunch cm_celoxdcm-userdebug
make ramdisk-nodeps
これでどうでしょう?
それ、やったことないんで、後で試してみますw フォローどうもですw
あと調べてみたところ、make recoveryimageならdependencesも含めてビルドできるようです。

Re: 【Ramdisk更新】一撃用kernel作成法(各デバイス共通)

by HomuHomu » 2014年Mar月09日(Sun) 21:42

最後は、
皆、お持ちのはずの(笑)
make_JP_CompleteROM_SC03D
の中に、先に出来上がったboot.imgを19_boot.imgに名前を替え
上書きすれば完成です。
ちなみに、19とかはAndroid VersionのAPIレベルに準じてます
Jellybeanの際、Jellybeanのまま、APIが上がっていったため
Android 4.4の場合は19ですね。

んでここから先は蛇足です。(github等remoteにpush出来る環境を持ってる方のみの話です)
というか、皆githubにアカウント作れよ!!ビルドするならw

このままrepo syncしたらエラーかかってしまうんで
sc03d_boot_ramdisk戻して
repo syncしたら後の祭りだゴラァぁぁ!
なので、自分のgithubのレポジトリにgit@github.com:kbc-developers/sc03d_boot_ramdisk.gitからforkして

Code: Select all

git commit -a
commit名は適当に「UpdateRamdisk」でも「merge from cm11」でも適当に

Code: Select all

git remote add kk-aosp git@github.com:(作ったアカウント)/sc03d_boot_ramdisk.git
git push kk-aosp
で自分のアカウントに更新したsc03d_boot_ramdiskが反映されるので
あとはlocal_manifestの
<project name="kbc-developers/sc03d_boot_ramdisk" path="kernel/samsung/sc03d_boot_ramdisk" remote="github" revision="kk-aosp" />

<project name="(作ったアカウント)/sc03d_boot_ramdisk" path="kernel/samsung/sc03d_boot_ramdisk" remote="github" revision="kk-aosp" />
に変更すれば次のrepo syncで自分のアカウントからsc03d_boot_ramdiskが持ってくるはず(エラーかかったらローカルのsc03d_boot_ramdisk消してもう一度repo sync)

そんなこんなで頑張って下さい。
自分は婚活に励みます。

Re: 【Ramdisk更新】一撃用kernel作成法(各デバイス共通)

by HomuHomu » 2014年Mar月09日(Sun) 21:22

173210 wrote:
HomuHomu wrote:その後

Code: Select all

. build/envsetup.sh
brunch cm_celoxdcm-userdebug
って、ここまでまんまROMビルドの方法ですが
更新されたRAMDISKを得るためにはこれしか方法がないので(笑)
んで、テレビでも見ながらしばし待つ。
ビルドでコケたら泣いた後、ダメダメだった所を見て、直せそうなとこなら直す。

Code: Select all

. build/envsetup.sh
lunch cm_celoxdcm-userdebug
make ramdisk-nodeps
これでどうでしょう?
それ、やったことないんで、後で試してみますw フォローどうもですw

Re: 【Ramdisk更新】一撃用kernel作成法(各デバイス共通)

by HomuHomu » 2014年Mar月09日(Sun) 21:21

次に
sc03d_boot_ramdisk内にあるドキュメントを全て削除!
ただし、git管理ファイルがある場所(/.gitディレクトリ)は残してください。
そして、out/target/product/celoxdcm/root/
以下にあるドキュメントを全て
sc03d_boot_ramdiskにコピー
git diffし
変更点を確認してください。
これでRamdiskの更新は完了
後は、kernel/samsung/msm8660-dcmディレクトリで

Code: Select all

./build-sc03d_aosp.sh
しビルド完了すれば
kernel/samsung/msm8660-dcm/SC03D/AOSP/bin
以下に
boot.img とxxxx-signed.zipとodinで焼く用のxxx-tar.md5が出来上がっている事でしょう。
この中にはフルビルドで出来上がったboot.imgとは違い、Moduleが入っているためWifi繋がんネーゾゴラァ!ってことにはならないかと
(dhd.ko以外に別な変更点が入っていなければ・・・)

Re: 【Ramdisk更新】一撃用kernel作成法(各デバイス共通)

by 173210 » 2014年Mar月09日(Sun) 21:13

HomuHomu wrote:その後

Code: Select all

. build/envsetup.sh
brunch cm_celoxdcm-userdebug
って、ここまでまんまROMビルドの方法ですが
更新されたRAMDISKを得るためにはこれしか方法がないので(笑)
んで、テレビでも見ながらしばし待つ。
ビルドでコケたら泣いた後、ダメダメだった所を見て、直せそうなとこなら直す。

Code: Select all

. build/envsetup.sh
lunch cm_celoxdcm-userdebug
make ramdisk-nodeps
これでどうでしょう?

Top