1.はじめに FedoraCoreの
カーネルソースコードのインストール手順を示す。基本は、RHELの
カーネルソースコードのインストール(※)と同じ。
※RHELについてはこちら →
【RHEL4】カーネルソースコードのインストール2.手順(1)SRPMパッケージの入手
yumツールでインストールするのが手っ取り早い。
(a)yumツールにてインストールする手順
yumdownloaderコマンドで、
カーネルソースをダウンロード
するのが簡単。
(i)yumdownloaderのインストール
yumdownloaderコマンドが無い場合は予めインストールする。
(ii)
カーネルソースのダウンロード
(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.完了