文書の過去の版を表示しています。


ここでは、defconfig からの差分で kernel の config を生成する方法について記述している

  • なぜフルの config を入れるではなく、defconfig からの差分を取るのか?というと、差分で取っていたほうが、将来のバージョンアップ時にわかりやすく、変更が把握・追従しやすいためである。
  • 一応Yoctoはレイヤごとにkernelのconfigを分けることができるなど、より色んな組み方ができるのだが、以下の手順はあくまでここん流のやり方なので、参考程度に。
  • 以下の例のうち、 tmp-glibc/work/… と記載しているディレクトリは、ビルド環境やパラメータによって大きく異なるので、適時読み替える必要がある

編集する部分

meta-coconport/coconx64/recipes-kernel/linux/ 内、例えばファイル構造はこんな感じ

$ ls -R
.:
files  linux-longterm_%.bbappend

./files:
coconx64

./files/coconx64:
coconx64-standard.scc  coconx64.cfg

kernel のバージョンを上げたり、新たに起こすとき

  • 【kernelのバージョンを上げるときのみ】 まずは defconfig 状態にするため、coconx64-standard.scc ファイル内の kconf からはじまる行をすべてコメントアウト(行頭に # でよい)する
  • 次に bitbake の準備をしたあと、以下のように .config を生成する
$ source ./opencocon-init-build-env
$ bitbake linux-longterm -c clean
$ bitbake linux-longterm -c kernel_configme -f
  • オリジナルの .config ができるので。これを一旦buildディレクトリの外にコピーしておく。
$ cp tmp/work/coconx64-poky-linux/linux-longterm/5.10.36-r0/linux-coconx64-standard-build/.config config-5.10.orig
  • 【kernelのバージョンを上げるときのみ】次に、coconx64-standard.scc において、前のバージョンの差分config、または defconfig の記述のある kconf 行を有効化(アンコメント)し、以下のコマンドで再度 .config を生成する
$ bitbake linux-longterm -c clean
$ bitbake linux-longterm -c kernel_configme -f
  • 【kernelのバージョンを上げるときのみ】ここまでの差分を取る。 ここでできた config 差分ファイルがたたき台となる。
diff -Nurp config.orig tmp-glibc/work/cocon486-pc-linux/linux-longterm/5.10.22-r0/linux-cocon486-standard-build/.config | sed -n "s/^\+//p" > cocon486-5.10
  • あとはリポジトリに反映する
$ cp cocon486-5.10 ../meta-coconport/cocon486/recipes-kernel/linux/files/cocon486/cocon486.cfg

kernel の config を編集して recipe に反映するとき

  • menuconfigを動かして、追加のチューニングを行う。
$ bitbake linux-longterm -c menuconfig

編集がおわったら、普通に保存・終了してよい。 なお byobu が半分に割れてしまったときは、 Ctrl-a z で全画面になる。

* これをいったん kernel 内 revcipe の cocon486.cfg に上書きし

* もう一度configmeをまわし

$ bitbake linux-longterm -c kernel_configme -f

* もう一度差分を取って、新しい cfg を生成する。

$ diff -Nurp config.orig tmp-glibc/work/cocon486-pc-linux/linux-longterm/5.10.22-r0/linux-cocon486-standard-build/.config | sed -n "s/^\+//p" > cocon486-5.10-add1

* 出力された cocon486-5.10-add1 の最初の1行を消しておく

* あとはリポジトリに反映する

$ cp cocon486-5.10-add1 ../meta-coconport/cocon486/recipes-kernel/linux/files/cocon486/cocon486.cfg
文書の編集
文書の先頭へ