TS Studio
  Top > アーカイブ > パソコン > Linux カーネル再構築

更新日:2022/2/13

Linux カーネル再構築

Debian GNU/Linux 3.0 (Woody)でkernel.orgのソースを元に,通常ユーザでカーネルの再構築を行う方法を紹介します。

作成日 時期不詳(2008年頃までに作成)


準備

カーネルソース関連パッケージのインストール

# apt-get build-dep kernel-source-2.4.xx (xxにはバージョンを入れてください)

次の開発関連のパッケージが入ってなければインストール

autoconf automake binutils gcc gettext kernel-package libncurses5-dev libtool linux-kernel-headers make libc6-dev fakeroot

カーネルパッケージ作成情報の登録(/etc/kernel-pkg.conf)

maintainer := (名前)
email := (メールアドレス)

カーネルの設定でmake xconfigを使うなら,Tcl/Tkをインストール

# apt-get install tcl8.3 tk8.3

カーネル再構築

■ダウンロード

まずはカーネルソースをftp://ftp.kernel.org/よりダウンロードする。

■ファイルの展開

適切なディレクトリでカーネルソースを展開する。

$ tar jxf linux-2.4.27.tar.bz2

■カーネルの設定

configファイルは現在のカーネルのものが/boot/config-2.4.18という形で存在していれば,コピーして使った方が簡単に設定できます。

$ cd linux-2.4.27/
$ cp /boot/config-2.4.18 ./config-2.4.27 (元のconfigファイルをコピー)

古いカーネルと新しいカーネルの整合性をとります。

$ make oldconfig

xconfigを使ってカーネルの設定をします。最低限CPUとPCMCIAは設定が必要です。

$ make xconfig

■コンパイルとインストール

カーネル本体とヘッダを作成するには

$ fakeroot make-kpkg clean
$ fakeroot make-kpkg --append_to_version -1-k7 --revision 20041112.0 kernel_image kernel_headers

同時にモジュールを作成する場合は(後のモジュール再構築も参照)

$ fakeroot make-kpkg --append_to_version -1-k7 --revision 20041112.0 kernel_image kernel_headers modules_image

コンパイル後には,

  • kernel-image-2.4.27-1-k7_20041112.0.deb
  • kernel-headers-2.4.27-1-k7_20041112.0.deb
  • modules-2.4.27-1-k7_20041112.0.deb

が,作業ディレクトリの1つ上のディレクトリに作成されます。

# dpkg -i kernel-*.deb

インストール時の質問で,LILOではなくGRUBを使っている場合は,

  1. Would you like to create a boot floppy now? [No] -> No
  2. Install a boot block using the existing /etc/lilo.conf? [Yes] -> No
  3. Wipe out your old LILO configuration and make a new one? [No] -> No

■GRUBの設定

# For New Kernel
title linux-2.4.27-1-k7
root (hd0,5)
kernel /vmlinuz-2.4.27 root=/dev/hdb6

モジュールの再構築

モジュールの再構築を行うときは次のようにします。

$ export MODULE_LOC=`pwd`/modules
$ fakeroot make-kpkg clean
$ fakeroot make-kpkg --append_to_version -1-k7 --revision 20041112.0 modules_image


Copyright(C) 1997-2022 Suzumura Tomohiro All rights reserved.