差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
kitsuneko-edit-kernel-config [2022/02/16 00:13] shimadakitsuneko-edit-kernel-config [2022/02/28 21:56] (現在) shimada
行 3: 行 3:
 ここでは、defconfig からの差分で kernel の config を生成する方法について記述している ここでは、defconfig からの差分で kernel の config を生成する方法について記述している
  
-  * Q: なぜフルの config を入れるではなく、defconfig からの差分を取る必要があるのか?  A: 差分で取っていたほうが、将来のバージョンアップ時にわかりやすく、変更が把握・追従しやすいためである。+  * Q: なぜフルの config をリポジトリに入れるではなく、defconfig からの差分を取るのか? 
 +    *   A: 差分で取っていたほうが、将来のバージョンアップ時にわかりやすく、変更が把握・追従しやすいためである。
   * 一応Yoctoはレイヤごとにkernelのconfigを分けることができるなど、より細かな組み方ができるのだが、以下の手順はあくまでここん流のやり方なので、参考程度に。   * 一応Yoctoはレイヤごとにkernelのconfigを分けることができるなど、より細かな組み方ができるのだが、以下の手順はあくまでここん流のやり方なので、参考程度に。
-  * 以下の例のうち、 tmp/work/... と記載しているディレクトリは、ビルド環境やパラメータによって大きく異なるので、適時読み替える必要がある+  * 以下の例のうち、 tmp-glibc/work/... と記載しているディレクトリは、ビルド環境やパラメータによって大きく異なるので、適時読み替える必要がある
  
 ===== 編集する部分 ===== ===== 編集する部分 =====
行 35: 行 36:
 <code> <code>
 $ source ./opencocon-init-build-env $ source ./opencocon-init-build-env
-$ bitbake linux-longterm -c clean 
 $ bitbake linux-longterm -c kernel_configme -f $ bitbake linux-longterm -c kernel_configme -f
 </code> </code>
   * オリジナルの .config ができるので。これを一旦buildディレクトリの外にコピーしておく。   * オリジナルの .config ができるので。これを一旦buildディレクトリの外にコピーしておく。
 <code> <code>
-$ cp tmp/work/coconx64-poky-linux/linux-longterm/5.10.36-r0/linux-coconx64-standard-build/.config config-5.10.orig+$ cp tmp/work-glibc/coconx64-poky-linux/linux-longterm/5.10.36-r0/linux-coconx64-standard-build/.config config-5.10.orig
 </code> </code>
  
行 58: 行 58:
   * オリジナルの .config ができるので。これを一旦buildディレクトリの外にコピーしておく。   * オリジナルの .config ができるので。これを一旦buildディレクトリの外にコピーしておく。
 <code> <code>
-$ cp tmp/work/coconx64-poky-linux/linux-longterm/5.10.36-r0/linux-coconx64-standard-build/.config config-5.10.orig+$ cp tmp/work-glibc/coconx64-poky-linux/linux-longterm/5.10.36-r0/linux-coconx64-standard-build/.config config-5.10.orig
 </code> </code>
   * 次に、coconx64-standard.scc において、前のバージョンの差分config、または defconfig の記述のある kconf 行を有効化(アンコメント)し、以下のコマンドで再度 .config を生成する   * 次に、coconx64-standard.scc において、前のバージョンの差分config、または defconfig の記述のある kconf 行を有効化(アンコメント)し、以下のコマンドで再度 .config を生成する
行 67: 行 67:
   * ここまでの差分を取る。 ここでできた差分 config ファイルが編集のたたき台となる。なお、コメントを削りたくないときは、最後2つのsedコマンドを適時編集する。   * ここまでの差分を取る。 ここでできた差分 config ファイルが編集のたたき台となる。なお、コメントを削りたくないときは、最後2つのsedコマンドを適時編集する。
 <code> <code>
-$ diff -Nurp config-5.10.orig tmp/work/coconx64-poky-linux/linux-longterm/5.10.36-r0/linux-coconx64-standard-build/.config | sed -n "s/^\+//p" | sed "1d" | grep "CONFIG" > config-5.10-diff+$ diff -Nurp config-5.10.orig tmp-glibc/work/coconx64-poky-linux/linux-longterm/5.10.36-r0/linux-coconx64-standard-build/.config | sed -n "s/^\+//p" | sed "1d" | grep "CONFIG" > config-5.10-diff
 </code> </code>
   * あとはリポジトリに反映する   * あとはリポジトリに反映する
行 76: 行 76:
 ===== kernel の config チューニングをするとき ===== ===== kernel の config チューニングをするとき =====
  
-  * menuconfigを動かして、チューニングを行う。+下記の手順の代わりに、coconx64.cfg を直接編集して書き加えてもよいとは思うが、整合性をあわせるため、できるだけ menuconfig か oldconfig を通しておいたほうがよいように思う。 
 + 
 +  前述の準備ができたら、menuconfigを動かして、チューニングを行う。
 <code> <code>
 $ bitbake linux-longterm -c clean $ bitbake linux-longterm -c clean
 +$ bitbake linux-longterm -c kernel_configme -f
 $ bitbake linux-longterm -c menuconfig $ bitbake linux-longterm -c menuconfig
 </code> </code>
行 86: 行 89:
   * オリジナルの .config と、今回 menuconfig で編集した内容の差分を取る   * オリジナルの .config と、今回 menuconfig で編集した内容の差分を取る
 <code> <code>
-$ diff -Nurp config-5.10.orig tmp/work/coconx64-poky-linux/linux-longterm/5.10.36-r0/linux-coconx64-standard-build/.config | sed -n "s/^\+//p" | sed "1d" | grep "CONFIG" > config-5.10-diff2+$ diff -Nurp config-5.10.orig tmp/work-glibc/coconx64-poky-linux/linux-longterm/5.10.36-r0/linux-coconx64-standard-build/.config | sed -n "s/^\+//p" | sed "1d" | grep "CONFIG" > config-5.10-diff2
 </code> </code>
  
文書の先頭へ