カーネルの再構築

  1. カーネルのメイク

    以下のコマンドにより、カーネルのメイクを行う。

    hostname:/usr/src/linux# make dep
    hostname:/usr/src/linux# make clean
    hostname:/usr/src/linux# make zlilo
    hostname:/usr/src/linux# make modules
    hostname:/usr/src/linux# make modules_install
    

    なお、ここでは以下のことを行っている。

    コマンド機能
    make dep 各ソースの依存関係記述ファイル(.depend)の更新
    make clean 中間ファイルなどの削除
    make zlilo カーネルのコンパイル・リンクとブートローダへの登録
    make modules モジュール(非常駐デバイスドライバ)のコンパイル
    make modules_install モジュールのインストール

    Linux のモジュールは、実行時にカーネルのビルド番号までチェックするため、 カーネル本体をリビルドした場合は忘れずにモジュールもリコンパイルする必要がある。

    UNIXでは、';'(セミコロン)で区切ることにより一連のコマンドを 連続して実行できる。また '&&' で区切ると、コマンドが正常終了した場合 のみ後続のコマンドが実行される。タイプに自信があれば,以下のように 連続実行することもできる.

    hostname:/usr/src/linux# make dep && make clean && make zlilo
    hostname:/usr/src/linux# make modules && make modules_install
    

    はじめてのコンパイルには2〜15分程度かかる(CPU により全く異なる)。 今後(ドライバの)ソースの変更を反映させるためにコンパイルする場合は make zlilo のみ行う。その場合は数秒〜1分程度で済む。

    画面が真っ暗になってしまった?
    (コンパイル中などの理由で)しばらくキーボードに触らないでおくと、 画面が真っ暗になることがある。これはコンソールレベルのスクリーンセーバ みたいなものが働いているためである。[Shift]など、コマンドとは認識されない キーを押せばまた表示される。

    モジュールとは

    モジュールとは、 非常駐型(アンロード可能)としてコンパイルされたデバイスドライバのことである。 ドライバをモジュールとして作成すれば、 ドライバのテスト時もコンパイルだけすればよく、 ドライバを作り直すたびにリブートする必要もなくなる。

    また、あるモジュールが要求されたのを検知して、 自動的にドライバをローディングしてくれるような機構もある。