WWW サーバ
O R A N G E

カーネル再構築
■ 目的
  • SCSI カードサポート
  • QOUTA サポート
  • MSDOS サポート
■ 作業
  1. 以下のパッケージがインストールされているか確認する

    • kernel-package
    • debmake
    • gawk
    • dialog
    • bzip2
    • libncurses5
    • libncurses5-dev
    注1: 時間が経過するとパッケージのバージョンが変わっている可能性がある. もし発見できないと言われる場合には dpkg -l コマンドでバージョンを調べると良いだろう.
    注2: 特に libncurses** がないと,カーネル設定のところでエラーが出るので注意されたい.

  2. ソースのダウンロード(原則最新のものをダウンロードすること)

    1. wget (ネットワークを通じてファイルをダウンロードする為のコマンド)のインストール
      # aptitude install wget
    2. ソースのダウンロード
      $ wget ftp://ftp.ep.sci.hokudai.ac.jp/ディレクトリ名/ソース名
    3. ソースの移動
      # mv linux-2.6.24.7.tar.gz /usr/src/

  3. ソースの展開
    $ cd /usr/src/
    # tar zxvf linux-2.6.24.7.tar.gz
    # ls
    linux-2.6.24.7 linux-2.6.24.7.tar.gz
    # mv linux-2.6.24.1 kernel-source-2.6.24.7_YYYY_MMDD
    # ln -s kernel-source-2.6.24.7_YYYY_MMDD linux
    # ls -l linux
    lrwxr-xr-x 1 root src 32 2007-03-16 18:18 linux -> kernel-source-2.6.24.7_2008_0912/
  4. カーネル設定
    $ cd linux
    # make mrproper
    # make menuconfig

    補注: make mrproper はカーネルの環境設定をデフォルトの状態に戻すためのコマンドである. ソースを展開して初めてカーネルの設定を行う場合には必要ないかもしれない. しかし, カーネル再構築が一度でうまくいかないことも少なくない. そういった意味で make menuconfig を行なう前に make mrproper を実行することを習慣づけておくと良いだろう.

    以下のように選択する. 設定は space キーまたは y(yes), n(no) キーで変更する. 上位の設定に戻るには esc キーを 2 度続けて押す.

    • Device Drivers -> SCSI device support
      <*> SCSI device support
    • Device Drivers -> SCSI device support -> SCSI low-level drivers
      <*> Adaptec AIC7xxx Fast -> U160 support (New Driver)
    • Device Drivers
      -> Network device support -> Ethernet (1000 Mbit)
      <*> Intel(R) PRO/1000 Gigabit Ethernet support
      [ ] Use Rx Polling (NAPI)
    • File Systems
      <*> Second extended fs support

      [*] Quota support
      <*> Old quota format support
      <*> Quota format v2 support

      -> DOS/FAT/NT Filesystems
      <*> MSDOS fs support
      <*> VFAT (Windows-95) fs support
      -> Native Language Support
      <*> Codepage Page 437 (United States, Canada)
      <*> Japanese charsets (Shift-JIS, EUC-JP)
      <*> NLS ISO 8859-1 (Latin 1; Western European Languages)
    • Processor type and features -> Processor family
      <X> Core 2/newer Xeon

  5. カーネルパッケージの作成 & インストール
    # make-kpkg clean
    # make-kpkg --initrd --revision=$hostname$date kernel_image
    # dpkg -i /usr/src/linux-image-2.6.24.1_$hostname$date_i386.deb
    パッケージの作成には 30 分から 1 時間ほど要するだろう.

    補注 2008 年以前のカーネルコンパイルの際には, 「-- initrd」というオプションは必要ではなかった. しかし今回はこのオプションを付けないとカーネルパニックが発生した. 何故以前はこのオプションを付けなくても問題無かったのか, 定かではない.
Copyright © 2008 EPnetFaN
最終更新日: 2008/09/13 (山下 達也)