SC-03Dのkernel source mergeに関する質問

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

Moderator: Samsungモデレータ

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

SC-03Dのkernel source mergeに関する質問

Post by INLEAF » 2014年Mar月03日(Mon) 15:17

SC-03Dのkernelは特殊な感じ(kernel sourceがsamsung_msm8660の改変?)なので、別なレポジトリのkernel sourceをmergeしたあとのconflictの解決の注意点ってありますか?

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

Re: SC-03Dのkernel source mergeに関する質問

Post by HomuHomu » 2014年Mar月03日(Mon) 17:53

只今仕事中なので、マージ元のURLを
おしえて貰ってもいいでしょうか?
基本kbcの8660ソースはこれ以上伸びる事は
ないと思うので、ここでブツブツ言い合いながら
一緒にマージしましょう


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

Re: SC-03Dのkernel source mergeに関する質問

Post by HomuHomu » 2014年Mar月03日(Mon) 18:48

仕事片手間でみてますw
まずはMakefileのカーネルバージョンを見ます。
今回は同じversionなので、バージョンをあわせる
マージ作業はしなくてもokですね。
そのままgit mergeしても、ど派手なコンリクトはしないと思います。
実際のmerge作業(俺流)については
帰宅してからかきます

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

Re: SC-03Dのkernel source mergeに関する質問

Post by INLEAF » 2014年Mar月03日(Mon) 18:49

よろしくおねがいします。
返信待ってます。

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

Re: SC-03Dのkernel source mergeに関する質問

Post by HomuHomu » 2014年Mar月03日(Mon) 21:00

今帰宅しましたです。
早速、本題を行きたいとこですが、この際なので、INLEAFさんが既に解ってるであろう事も含めて
手順を追って作業したいと思います。

と、いうのも、自分は、某所等のくだらなさや、ブログでの転載等にすっかり嫌気さしてしまい
他の端末も全て含め、ゆっくりとフェードアウトするつもりなので
今後、後を引き継いでくれる人が少しでも参考になればと思い出来るだけ丁寧に書こうと思いました。

まだるっこしい感じに思えて歯がゆく思うかも知れませんが、ご容赦ください。

って格好いい事言いながらちゃんとmerge出来るのか?だいぶ久々だぞ俺w

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

Re: SC-03Dのkernel source mergeに関する質問

Post by HomuHomu » 2014年Mar月03日(Mon) 21:18

まずはkbcにあるレポジトリから、カーネルソースとRamdiskを落とします

Code: Select all

git clone https://github.com/kbc-developers/android_kernel_samsung_msm8660 -b cm-11.0

Code: Select all

git clone git@github.com:kbc-developers/sc03d_boot_ramdisk.git -b kk-aosp
はい、いきなり変な事やっています。
あ~~ん?普通AndroidSouceをrepo sync してsetupしてからmake bootimageだろ?
と思われるかも知れません(知ってる人は)
理由があります。
一昔前のandroid kernelはboot.imgの/lib/modulesにモジュールが内包されており
そこからモジュール呼び出す仕様になっていました。
しかし、ある時点から、モジュールの配置場所が/system/lib/modulesになってしまったため
versionmagicがあっていないモジュールは走らなくなってしまったのです。
なので、最近はAOSP用の単体カスタムカーネルってほとんど無いと思います。(ROMとワンセットですよね?)
だけど、海外のROMは海外用のものばかりでいちいち色々なROMビルドするのめんどくさいってことで一撃が生まれた訳なんですが
そのためにはboot,imgにモジュールを内包し、起動時に展開する手法を(KBCは)とりました。
https://github.com/kbc-developers/sc03d ... get.rc#L37
ここを参照してください。
一度、/system/lib/modulesにあるモジュールをtmpfsという特殊なファイルシステム(RAMDISKみたいにメモリ上に存在する)に落とし込んで
再度、/lib/modulesから/system/lib/modulesにリンクを張りなおし、versionmagicのあったモジュールを読み込ませるようにしています。
しかし、qcomは頻繁にramdiskの仕様が変わるため、時々ramdiskをメンテしなおさなければならないというデメリットがありますが
一撃のためには仕方なしということです。

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

Re: SC-03Dのkernel source mergeに関する質問

Post by HomuHomu » 2014年Mar月03日(Mon) 21:31

落ち終わったので、次に進みます。

Code: Select all

cd ~/android_kernel_samsung_msm8660

Code: Select all

git branch -a
してください。githubに存在する全てのブランチが確認出来ると思います。
いやぁ、ブランチ作りまくったw 実験用のゴミブランチも残っているし、掃除しなければ。
Hellybeanさんのレポからfetchしてきます

Code: Select all

git fetch git@github.com:Hellybean/android_kernel_samsung_msm8660-common.git cm-11.0:diablo
同じcm-11.0というブランチだと混乱するのでローカルブランチは適当にdiabloとでもしておきます。
また

Code: Select all

git branch -a
してください。diabloというブランチが新たに出来てるのが解るでしょうか。これがDiablo Kernelさんのソースですね。

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

Re: SC-03Dのkernel source mergeに関する質問

Post by HomuHomu » 2014年Mar月03日(Mon) 21:38

いきなりマージはちょっまっっっっっwなので
作業用ブランチ作ってそこに移動します。名前は適当にkbc-diabloとでも

Code: Select all

git checkout -b kbc-diablo
注意してほしいのは常に自分はどのブランチにいて作業しているか抑えておく事です。
間違えると泣くハメに・・・・なるかもです…
まめに

Code: Select all

git branch
して確認怠りなきよう。

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

Re: SC-03Dのkernel source mergeに関する質問

Post by HomuHomu » 2014年Mar月03日(Mon) 21:45

Code: Select all

git merge diablo > diablo.txt
した結果をここに張り付けます。
https://gist.github.com/HomuHomu/9324147

Code: Select all

git merge diablo
でいいのですが、どこコンフリクトしたかの確認用です。
CONFLICT (content): Merge conflict in ほにゃララがコンフリクト箇所です。
ここを修正する作業に入ります。

Post Reply