読者です 読者をやめる 読者になる 読者になる

Happy My Life

日常とか技術とか

Linuxカーネルのコンフィグレーション画面あれこれ

Linux Linuxカーネル

Linuxカーネルを頻繁に設定、再構築している人は世の中に一定数いる。おいらもそんな人の一人だが。で、Linuxカーネルの設定をちょくちょく変更する。

普段は、どんな環境でも安定して利用できるように「make menuconfig」といった感じで、設定している。使っていて「あー、ここ不便だなー」という点がありつつも、惰性でつかっているわけだが。

しかし、今の時代は、GTK+やQTに対応したコンフィグレーション画面もあるというではないか!ということで、おさらいも兼ねて調べてみた。

今回はUbuntu 10.04LTSでAndroid向けLinuxカーネル 2.6.37で試してみた。

make config

対話式でコンフィグレーションを行う場合に利用する。昔からある設定方法。一つ一つの項目をY/Nで答えていくので、必要な設定だけ変更したい場合は、その項目まで進めていく必要がある。というか、その前に挫折するわ…。存在については噂では聞いていたが、今回初めて起動した(笑)

make-config

make menuconfig

CUI(ncursorベース)のメニュー画面。ライブラリのインストールも必要なく、すぐに利用できるというメリットがある。そのかわり、階層の移動は1つの階層を上る/下るでしか移動できないため、一度に様々な設定を確認/変更しようとすると厄介。

例えば「デバドラの設定」と「カーネルデバッグの設定」を一度に設定しようとすると、

  • 最上位レイヤーから開始
  • デバドラの必要な項目まで移動して変更
  • 最上位レイヤーに戻る
  • カーネルデバッグの項目変更

といった感じに、レイヤーを上へ下へ移動するハメになる。

make-menuconfig

make nconfig

menuconfigがオサレになった画面。最近追加されたものらしい。操作などの基本性能は同じ。追加された機能としては、ファンクションキーを押すことで、最上位階層に行かなくても設定のロード/セーブなどが行えるようになった。

make-nconfig

make xconfig

GUIベースでのコンフィグレーション画面。以前はXWindow(Tcl/tk)ベースだったはずだが、今ではQT4ベースとなっている。そのため、起動には、QT4の開発ライブラリが要求される。

Ubuntuでは、以下のようにパッケージをインストールする必要がある。

sudo aptitude install qt4-dev-tools

表示方法が切り替えられるようになっており、好みにあわせて表示方法を切り替えることができるようになっている。検索機能などもあるので、名前のうろ覚えでもメニュー内を彷徨うことがなくなるのはありがたい。

meke-xconfig

こんな表示にも変更できる

make-xconfig2

make gconfig

GUIベースのコンフィグレーション画面。機能的にはxconfigと同じで、こちらはGTK+2.0ベースというのが大きな違い。

Ubuntuでは以下のようにパッケージをインストールする必要がある。

sudo apt-get install libgtk2.0-dev libglib2.0-dev libglade2-dev

make-gconfig

GUIでの設定が便利!

今回gconfigを初めて(!)使ったのだが、すごい便利。

今後は、リモート操作でのカーネルビルドでは、nconfig、Ubuntuデスクトップでビルドするなら、xconfig, gconfigを利用しよう! という、面白くもなんともない結論に :-)

Linuxカーネル2.6解読室
Linuxカーネル2.6解読室
posted with amazlet at 12.01.16
高橋浩和 小田逸郎 山幡為佐久
ソフトバンククリエイティブ
売り上げランキング: 49135