トップページへ

 セットアップ
Debian化
カーネル再構築
Debian化仕上げ
HDDの初期化
フローチャート

 サーバ構築
ルータの設定
無料ドメイン収得
Webサーバ
メールサーバ
FTPサーバ
ファイルサーバ
プリンタサーバ
DNSサーバ
データベースサーバ

 運 用
基本的なコマンド
テキストエディタ
シェルスクリプト
運用に必要な物
ファイアウォール
ログの管理
バックアップ
データ復旧
VMware

 監 視
Webアクセス解析
システム監視
ログ解析
不正アクセス監視

 その他
リンク

sponsored link

【 更新履歴 】


2009年7月25日
 サイトデザインを一新

2009年3月31日
 Debian化仕上のページを更新

2008年09月15日
 新サイト開設



玄箱HGと玄箱ノーマルのカーネル再構築


ここでやること
■ 玄箱用に構築されたカーネルの入れ替え(再構築なしvar)
■ 最新カーネルを本家からダウンロードして再構築

Linuxの核心であるカーネルをアップデートしたり再構築をして新たな機能を追加したりします。特にファイアウォール機能である iptablesを使用するには再構築が必要になります。
また、現在はデフォルトでも大丈夫ですが玄箱のUSBポートに外付けHDDやUSBメモリを接続したときの認識も再構築が必要な 場合がありました。
方法は「http://www.genbako.com/」を参考にさせていただきました。 このサイトに玄箱用のカーネルや、本家カーネルサイトからダウンロードしてきたカーネルを玄箱用にしてくれるパッチもおいてあります。

0.カーネルの再構築が必要なくアップグレードをしたい場合
→(再構築が必要な方は事項「1.必要なプログラムをインストール」から進めてください)

手っ取り早くカーネルをバージョンアップしたい場合は 「http://www.genbako.com/」 のサイトにあるカーネルイメージとモジュールをダウンロードして展開するだけで済みます。

コマンド:インストール

# apt-get install wget
# apt-get install module-init-tools

コマンド:カーネルイメージダウンロード

まずはディレクトリを移動する

# cd /boot/

上記サイトの方が作成していただいた玄箱用カーネルイメージをダウンロードする。ノーマルとHG用とありますので間違わないように注意

玄箱ノーマルの場合
# wget http://www.genbako.com/kernelimage-2.6.25-kuroBOX.tgz

玄箱HGの場合
# wget http://www.genbako.com/kernelimage-2.6.25-kuroHG.tgz

ダウンロードしたカーネルイメージを展開する

玄箱ノーマルの場合
# tar -zxvf kernelimage-2.6.25-kuroBOX.tgz

玄箱HGの場合
# tar -zxvf kernelimage-2.6.25-kuroHG.tgz

モジュールを展開するディレクトリへ移動します

# cd /lib/modules/

モジュールをダウンロードします。カーネルとモジュールのバージョンを合わせてダウンロードします。ノーマル、HG用とありますので間違わないように注意

玄箱ノーマルの場合
# wget http://www.genbako.com/modules-2.6.25-kuroBOX.tgz

玄箱HGの場合
# wget http://www.genbako.com/modules-2.6.25-kuroHG.tgz

ダウンロードしたモジュールを展開します

玄箱ノーマルの場合
# tar -zxvf modules-2.6.25-kuroBOX.tgz

玄箱HGの場合
# tar -zxvf modules-2.6.25-kuroHG.tgz

仕上げのコマンドを入力します

# depmod -a

再起動する

# reboot

これでカーネルのバージョンアップは終了です。再構築が必要な方は以降の方法から行ってください







■ここからカーネルのバージョンアップと再構築の方法を紹介します■

1.必要なプログラムをインストール
まずはカーネルの再構築に必要なプログラムをインストールします。

コマンド:インストール

# apt-get install less
# apt-get install patch
# apt-get install wget
# apt-get install gcc
# apt-get install ncurses-dev
# apt-get install bzip2
# apt-get install module-init-tools



2.カーネルをダウンロード
本家カーネル配布サイトからカーネルをダウンロードしてきます。このサイトを執筆中は2.6.25バージョンを使用

コマンド:ダウンロードと解凍

再構築作業を行うためにディレクトリを移動します(私は/root/下で作業しました)

