カーネルのコンパイルカーネルをコンパイルする手順は以下のようです。カーネルソースを用意するカーネルコンフィギュレーションを設定するカーネルをコンパイルするカーネルモジュールをコンパイルするカーネルとカーネルモジュールを配置するブートローダの設定を変更する1.カーネルソースを用意する最新のカーネルソースは、http://www.kernel.orgから入手します。取得したカーネルソースを/usr/src以下に展開します。HatやCentOSでは/usr/src/kernelsディレクトリ以下。LPICでは/usr/src/linuxとしている。カーネルのMakefile2.カーネルコンフィギュレーションを設定するカーネルのコンフィグレーションファイル.configを生成し、関連ファイルを設定します。設定変更を目的として同一ディレクトリで作業をする場合は、.configファイルのバックアップをとっておきます。カーネルソースを初期化します。現在のコンフィグレーションファイル.configと、前回のカーネルコンフィグレーションで生成されたすべてのファイルを削除して初期状態に戻します。mrproper現カーネルのコンフィグを新カーネルへ引き継ぎます。oldconfigを実行します。現行の設定を引き継ぎつつ、追加になった設定のみを行う為のコマンドです。oldconfigここから先は対話形式で進みます。"y"はカーネルに静的に組み込まれます。"m"はカーネルモジュールとして組み込まれます。(使用時のみ動作します)"n"は設定を無効化します。"?"でヘルプを参照します。defconfigのコマンドを使用して設定を変更します。config:設定項目1つ1つについて、順番に対話的に尋ねてくる、最もシンプルな形式です。menuconfig:cursesライブラリを利用した、端末ベースのメニュー形式のインターフェイスです。xconfig:QtベースのGUIツールです。gconfig:GtkベースのGUIツールです。defconfig:arch/$ARCH/defconfigをデフォルトとして、.configを生成します。oldconfigで現在のコンフィグに新しい設定を反映する。カーネルのバージョンアップ時以外は利用しない。どちらでもコンパイルできるが、zImageには、メモリ制限があるため大きなサイズのカーネルを作成するとエラーになってしまいます。そのため、最近ではbzImageを使います。4.カーネルモジュールをコンパイルするカーネルモジュールはカーネルにあったものが必要なので、カーネルモジュールもコンパイルします。パラメータなしで実行するとカーネルとカーネルモジュールの両方のコンパイルが行われます。5.カーネルとカーネルモジュールを配置するカーネルとカーネルモジュールと必要ファイルを適切なディレクトリにインストールします。installが実行出来ない場合別途手作業での作業が必要となる。/boot/System.mapSystem.mapファイルは、カーネルのメモリアドレスとシンボルとのマッピングが記述されている。】システム起動時に必要な機能をカーネルモジュールとした場合は、初期RAMディスクが必要になります。・ファイルとして用意されているファイルシステムをRAMディスクとしてメモリ上に展開して、それを暫定的なルートファイルとしてカーネルを起動します。この起動用のRAMディスクを初期RAMディスクといいます。・初期RAMディスクで暫定的にカーネルを起動させ、その後実際のカーネルを起動させることができます。・初期RAMディスクには、gzipで圧縮したファイルシステムイメージファイルであるinitrdと、gzipで圧縮しcpioアーカイブであるinitramfsがあり、それぞれmkinitrdコマンド、mkinitramfsコマンドで作成します。ファイルシステムイメージを圧縮2.はcpioアーカイブを圧縮という違いがある。mkinitramfsは-oオプションが必要なことに注意。展開して内容を確認する手順もメモ。1.圧縮したイメージファイルを適当なディレクトリにコピーして、gunzipなどで解凍。2.更に適当なディレクトリを作成して、移動する。click-rescueこのサイトは、MySQLとPHPで構成されています。合計;00007851。