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) 


ブート時にロードするカーネルを選択して、起動完了。