
カーネルのカスタマイズはすべての人のためのものではありません。これを試す前に、システムを壊す可能性があることに注意してください。
カーネルをカスタマイズしたいと思う理由はたくさんあります。必要なサービスのみにカーネルをトリミングしたい場合があります。特に、本質的なものだけを必要とするサーバーや専用デバイスを実行している場合は、実行中のカーネルで現在サポートされていないハードウェアをサポートするために、カーネルにパッチを適用する必要があるかもしれません。
この記事では、カーネルにパッチを当てる方法、現在のものをカスタマイズする方法については説明しません。あなたのカーネルにパッチを当てる方法を説明した別のフォローアップの記事と、そうしたいと思ういくつかの実用的な理由があります。
まず、現在実行中のカーネルのバージョンを調べる必要があります。そのためにunameコマンドを使用します
$ uname -r
2.6.17-10-generic
今度は、カーネル用のlinuxソースをインストールする必要があります。私は2.6.17-10カーネルを実行しているので、インストーラの行には反映されています。この記事では、実行しているものの代わりにカーネル番号を使用することができます。コンパイルに役立つcursesライブラリやその他のツールもインストールする必要があります。
sudo apt-get install linux-source-2.6.17 kernel-package libncurses5-dev fakeroot
Linuxソースがどこにインストールされているのか不思議であれば、dpkgコマンドを使ってパッケージ内のファイルを知ることができます。私のシステムの出力は次のとおりです。
$ dpkg -L linux-source-2.6.17 /. /usr /usr/src /usr/src/linux-source-2.6.17.tar.bz2 /usr/share /usr/share/doc /usr/share/doc/linux-source-2.6.17 (trimmed)
ソースがzipファイルの/ usr / srcディレクトリにインストールされていることがわかります。
簡単にするために、sudoを使って新しいシェルを開くことで、自分自身をルートモードにします。これを行うための他の方法がありますが、私はこの方法が好きです。
sudo /bin/bash
今すぐインストールできるようにディレクトリをソースの場所に変更してください。 bunzipユーティリティがインストールされていない場合は、インストールする必要があります。 (それは私のものだった)
cd /usr/src
bunzip2 linux-source-2.6.17.tar.bz2
tar xvf linux-source-2.6.17.tar
ln -s linux-source-2.6.17 linux
カスタムコンパイルプロセスに使用する既存のカーネル構成のコピーを作成します。 `文字はチルダの下のものです〜
cp /boot/config-`uname -r` /usr/src/linux/.config
次に、カーネルをカスタマイズできるようにするユーティリティを起動します。
cd /usr/src/linux
make menuconfig
まず、代替構成ファイルをロードし、.configファイルをロードします。 (ちょうどEnterを押す)




必要な選択をしたら、Exitを押してプロンプトが表示されたら設定を保存します。
コンパイルの準備ができました。まず、すべてをコンパイルする準備が整ったことを確認するために、make cleanを実行します。
make-kpkg clean
次にカーネルを実際にコンパイルします。これは長い時間がかかりますので、興味深いものを見つけてください。
fakeroot make-kpkg –initrd –append-to-version=-custom kernel_image kernel_headers
このプロセスでは、カーネルを含む/ usr / srcに2つの.debファイルが作成されます。 linux-image ****ファイルは実際のカーネルイメージで、もう1つのファイルにはdpkgで両方をインストールできます。あなたのシステムでは、ファイル名はおそらく異なるでしょう。
これらの次のコマンドを実行すると、新しいカーネルが新しいデフォルトのカーネルとして設定されます。これは物事を壊すかもしれない!マシンが起動しない場合は、GRUBローディングメニューでEscキーを押して、古いカーネルを選択してください。 /boot/grub/menu.lstでカーネルを無効にするか、もう一度コンパイルしてみてください。
dpkg -i linux-image-2.6.17.14-ubuntu1-custom_2.6.17.14-ubuntu1-custom-10.00.Custom_i386.deb
dpkg -i linux-headers-2.6.17.14-ubuntu1-custom_2.6.17.14-ubuntu1-custom-10.00.Custom_i386.deb
今すぐマシンを再起動します。すべてがうまくいけば、新しいカスタムカーネルを実行しているはずです。これはunameを使って確認できます。正確な数はお使いのマシンによって異なることに注意してください。
uname -r
2.6.17.14-ubuntu1-custom
私は、カーネルのカスタマイズに関する一連の記事を書こうと計画しているので、アップデート用のRSSフィードを購読してください。
また、完全な開示のために、私はHowtoForgeの記事からこれを行う方法を学びました。これは、Linux上の非常に高度なチュートリアルの素晴らしいWebサイトです。私はこの記事をより「Ubuntu」にしようとしましたが、この記事の手順の多くは似ています。