内核编译错误??!!
我的redhat 6.2按支持移动IP的patch
如 patch -p1 <mip-kernel-2.2.14.patch
然后在配置中按说明要求选了networking options中的以下选项加入内核编译
@Mobile IP support
@IP:advanced router
@IP :tunneling
@Kernel/User netlink socket
@Routing messages
在make bzImage后出现错误提示:
net/network.a(ipv4.o):In function 'mip_config':
ipv4.o(text+0x21a2d):undefined reference to 'init_mpt'
make :*** Error 1
给个提示,怎么解决? 各位大侠救命啊! 是连接错误,不是编译错误
你先看看内核版本和patch版本是否一致
我觉得你不应该使用红帽提供的内核原代码,而应该到kernel.org上下载一个内核原码(按照cheungming老大的说法就是vanilla kernel),再用与这个内核原码版本相同的patch
红帽的kernel是红帽自己改过的,所以在上面打你找来的patch恐怕有问题 yes, i agree with keenor,
btw, u 2.2.14 can be cut to a small size, 2xx kb is possible.
thx
我用的内核原代码是redhat时上去的,另外,我的patch是在我要安装的一个系统软件压缩包(MosquitoNet-MIP-2.0.2beta.tar)里提供的。patch 的安装是不是要在内核原代码目录下执行安装。 try to use kernel downloaded from www.kernel.org.
yes, the answer to u question about patch is yes
问题依旧!!??
我在www.kernel.org下在了linux-2.2.14.tar.gz 问题依旧是net/network.a(ipv4.o):In function 'mip_config':
ipv4.o(text+0x21a2d):undefined reference to 'init_mpt'
make :*** Error 1
我的操作是
(redhat 6.2 内核版本2.2.14-5.0)
1)下载linux-2.2.14.tar.gz (http://www.kernel.org/pub/linux/kernel/v2.2/linux-2.2.14.tar.gz)
2)解压
cd /usr/src
rm -f linux (原来linux--->linux-2.2.14)
tar -xzvf linux-2.2.14
mv linux linux-2.2.14.MIP
ln -s linux-2.2.14.MIP linux (linux-->linux-2.2.14.MIP)
3)patch
cp /usr/src/linux-2.2.14.patch /usr/src/linux
patch -p1 <linux-2.2.14.patch
4)配置
make menuconfig
5)按安装说明
cd /usr/include
rm -f asm linux
ln -s /usr/src/linux/include/asm asm
ln -s /usr/src/linux/include/linux linux
之后make dep
make clean
make bzImage
之后就出错了。
几个问题:
1)cd /usr/include
rm -f asm linux
ln -s /usr/src/linux/include/asm asm
ln -s /usr/src/linux/include/linux linux
以上有什么用? asm 和linux下是什么文件,有什么作用?
我的问题是不是出在这?
2)在make menuconfig 之前要不要进行make prpoper
make proper的作用是什么? need not do 1) .
need not do make proper.
tell me where u download the patch. i will try it. 1)你是说
cd /usr/include
rm -f asm linux
ln -s /usr/src/linux/include/asm asm
ln -s /usr/src/linux/include/linux linux
不用吗? 我做了也没有影响吧?
2)patch 我是在我安的软件包(MosquitoNet-MIP-2.0.2beta.tar)里提供的。
软件包目录如下:
daemons
doc
kernel--》下有patch
(linux-2.2.12.patch , linux-2.2.14.patch,linux-2.2.5.patch)
我用的是linux-2.2.14.patch, patch后在networking options多了些选项)
#是不是我要到www.kernel.org下在支持mobile IP 的patch .
scripts why not use this with 2.4.x support http://www.cs.hut.fi/Research/Dynamics/software.html#download
我要做毕业设计
这是老师的要求,我也没办法:1) 理解Mobile IP 的原理,linux的使用。
2) Standford University’s MIP 实现系统的安装,运行,测试。
3) Columbia University’s Cellular IP实现系统的安装,运行,测试。
4) 对内核进行剪裁。
软件包给定了。 o, ic, but i tried it just now. my gentoo 1.4 use gcc 3.2.3. which can not compile the 2.2.14 kernel.
but do u choose config_nobile_ip in u config? i read
#ifdef CONFIG_MOBILE_IP
+ int
+ init_mpt(__u32 home_ipaddr, __u32 home_agent)
+ {
in the patch. so u have to choose that {in the patch. so u have to choose that}
how to choose, like follow:
我按要求在(make menuconfig)
配置中选了networking options中的以下选项加入内核编译(我把他便宜进入内核)
@Mobile IP support
@IP:advanced router
@IP :tunneling
@Kernel/User netlink socket
@Routing messages but that is the place to define the init_mpt.
choose CONFIG_IP_MULTIPLE_TABLES and try again choose CONFIG_IP_MULTIPLE_TABLES and try again
怎么选?是要编辑文本吗? 编辑那个? choose this one [*] IP: policy routing (NEW)
页:
[1]
2