差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
kitsuneko-edit-kernel-config [2022/02/16 00:08] – shimada | kitsuneko-edit-kernel-config [2022/02/28 21:56] (現在) – shimada | ||
---|---|---|---|
行 1: | 行 1: | ||
+ | ====== ここん・きつねこにおける kernel の config 編集方法 ====== | ||
ここでは、defconfig からの差分で kernel の config を生成する方法について記述している | ここでは、defconfig からの差分で kernel の config を生成する方法について記述している | ||
- | * なぜフルの config を入れるではなく、defconfig からの差分を取るのか?というと、差分で取っていたほうが、将来のバージョンアップ時にわかりやすく、変更が把握・追従しやすいためである。 | + | * Q: なぜフルの config をリポジトリに入れるのではなく、defconfig からの差分を取るのか? |
- | * 一応Yoctoはレイヤごとにkernelのconfigを分けることができるなど、より色んな組み方ができるのだが、以下の手順はあくまでここん流のやり方なので、参考程度に。 | + | * |
- | * 以下の例のうち、 tmp/ | + | * 一応Yoctoはレイヤごとにkernelのconfigを分けることができるなど、より細かな組み方ができるのだが、以下の手順はあくまでここん流のやり方なので、参考程度に。 |
+ | * 以下の例のうち、 tmp-glibc/work/... と記載しているディレクトリは、ビルド環境やパラメータによって大きく異なるので、適時読み替える必要がある | ||
===== 編集する部分 ===== | ===== 編集する部分 ===== | ||
行 20: | 行 22: | ||
</ | </ | ||
この例では coconx64.cfg が、今回の説明で作る差分 kernel config である。 | この例では coconx64.cfg が、今回の説明で作る差分 kernel config である。 | ||
+ | |||
+ | linux-longterm_%.bbappend の以下の行の値に、Linux kernelであらかじめ入っている、各プラットフォームごとに定められた defconfig をあらかじめ入れておくようにする。 | ||
+ | < | ||
+ | KBUILD_DEFCONFIG_coconx64 = " | ||
+ | </ | ||
===== 1からターゲットを起こす場合の準備 ===== | ===== 1からターゲットを起こす場合の準備 ===== | ||
行 29: | 行 36: | ||
< | < | ||
$ source ./ | $ source ./ | ||
- | $ bitbake linux-longterm -c clean | ||
$ bitbake linux-longterm -c kernel_configme -f | $ bitbake linux-longterm -c kernel_configme -f | ||
</ | </ | ||
* オリジナルの .config ができるので。これを一旦buildディレクトリの外にコピーしておく。 | * オリジナルの .config ができるので。これを一旦buildディレクトリの外にコピーしておく。 | ||
< | < | ||
- | $ cp tmp/ | + | $ cp tmp/work-glibc/ |
</ | </ | ||
行 52: | 行 58: | ||
* オリジナルの .config ができるので。これを一旦buildディレクトリの外にコピーしておく。 | * オリジナルの .config ができるので。これを一旦buildディレクトリの外にコピーしておく。 | ||
< | < | ||
- | $ cp tmp/ | + | $ cp tmp/work-glibc/ |
</ | </ | ||
* 次に、coconx64-standard.scc において、前のバージョンの差分config、または defconfig の記述のある kconf 行を有効化(アンコメント)し、以下のコマンドで再度 .config を生成する | * 次に、coconx64-standard.scc において、前のバージョンの差分config、または defconfig の記述のある kconf 行を有効化(アンコメント)し、以下のコマンドで再度 .config を生成する | ||
行 61: | 行 67: | ||
* ここまでの差分を取る。 ここでできた差分 config ファイルが編集のたたき台となる。なお、コメントを削りたくないときは、最後2つのsedコマンドを適時編集する。 | * ここまでの差分を取る。 ここでできた差分 config ファイルが編集のたたき台となる。なお、コメントを削りたくないときは、最後2つのsedコマンドを適時編集する。 | ||
< | < | ||
- | $ diff -Nurp config-5.10.orig tmp/ | + | $ diff -Nurp config-5.10.orig tmp-glibc/ |
</ | </ | ||
* あとはリポジトリに反映する | * あとはリポジトリに反映する | ||
行 70: | 行 76: | ||
===== kernel の config チューニングをするとき ===== | ===== kernel の config チューニングをするとき ===== | ||
- | | + | 下記の手順の代わりに、coconx64.cfg を直接編集して書き加えてもよいとは思うが、整合性をあわせるため、できるだけ menuconfig か oldconfig を通しておいたほうがよいように思う。 |
+ | |||
+ | | ||
< | < | ||
$ 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 | ||
</ | </ | ||
行 80: | 行 89: | ||
* オリジナルの .config と、今回 menuconfig で編集した内容の差分を取る | * オリジナルの .config と、今回 menuconfig で編集した内容の差分を取る | ||
< | < | ||
- | $ diff -Nurp config-5.10.orig tmp/ | + | $ diff -Nurp config-5.10.orig tmp/work-glibc/ |
</ | </ | ||