MIPL环境配置
时间:2007-06-10 来源:purple_lotuses
1. linux-2.6.9新内核 经参考资料并总结如下下载内核源代码
http://www.kernel.org/pub/linux/kernel/v2.9/linux-2.6.16.tar.gz
放置到 /usr/src/下(注意目录一定要正确)
解压 tar zxvf linux-2.6.16.tar.gz
2. 要编译与正常运行新的内核你需要升级一些软件包,这些信息在源码目录下的Documentation/Changes文件中,请根据你的实际情况选择升级。这其中我强调一下你应该升级Module-Init-Tools, Module-Init-Tools在下面的网址中取得:http: //www.kernel.org/pub/linux/kernel/people/rusty/modules/ 我使用的是3.2。如果你下载的是源码使用如下步骤进行编译
1)cd module-init-tools-3.2/
2)./configure --prefix=/ modules
3)make moveold //这一步会将你以前的insmod, modprobe, rmmod和 lsmod重命名为 // insmod.old, modprobe.old, rmmod.old lsmod.old。
4)make
5)make install
6)vi /etc/profile 添加 export PATH=/modules/bin:/modules/sbin:$PATH
7)进入到模块的文件夹/modules,进入到其中的sbin中执行一下命令
./generate_modprobe.conf /etc/modprobe.conf //将原来的/etc/modules.conf转换到/etc/modprobe.conf ,generate_modprobe.conf在文件sbin中有这个执行命令, /etc/modprobe.conf是自己输入的,是规定的,以上操作是为了规定init
8)重新启动计算机,或着source /etc/profile让其本次操作有效
如果你使用devfs系统你还需要复制modprobe.devfs 到/etc目录下。
当你升级完相关软件包之后,准备工作就算完成了,下面我们将进入到编译阶段。
3. 将mipv6-2.0.2-linux-2.6.16.patch补丁放在linux-2.6.16文件下(要放对地方)
4. patch -p1 --dry-run <mipv6-2.0.2-linux-2.6.16.patch //测试
5. patch -p1 <mipv6-2.0.2-linux-2.6.16.patch //给内核打补丁
6. 所有准备工作完毕!!下面我们开始编译升级内核:?
#cd linux-2.6.16
7. #make menuconfig (如果装了X11 可用Xconfig 命令) 配置内核 一定要选自己的网卡驱动!
不选的为空 选的是*号 M 是编译为模块形式,日后可手动插入模块
完内核后就可以开始编译了,linux 2.6.16 简化了程序只需执行如下命令就可以了
注意:a> 这里要选上filesystem 中ext3的所有选项,不然,在重启时会出现mount file init等错误,系统起不来。
b>这是在make menuconfig时必选的选项,其中只找到了倒数第三项相似的东西,在Security options中,选Enable different security models,Socket and Networking Security Hooks ,XFRM (IPSec) Networking Security Hooks,当在安装用户程序出现头文件不支持MIPv6时,又修改了这一项,并重新编译内核,在重新安装用户程序,制定了内核源文件位置,成功了,也不知是不是这一项的作用,或是CPPFLAGS……对了的原因。
CONFIG_EXPERIMENTAL=y
CONFIG_SYSVIPC=y
CONFIG_PROC_FS=y
CONFIG_NET=y
CONFIG_INET=y
CONFIG_IPV6=y
CONFIG_IPV6_MIP6=y
CONFIG_XFRM=y
CONFIG_XFRM_USER=y
CONFIG_XFRM_ENHANCEMENT=y
8. #make //编译内核和模块
9. #make modules_install //安装模块
10. #make install
注意这里不用在修改grub.conf,你可以cat /boot/grub/grub.conf看到新的内核已经写入grub.conf
下面是我的grub.conf
title Red Hat Linux (2.6.16)
root (hd0,6)
kernel /boot/vmlinuz-2.6.16 ro root=LABEL=/
initrd /boot/initrd-2.6.16.img
title Red Hat Linux (2.4.20-8)
root (hd0,6)
kernel /boot/vmlinuz-2.4.20-8 ro root=LABEL=/
initrd /boot/initrd-2.4.20-8.img
title DOS
rootnoverify (hd0,0)
chainloader +1
11.安装MIPL用户态程序
(1)在mipv6-2.0.2目录下执行
CPPFLAGS="-isystem /usr/src/linux-2.6.16/include" ./configure
Make
Make install
第一步为设置内核源文件,内核安装正确的话,这两步不会出现错误的。
12. mipl配置文件
在说明文档里,make install完了后就应该去修改mipl配置文件mip6d.conf,还一本正经地说配置文件默认就在/usr/local/etc目录下,其实根本没有。
简单的方法是选取mipv6-2.0-rc3/extras目录下的3个例子配置文件中的一个,把名字改成mip6d.conf然后放在/usr/local/etc目录下就ok了。
如何对配置文件进行修改,具体参看man mip6d.conf
13.在as4上配置MIPL环境时,在make时出现af_key等错误,重新make menuconfig 选了networking options中的有关PF_key的 选项就可以了,重启机器后又出现enforcing init……的错误,说明设置enforcing mode,只需在vi /boot/grub/grub.conf 在kernel语句后加上enforcing=0即可。