5.9.1 Linux下的MIPv6(Mobile IPv6 for Linux)安装
目前,在Linux下实现移动IPv6实现的版本最普遍的是赫尔辛基技术大学(Helsinki University of Technology,简称HUT)Software Project项目开发的软件包,源代码可以从(http://www.mipl.mediapoli.com/)自由下载,我们采用的是mipv6-1.1-v2.4.26。
(1)从http://www.mobile-ipv6.org下载最新的Linux MIPv6源代码:
# cd /usr/local/src
# wget http://www.mobile-ipv6.org/download/mipv6-1.1-v2.4.26.tar.gz
# tar zxfv mipv6-1.1-v2.4.26.tar.gz
(2)从ftp.kernel.org 下载并解压对应的Linux内核版本:
# cd /usr/src
# wget ftp://ftp.kernel.org/pub/linux/kernel/v2.4/linux-2.4.26.tar.bz2
# tar jxvf linux-2.4.26.tar.bz2
# ln -s linux-2.4.26 linux
# cd linux
(3)应用MIPv6补丁:
# patch -p1 -dry-run < /usr/local/src/mipv6-1.1-v2.4.26/mipv6-1.1-v2.4.26.patch
-dry-run检查补丁能否正确应用。若返回任何错误结果,则不应继续进行。若一切正常,则:
# patch -p1 < /usr/local/src/mipv6-1.0-v2.4.22/mipv6-1.1-v2.4.26.patch
(4)删除源代码中残留的.o文件以及其他从属文件:
#make mrproper
(5)现在开始对内核树进行配置。运行make menuconfig。MIPv6选项在“Networking Options”内。以下选项应当出现:
CONF IG_EXP ERIMENTAL=y
CONF IG_S YSCTL=y
CONF IG_P ROC_F S=y
CONF IG_MODULES=y
CONF IG_NET=y
CONF IG_NETF ILTER=y
CONF IG_UNIX=y
CONF IG_INET=y
CONF IG_IP V6=m
CONF IG_IP V6_S UBTREES=y
CONF IG_IP V6_IP V6_TUNNEL=m
CONF IG_IP V6_MOBILITY=m
CONF IG_IP V6_MOBILITY_MN=m
CONF IG_IP V6_MOBILITY_HA=m
因为MIPL开发工作还在进行中,所以您可能设置:
CONF IG_IP V6_MOBILITY_DEBUG=y
使用调试信息,更易于发现问题所在。调试信息也非常有助于报告bug。
为确保开启了所有正确选项,您可运行包含在MIPL中的一个小的shell脚本:chkconf_kernel.sh.
(6)接下来您应当编译并安装内核。
提示:为更容易的将该内核与其他内核相区分,您可以改变/usr/src/linux/Makefile中的“EXTRAVERSION”变量,例如“-MIPv6-1”。
#make dep
#make bzImage
#make clean
#make modules
#make modules_install //生成了/lib/modules/2.4.26
(7)把bzImage复制到boot目录并在/boot下生成 initrd img文件:
#cp /usr/src/linux/arch/i386/boot/bzImage /boot
#cd /boot
#mkinitrd initrd-2.4.26.img 2.4.26
(8)修改grub设置:
#vi /etc/grub.conf
添加以下几行:
title Red Hat Linux (test)
root (hd0,2)
kernel /boot/bzImage ro root=/dev/hda3(根据实际情况)
initrd /boot/initrd-2.4.26.img
(9)用户空间工具。用户空间工具mipdiag,配置文件和初始化脚本必须作为模块安装才能正确运行:
# cd /usr/local/src/mipv6-1.1-v2.4.26
# ./configure
# make && make install
(10)MIPv6设备节点。MIPv6模块也需要一个新的设备节点表项。执行命令:
# mknod /dev/mipv6_dev c 0xf9 0
(11)自动启动:
# chkconfig -add mobile-ip6
以使MIPv6随系统启动,或
# chkconfig -del mobile-ip6
使MIPv6不随系统启动。