2012年01月16日
Linuxカーネルのmake menuconfigでの検索機能
カーネルのconfigを変えるときに、.configファイルを直接変更すると依存する項目の処理がややこしいので、make menuconfig としますが、変更したい項目がどの階層にあるのかがわからなくて、ちょっと苦労していました。
しかし今日、@l_b__さんからTwitterで、make menuconfigに検索機能があることを教えてもらいました。
例えば、.configの中のCONFIG_ANDROID_PARANOID_NETWORK の値を変更したいとします。
CONFIGの項目には依存関係があるので、直接.configを編集するのは他の問題を引き起こす可能性があります。そこで make menuconfigとするのですが、目的の項目がどの階層の下にあるのかわからずに、探すのに苦労することがありました。
この画面の3行目に "</> for Search." と書いてあります。
ここで、'/'を入力すると
ここで、ANDROID_PARANOID_NETWORK と入力すると
実際には、ANDROID_PAまで入力すれば大丈夫です。マッチするものが複数あれば、全部表示されます。
これで、CONFIG_ANDROID_PARANOID_NETWORK の値を変更するには、
--> Networking support --> Networking options Only allow certain groups to create sockets
をたどっていけばよいことがわかりました。
ここから、この項目のところにジャンプできるとさらによいのですが、その機能は無いようです。
追記
.configを手で修正した後に、make oldconfig として依存関係を直すという方法もあるということを、@kinnekoさんから教えてもらいました。ただし、場合によっては手で修正した部分がmake oldconfigで元に戻されてしまうこともあるので確認が必要です。