# cd /root

wgetコマンドで圧縮されたカーネルプログラムをダウンロードします

# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.25.tar.bz2

ダウンロードした圧縮カーネルを解凍します

# tar -jxpvf linux-2.6.25.tar.bz2




3.カーネル用パッチをダウンロード
本家サイトからダウンロードしたカーネルにあてるパッチをダウンロードします
ダウンロードしたカーネルバージョンとパッチのバージョンを間違わないように注意します

コマンド:ダウンロード

作業ディレクトリは上記同様です(私は/root/下で作業しました)

# cd /root

wgetコマンドでパッチをダウンロードします(2.6.25は2種類ダウンロードします)

# wget http://www.genbako.com/kurobox-sources-2.6.25.patch
# wget http://www.genbako.com/kurobox-section-mismatch2625.patch




4.カーネルモジュールをダウンロード展開
玄箱用のカーネルモジュールをダウンロードして設置しておきます。
玄箱ノーマル用と玄箱HG用とありますので間違わないようにします

コマンド:ダウンロード展開

作業するディレクトリへ移動します

# cd /lib/modules/

モジュールをダウンロードします。ノーマル、HG用とありますので間違わないように注意

玄箱ノーマルの場合
# wget http://www.genbako.com/modules-2.6.25-kuroBOX.tgz

玄箱HGの場合
# wget http://www.genbako.com/modules-2.6.25-kuroHG.tgz

ダウンロードしたモジュールを展開します

玄箱ノーマルの場合
# tar -zxvf modules-2.6.25-kuroBOX.tgz

玄箱HGの場合
# tar -zxvf modules-2.6.25-kuroHG.tgz

仕上げのコマンドを入力します

# depmod -a

これでモジュールの設置は終了です





5.カーネルの再構築
パッチを当てた後でカーネルの再構築を行います。この作業には処理時間がかなりかかりますので時間のあるときに行ったほうがよいでしょう。 3時間くらいはかかるかな。

コマンド:カーネルの修正パッチをあてる

まずは先ほどダウンロード展開したカーネルのディレクトリへ移動します

# cd /root/linux-2.6.25/

ダウンロードしておいたパッチ2つを当てます

# patch -Np1 < ../kurobox-sources-2.6.25.patch
# patch -Np1 < ../kurobox-section-mismatch2625.patch

コマンド:カーネルの再構築

コンフィグファイルを作ります。ノーマルとHGと間違わないように注意

玄箱ノーマルの場合
# cp config_kurobox .config

玄箱HGの場合
# cp config_kuroboxhg .config

アーキテクチャを指定

# export ARCH=ppc

カーネルの詳細設定を行います

# make menuconfig

iptableに関するnetwork関係をチェックする(チェック:スペース、決定:エンター、戻る:ESCか下部メニュー)

 Networking ---> カテゴリ移動
  Networking options ---> カテゴリ移動
   Network packet filtering(replaces ipchains) ---> チェックしてカテゴリ移動
    Network packet filtering debugging チェックを入れる
    Core Netfilter Configuration カテゴリ下全てチェックする
    IP:Netfilter Configuration カテゴリ下全てチェックする(全てチェックを入れたらもう一度Core Netfilter Configrationの項目の空白欄をチェックする)

以下はチェックが入っているか確認しておく(USBメモリ,USB-HDDを使えるようにするため)

Device Drivers ---> カテゴリ移動
 SCSI device support ---> カテゴリ移動
  <M> SCSI device support チェックを入れる
  [ * ] legacy /proc/scsi/ support チェックを入れる
  <M> SCSI disk support チェックを入れる

File systems ---> カテゴリ移動
 Native Language Support カテゴリ移動
  <*>Japanese charsets(Shift-JIS,EUC-JP) チェックを入れる

ESCか下部メニューで最初まで戻って「Do you wish to save your new kernel configuration?」の質問で「Yes」

# make oldconfig
# make vmlinux  ←1時間半はかかる(目安)

# objcopy -O binary vmlinux /boot/vmlinux.bin
# cp System.map /boot/
# make modules  ←1時間はかかる(目安)

# make modules_install

再起動

# reboot

これでカーネルの再構築は終了です。iptablesも使用できるはずです