Linuxカーネルを頻繁に設定、再構築している人は世の中に一定数いる。おいらもそんな人の一人だが。で、Linuxカーネルの設定をちょくちょく変更する。
普段は、どんな環境でも安定して利用できるように「make menuconfig」といった感じで、設定している。使っていて「あー、ここ不便だなー」という点がありつつも、惰性でつかっているわけだが。
しかし、今の時代は、GTK+やQTに対応したコンフィグレーション画面もあるというではないか!ということで、おさらいも兼ねて調べてみた。
今回はUbuntu 10.04LTSでAndroid向けLinuxカーネル 2.6.37で試してみた。
make config
対話式でコンフィグレーションを行う場合に利用する。昔からある設定方法。一つ一つの項目をY/Nで答えていくので、必要な設定だけ変更したい場合は、その項目まで進めていく必要がある。というか、その前に挫折するわ…。存在については噂では聞いていたが、今回初めて起動した(笑)
make menuconfig
CUI(ncursorベース)のメニュー画面。ライブラリのインストールも必要なく、すぐに利用できるというメリットがある。そのかわり、階層の移動は1つの階層を上る/下るでしか移動できないため、一度に様々な設定を確認/変更しようとすると厄介。
例えば「デバドラの設定」と「カーネルデバッグの設定」を一度に設定しようとすると、
といった感じに、レイヤーを上へ下へ移動するハメになる。
make nconfig
menuconfigがオサレになった画面。最近追加されたものらしい。操作などの基本性能は同じ。追加された機能としては、ファンクションキーを押すことで、最上位階層に行かなくても設定のロード/セーブなどが行えるようになった。
make xconfig
GUIベースでのコンフィグレーション画面。以前はXWindow(Tcl/tk)ベースだったはずだが、今ではQT4ベースとなっている。そのため、起動には、QT4の開発ライブラリが要求される。
Ubuntuでは、以下のようにパッケージをインストールする必要がある。
sudo aptitude install qt4-dev-tools
表示方法が切り替えられるようになっており、好みにあわせて表示方法を切り替えることができるようになっている。検索機能などもあるので、名前のうろ覚えでもメニュー内を彷徨うことがなくなるのはありがたい。
こんな表示にも変更できる
make gconfig
GUIベースのコンフィグレーション画面。機能的にはxconfigと同じで、こちらはGTK+2.0ベースというのが大きな違い。
Ubuntuでは以下のようにパッケージをインストールする必要がある。
sudo apt-get install libgtk2.0-dev libglib2.0-dev libglade2-dev
GUIでの設定が便利!
今回gconfigを初めて(!)使ったのだが、すごい便利。
今後は、リモート操作でのカーネルビルドでは、nconfig、Ubuntuデスクトップでビルドするなら、xconfig, gconfigを利用しよう! という、面白くもなんともない結論に :-)