現在時刻 - 2017年11月19日(日) 21:27


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

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

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

  • 作成者
  • メッセージ
アバター

INLEAF

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

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

投稿記事2014年3月03日(月) 15:17

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

HomuHomu

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

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

投稿記事2014年3月03日(月) 17:53

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

INLEAF

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

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

投稿記事2014年3月03日(月) 18:39

HomuHomu

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

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

投稿記事2014年3月03日(月) 18:48

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

INLEAF

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

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

投稿記事2014年3月03日(月) 18:49

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

HomuHomu

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

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

投稿記事2014年3月03日(月) 21:00

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

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

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

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

HomuHomu

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

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

投稿記事2014年3月03日(月) 21:18

まずはkbcにあるレポジトリから、カーネルソースとRamdiskを落とします
コード: 全て選択
git clone https://github.com/kbc-developers/android_kernel_samsung_msm8660 -b cm-11.0

コード: 全て選択
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

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

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

投稿記事2014年3月03日(月) 21:31

落ち終わったので、次に進みます。
コード: 全て選択
cd ~/android_kernel_samsung_msm8660

コード: 全て選択
git branch -a

してください。githubに存在する全てのブランチが確認出来ると思います。
いやぁ、ブランチ作りまくったw 実験用のゴミブランチも残っているし、掃除しなければ。
Hellybeanさんのレポからfetchしてきます
コード: 全て選択
git fetch git@github.com:Hellybean/android_kernel_samsung_msm8660-common.git cm-11.0:diablo

同じcm-11.0というブランチだと混乱するのでローカルブランチは適当にdiabloとでもしておきます。
また
コード: 全て選択
git branch -a

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

HomuHomu

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

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

投稿記事2014年3月03日(月) 21:38

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

注意してほしいのは常に自分はどのブランチにいて作業しているか抑えておく事です。
間違えると泣くハメに・・・・なるかもです…
まめに
コード: 全て選択
git branch

して確認怠りなきよう。

HomuHomu

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

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

投稿記事2014年3月03日(月) 21:45

コード: 全て選択
git merge diablo > diablo.txt

した結果をここに張り付けます。
https://gist.github.com/HomuHomu/9324147
コード: 全て選択
git merge diablo

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

Return to 開発全般