1.はじめに
 FedoraCoreカーネルソースコードのインストール手順を示す。基本は、RHELのカーネルソースコードのインストール(※)と同じ。

  ※RHELについてはこちら → 【RHEL4】カーネルソースコードのインストール


2.手順
(1)SRPMパッケージの入手
  yumツールでインストールするのが手っ取り早い。
  (a)yumツールにてインストールする手順
    yumdownloaderコマンドで、カーネルソースをダウンロード
    するのが簡単。

    (i)yumdownloaderのインストール
     yumdownloaderコマンドが無い場合は予めインストールする。
# yum install yum-utils

    (ii)カーネルソースのダウンロード
# yumdownloader --source kernel.i686


  (b)手動でカーネルのSRPMをダウンロードする手順
    インターネットに接続されていないサーバや、
    古いバージョンのカーネルでyumツールでインストール
    できない場合は、手動でSRPMをダウンロードする。

    (i)SRPMのダウンロード
      ・ダウンロードサイト:FedoraCoreダウンロード一覧

      例)FedoraCore5のアップデートカーネルのSRPMを落とす。
        kernel-2.6.19-1.2288.2.1.fc5.src.rpm

    (ii)カーネルソースのインストール
# rpm -ivh /tmp/kernel-2.6.19-1.2288.2.1.fc5.src.rpm




(2)SRPMパッケージのインストール(以降はRHELと同じ)
  ダウンロードしたSRPMをインストールする。
  例えば、/tmpにダウンロードした
  kernel-2.6.19-1.2288.2.1.fc5.src.rpmをインストールする場合は、
#cd /tmp
# rpm -ivh ./kernel-2.6.19-1.2288.2.1.fc5.src.rpm


  srpmパッケージのデータは、下記場所に格納される。
/usr/src/redhat/
 ├/SOURCES  ・・・ソースコード&ソースの差分パッチ
 │         →ディレクトリ直下に多量のファイルが生成
 └/SPECS  ・・・RPMとSRPMの生成手順ファイル
           →kernel-2.6.specファイルが生成



(3)SRPMからのソースコード生成
(a) その1:横着にやる方法
  SRPMからバイナリーを生成してしまい、その過程でversion.hなどを生成してしまう。
 ソースコードを生成するだけであれば、bzImageのmakeが開始された時点で強制終了してしまっても可。
# cd /usr/src/redhat/SPECS
# rpmbuild -bc --target=i686 kernel-2.6.spec

# ソースコードは、/usr/src/redhat/BUILD以下に格納。


(b) その2:丁寧にやる方法
  SRPMからソースコードを生成する。その後手動で、version.hなどの生成を行う。(でもkernelをbuildする(a)が確実と思われる。)
 (i)ソースコードの展開とパッチの適用
# cd /usr/src/redhat/SPECS
# rpmbuild -bp --target=i686 kernel-2.6.spec

 (ii)バージョン情報を設定し必要なファイルを生成する
# cd ../BUILD/kernel-2.6.19/linux-2.6.19.i686/
# perl -p -i -e 's/^EXTRAVERSION.*/EXTRAVERSION = -1.2288.2.1.fc5/' Makefile
# make -s mrproper
# cp ./configs/kernel-2.6.19-i686.config ./.config
# make -s nonint_oldconfig
# make -s include/linux/version.h
# make bzImage
※事前処理が終わりコンパイルが始まったら強制終了。



3.完了