LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1151|回复: 5

内核编译无法通过 请大家帮我看看哪里有问题

[复制链接]
发表于 2007-10-9 00:02:27 | 显示全部楼层 |阅读模式
本人想搭一个 LVS+Lustre的集群,首先就需要编译内核,所以我就同时打了lvs 的noarp 和 lustre的补丁,我用的是FC5,但编译模块时不能通过,请大家帮我看看这是什么错误 谢谢
*************************************************************
[root@localhost linux-2.6.15.i686]# make modules
  CHK     include/linux/version.h
  CC [M]  arch/i386/kernel/msr.o
  CC [M]  arch/i386/kernel/cpuid.o
  CC [M]  arch/i386/kernel/microcode.o
  CC [M]  arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.o
  CC [M]  arch/i386/kernel/cpu/cpufreq/p4-clockmod.o
  AS [M]  arch/i386/crypto/aes-i586-asm.o
  CC [M]  arch/i386/crypto/aes.o
  LD [M]  arch/i386/crypto/aes-i586.o
  CC [M]  kernel/intermodule.o
kernel/intermodule.c:178: warning: 鈏nter_module_register?is deprecated (declared at kernel/intermodule.c:38)
kernel/intermodule.c:179: warning: 鈏nter_module_unregister?is deprecated (declared at kernel/intermodule.c:78)
kernel/intermodule.c:181: warning: 鈏nter_module_put?is deprecated (declared at kernel/intermodule.c:159)
  CC [M]  fs/9p/trans_fd.o
  CC [M]  fs/9p/trans_sock.o
  CC [M]  fs/9p/mux.o
  CC [M]  fs/9p/9p.o
  CC [M]  fs/9p/conv.o
  CC [M]  fs/9p/vfs_super.o
  CC [M]  fs/9p/vfs_inode.o
fs/9p/vfs_inode.c: In function 鈜9fs_vfs_create?
fs/9p/vfs_inode.c:472: error: 鈙truct open_intent?has no member named 鈕pen?
make[2]: *** [fs/9p/vfs_inode.o] Error 1
make[1]: *** [fs/9p] Error 2
make: *** [fs] Error 2
**************************************************************

以下是我自己记录的编译步骤

vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
内核编译 FC5
1.准备工作:
软件包
bash-3.1-9.fc5.1.i386.rpm        装新的bash ,quilt需要
quilt-0.46.tar.gz        给内核打补丁的工具
hidden-2.6.12-1.diff        LVS的RealServer所必需的NO-ARP补丁
lustre-1.6.2.tar.gz        Lustre 的包,里面有补丁
ncurses-devel-5.5-24.20060715.i386.rpm        在make menuconfig时所需的包,没有好像不能进入menu
kernel-2.6.15-1.2054_FC5.src.rpm        源码包在fedora上下的
2.安装
2.1 升级bash
rpm -Uvh bash-3.1-9.fc5.1.i386.rpm
2.2 安装quilt
tar -xzvf quilt-0.46.tar.gz
cd quilt-0.46
./configure
make
make install
2.3 安装内核源码
================================
  [root@sunshine   srpms]#rpm   –Uvh   kernel-2.6.15-1.2054_FC5.src.rpm   
  [root@sunshine   srpms]#cd   /usr/src/redhat/SPECS   
  [root@sunshine   SPECS]#rpmbuild   -bp   --target   $(uname   -m)   kernel-2.6.spec   
  [root@sunshine   SPECS]#   ls   /usr/src/redhat/BUILD/kernel-2.6.15/   
  Config.mk   linux-2.6.15.i686   vanilla   xen   xen-vanilla   (有可能是i586我的是i686)   
  [root@sunshine   SPECS]#   cd   /usr/src   
  [root@sunshine   src]#mkdir     kernels   (默认的安装是没有kernels这个文件夹)   
  [root@sunshine   src]#   cd   kernels/   
  [root@sunshine   kernels]#   ln   -s   ../redhat/BUILD/kernel-2.6.15/linux-2.6.15.i686/   2.6.15-1.2054_FC5-i686   
  [root@sunshine   kernels]#   ls   
  2.6.15-1.2054_FC5-i686   
  [root@sunshine   kernels]#   cd   2.6.15-1.2054_FC5-i686/   
  [root@sunshine   2.6.15-1.2054_FC5-i686]#   cp   configs/kernel-2.6.15-i686.config   .config   
  cp:是否覆盖“.config”?   y   
  修正Makefile   
++++++++
  [root@sunshine   2.6.15-1.2054_FC5-i686]#uname   –r   (得到2.6.15-1.2054_FC5)   
  2.6.15-1.2054_FC5   
  那么就要将Makefile中的   
  EXTRAVERSION   =   -prep   
  换成   
  EXTRAVERSION   =   -1.2054_FC5  
++++++++++
================================
2.4 安装ncurese-devel
rpm -Uvh ncurses-devel-5.5-24.20060715.i386.rpm
2.5 给内核打补丁
2.5.1 打lvs的noarp补丁
cp hidden-2.6.12-1.diff /usr/src/linux
patch -p1 < hidden-2.6.12-1.diff
2.5.2 打lustre的补丁系列
#这里参考 http://wiki.lustre.org/index.php?title=Kernel_Patch_Management 的做法,做两个连接就行
ln -s /usr/spce/lustre-1.6.2/lustre/kernel_patches/series/2.6-fc5.series /usr/src/linux/series
ln -s /usr/spce/lustre-1.6.2/lustre/kernel_patches/patches /usr/src/linux/patches
quilt push -av
2.6 配置和编译内核
[make mrproper]没编译过的不用
make menuconfig
***
ext3 *
jbd *
modules *
premption -> NO
IP-TULling
...
***

vi Makefile        #该版本号
make dep
make clean
make bzImage
make modules #在这里出现错误
make modules_install
make install

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 楼主| 发表于 2007-10-10 11:01:05 | 显示全部楼层

各位大侠帮帮我啊

各位大侠帮帮我啊 我自己顶一下
回复 支持 反对

使用道具 举报

发表于 2007-10-11 15:16:10 | 显示全部楼层
是不是因为现在的编译命令中没有 make modules
都是 make mrproper; make menuconfig;make; make modules_install install
回复 支持 反对

使用道具 举报

发表于 2007-10-11 17:10:42 | 显示全部楼层
建议群集的话用原生的内核比较合适一点,哪怕你不是做群集的我都推荐楼主用原生的内核。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-11 21:07:44 | 显示全部楼层
我试试原生的内核。

单一个make 就相当于把 make bzImage modules都做了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-16 16:52:03 | 显示全部楼层
用原生的内核编译成功了, 谢谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表