web100パッチを Linuxカーネルに
Linuxカーネルから詳しいTCPパラメータを取り出したい
→web100を使おうという流れから。
今回はパッチを当てたいがためのカーネル再構築だったけど、 カーネルのバージョンアップの時にも役に立つかも?
# cd /usr/src # wget http://www.jp.kernel.org/\ > pub/linux/kernel/v2.6/\ > linux-2.6.27.tar.gz # tar -xvf linux-2.6.27.tar.gz
- web100用のパッチなどを入手
# cd $GP_HOME # mkdir .web100 # cd .web100 # wget http://www.web100.org/\ > download/kernel/2.5.22/\ > web100-2.5.22-200810130047.tar.gz # wget http://www.web100.org/\ > download/userland/version1.7/\ > web100_userland-1.7.tar.gz # tar -xvf web100-2.5.22-200810130047.tar.gz # tar -xvf web100_userland-1.7.tar.gz
# cd /usr/src # ln -s linux-2.6.27 linux # ls @linux linux-2.6.27/
# cd linux # patch -p1 < $GP_HOME/.web100/web100/web100-*.patch (web100用のパッチを適用)
# make mrproper (初期化) # make menuconfig (コンフィグファイルの生成)
menuconfigで追加するのは
Code maturity level options ---> [*] Prompt for development and/or incomplete code/drivers Networking ---> Networking support ---> Networking options ---> [*] Web100 networking enhancements ---> --- 以下全てチェック
以上。これでweb100関係のが有効に。
# make dep (依存関係のチェック) # make clean (お掃除) # make bzImage (ブートに必要なイメージファイルの生成)
# make modules (make単体と似たような?) # make modules_install (コンパイルしたモジュールをインストール)
# cp ./arch/i386/boot/bzImage /boot/vmlinuz-2.6.27-web100 # cp ./System.map /boot/System.map-2.6.27-web100 (ブート情報てんこもりのフォルダにコピー)
# uname -r 2.6.27-43vl5 (現在のカーネルのバージョンを確認)
# cd /boot # mkinitrd initrd-2.6.27-43vl5-web100 2.6.27-43vl5 (initrdファイルを生成、よく分からないけどとにかく必要っぽい)
- ブートローダ設定を変更
# cd /boot/grub (GRUBを使ってるので) # vi menu.lst (ブートメニューのリスト)
以下の行を追加
title Vine Linux (web100 kernel) root (hd0,0) kernel /vmlinuz-2.6.27-web100 initrd /initrd-2.6.27-web100.img
kernelの行にroot=の指定があるはずだったけど、
削っても動いたので、加えてもちゃんと動きそうな予感。
- 再起動
# reboot (# shutdown -r now)
ブート時にロードするカーネルを選択して、起動完了。