阿里lvs+fullnet之内核编译(二)(失败)

先准备好要用到的包:

kernel-2.6.32-220.23.1.el6.src.rpm

Linux-2.6.32-220.23.1.el6.x86_64.lvs.src.tar.gz

Linux-2.6.32-220.23.1.el6.x86_64.rs.src.tar.gz

Lvs-fullnat-synproxy.tar.gz

第一步: 

cd /usr/local/src

rpm -ivh kernel-2.6.32-220.23.1.el6.src.rpm
[root@localhost src]# rpm -ivh kernel-2.6.32-220.23.1.el6.src.rpm
Updating / installing...
   1:kernel-2.6.32-220.23.1.el6            ################################# [100%]
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root

第二步:生成内核源码

cd ~/rpmbuild/SPECS

rpmbuild -bp kernel.spec

这里会报错:

 解决方法:

安装以下依赖包:

yum install -y gcc asciidoc newt-devel

yum install redhat-rpm-config patchutilsxmlto elfutils-libelf-devel binutils-devel python-devel hmaccalcperl-ExtUtils-Embed -y

yum install perl-ExtUtils-Embed hmaccalc -y

yum install patchutils \

> xmlto  \
> elfutils-libelf-devel \
> binutils-devel  \
> hmaccalc -y

再次执行  rpmbuild -bp kernel.spec

[root@localhost SPECS]# rpmbuild -bp kernel.spec
warning: bogus date in %changelog: Tue Dec 07 2011 Karanbir Singh <kbsingh@centos.org> [2.6.32-220.el6.centos]
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.kzl2xP

- umask 022
- cd /home/icbcmon/rpmbuild/BUILD
- patch_command='patch -p1 -F1 -s'
- '[' '!' -d kernel-2.6.32-220.el6/vanilla-2.6.32-220.el6/ ']'
- rm -f pax_global_header
- cd /home/icbcmon/rpmbuild/BUILD
- rm -rf kernel-2.6.32-220.el6
- /usr/bin/mkdir -p kernel-2.6.32-220.el6
- cd kernel-2.6.32-220.el6
- /usr/bin/bzip2 -dc /home/icbcmon/rpmbuild/SOURCES/linux-2.6.32-220.el6.tar.bz2
- /usr/bin/tar -xf -
- STATUS=0
- '[' 0 -ne 0 ']'
- /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
- mv linux-2.6.32-220.el6 vanilla-2.6.32-220.el6
- '[' -d linux-2.6.32-220.el7.x86_64 ']'
- cp -rl vanilla-2.6.32-220.el6 linux-2.6.32-220.el7.x86_64
- cd linux-2.6.32-220.el7.x86_64
- cp /home/icbcmon/rpmbuild/SOURCES/config-debug /home/icbcmon/rpmbuild/SOURCES/config-debug-rhel /home/icbcmon/rpmbuild/SOURCES/config-framepointer /home/icbcmon/rpmbuild/SOURCES/config-generic /home/icbcmon/rpmbuild/SOURCES/config-generic-rhel /home/icbcmon/rpmbuild/SOURCES/config-i686 /home/icbcmon/rpmbuild/SOURCES/config-i686-debug /home/icbcmon/rpmbuild/SOURCES/config-i686-debug-rhel /home/icbcmon/rpmbuild/SOURCES/config-i686-nodebug /home/icbcmon/rpmbuild/SOURCES/config-i686-nodebug-rhel /home/icbcmon/rpmbuild/SOURCES/config-i686-rhel /home/icbcmon/rpmbuild/SOURCES/config-ia64-generic-rhel /home/icbcmon/rpmbuild/SOURCES/config-nodebug /home/icbcmon/rpmbuild/SOURCES/config-nodebug-rhel /home/icbcmon/rpmbuild/SOURCES/config-powerpc-generic /home/icbcmon/rpmbuild/SOURCES/config-powerpc-generic-rhel /home/icbcmon/rpmbuild/SOURCES/config-powerpc64 /home/icbcmon/rpmbuild/SOURCES/config-powerpc64-kdump /home/icbcmon/rpmbuild/SOURCES/config-powerpc64-rhel /home/icbcmon/rpmbuild/SOURCES/config-s390x /home/icbcmon/rpmbuild/SOURCES/config-s390x-debug /home/icbcmon/rpmbuild/SOURCES/config-s390x-debug-rhel /home/icbcmon/rpmbuild/SOURCES/config-s390x-generic-rhel /home/icbcmon/rpmbuild/SOURCES/config-s390x-kdump /home/icbcmon/rpmbuild/SOURCES/config-s390x-kdump-rhel /home/icbcmon/rpmbuild/SOURCES/config-s390x-rhel /home/icbcmon/rpmbuild/SOURCES/config-x86-generic /home/icbcmon/rpmbuild/SOURCES/config-x86-generic-rhel /home/icbcmon/rpmbuild/SOURCES/config-x86_64-debug /home/icbcmon/rpmbuild/SOURCES/config-x86_64-debug-rhel /home/icbcmon/rpmbuild/SOURCES/config-x86_64-generic /home/icbcmon/rpmbuild/SOURCES/config-x86_64-generic-rhel /home/icbcmon/rpmbuild/SOURCES/config-x86_64-nodebug /home/icbcmon/rpmbuild/SOURCES/config-x86_64-nodebug-rhel .
- cp /home/icbcmon/rpmbuild/SOURCES/merge.pl /home/icbcmon/rpmbuild/SOURCES/Makefile.common /home/icbcmon/rpmbuild/SOURCES/perf /home/icbcmon/rpmbuild/SOURCES/kabitool /home/icbcmon/rpmbuild/SOURCES/check-kabi .
- make -f /home/icbcmon/rpmbuild/SOURCES/Makefile.config VERSION=2.6.32 configs
  perl merge.pl config-nodebug-merged config-generic-merged > temp-generic
  perl merge.pl config-x86_64-generic-merged temp-generic  > temp-x86_64-generic
  perl merge.pl config-x86_64-nodebug-merged temp-x86_64-generic x86_64 > kernel-2.6.32-x86_64.config
  perl merge.pl config-debug-merged config-generic-merged > temp-debug-generic
  perl merge.pl config-x86_64-generic-merged temp-debug-generic  > temp-x86_64-debug-generic
  perl merge.pl config-x86_64-debug-merged temp-x86_64-debug-generic x86_64 > kernel-2.6.32-x86_64-debug.config
  perl merge.pl config-x86-generic-merged temp-generic  > temp-x86-generic
  perl merge.pl config-i686-merged temp-x86-generic > temp-i686-final
  perl merge.pl config-i686-nodebug-merged temp-i686-final i386 > kernel-2.6.32-i686.config
  perl merge.pl config-x86-generic-merged temp-debug-generic  > temp-x86-debug-generic
  perl merge.pl config-i686-merged temp-x86-debug-generic > temp-i686-debug-final
  perl merge.pl config-i686-debug-merged temp-i686-debug-final i386 > kernel-2.6.32-i686-debug.config
  perl merge.pl config-s390x-merged temp-generic > temp-s390x-generic
  perl merge.pl config-s390x-merged temp-s390x-generic s390 > kernel-2.6.32-s390x.config
  perl merge.pl config-s390x-merged temp-debug-generic  > temp-s390x-debug-generic
  perl merge.pl config-s390x-debug-merged temp-s390x-debug-generic s390 > kernel-2.6.32-s390x-debug.config
  perl merge.pl config-s390x-kdump-merged kernel-2.6.32-s390x.config s390 > kernel-2.6.32-s390x-kdump.config
  perl merge.pl config-powerpc-generic-merged temp-generic  > temp-powerpc-generic
  perl merge.pl config-powerpc64-merged temp-powerpc-generic powerpc > kernel-2.6.32-ppc64.config
  perl merge.pl config-powerpc64-kdump-merged kernel-2.6.32-ppc64.config powerpc > kernel-2.6.32-ppc64-kdump.config
  perl merge.pl config-powerpc-generic-merged temp-debug-generic  > temp-powerpc-debug-generic
  perl merge.pl config-powerpc64-merged temp-powerpc-debug-generic powerpc > kernel-2.6.32-ppc64-debug.config
- ApplyOptionalPatch linux-kernel-test.patch
- local patch=linux-kernel-test.patch
- shift
- '[' '!' -f /home/icbcmon/rpmbuild/SOURCES/linux-kernel-test.patch ']'
  ++ wc -l /home/icbcmon/rpmbuild/SOURCES/linux-kernel-test.patch
  ++ awk '{print $1}'
- local C=1
- '[' 1 -gt 9 ']'
- chmod +x scripts/checkpatch.pl
- mkdir configs
- for cfg in 'kernel-2.6.32-*.config'
  ++ echo kernel-2.6.32-x86_64-debug.config kernel-2.6.32-x86_64.config
  ++ grep -c kernel-2.6.32-i686-debug.config
- '[' 0 -eq 0 ']'
- rm -f kernel-2.6.32-i686-debug.config
- for cfg in 'kernel-2.6.32-*.config'
  ++ grep -c kernel-2.6.32-i686.config
  ++ echo kernel-2.6.32-x86_64-debug.config kernel-2.6.32-x86_64.config
- '[' 0 -eq 0 ']'
- rm -f kernel-2.6.32-i686.config
- for cfg in 'kernel-2.6.32-*.config'
  ++ grep -c kernel-2.6.32-ppc64-debug.config
  ++ echo kernel-2.6.32-x86_64-debug.config kernel-2.6.32-x86_64.config
- '[' 0 -eq 0 ']'
- rm -f kernel-2.6.32-ppc64-debug.config
- for cfg in 'kernel-2.6.32-*.config'
  ++ echo kernel-2.6.32-x86_64-debug.config kernel-2.6.32-x86_64.config
  ++ grep -c kernel-2.6.32-ppc64-kdump.config
- '[' 0 -eq 0 ']'
- rm -f kernel-2.6.32-ppc64-kdump.config
- for cfg in 'kernel-2.6.32-*.config'
  ++ echo kernel-2.6.32-x86_64-debug.config kernel-2.6.32-x86_64.config
  ++ grep -c kernel-2.6.32-ppc64.config
- '[' 0 -eq 0 ']'
- rm -f kernel-2.6.32-ppc64.config
- for cfg in 'kernel-2.6.32-*.config'
  ++ grep -c kernel-2.6.32-s390x-debug.config
  ++ echo kernel-2.6.32-x86_64-debug.config kernel-2.6.32-x86_64.config
- '[' 0 -eq 0 ']'
- rm -f kernel-2.6.32-s390x-debug.config
- for cfg in 'kernel-2.6.32-*.config'
  ++ echo kernel-2.6.32-x86_64-debug.config kernel-2.6.32-x86_64.config
  ++ grep -c kernel-2.6.32-s390x-kdump.config
- '[' 0 -eq 0 ']'
- rm -f kernel-2.6.32-s390x-kdump.config
- for cfg in 'kernel-2.6.32-*.config'
  ++ grep -c kernel-2.6.32-s390x.config
  ++ echo kernel-2.6.32-x86_64-debug.config kernel-2.6.32-x86_64.config
- '[' 0 -eq 0 ']'
- rm -f kernel-2.6.32-s390x.config
- for cfg in 'kernel-2.6.32-*.config'
  ++ echo kernel-2.6.32-x86_64-debug.config kernel-2.6.32-x86_64.config
  ++ grep -c kernel-2.6.32-x86_64-debug.config
- '[' 1 -eq 0 ']'
- for cfg in 'kernel-2.6.32-*.config'
  ++ echo kernel-2.6.32-x86_64-debug.config kernel-2.6.32-x86_64.config
  ++ grep -c kernel-2.6.32-x86_64.config
- '[' 1 -eq 0 ']'
- for i in '*.config'
- mv kernel-2.6.32-x86_64-debug.config .config
  ++ head -1 .config
  ++ cut -b 3-
- Arch=x86_64
- make ARCH=x86_64 nonint_oldconfig
  scripts/kconfig/conf.c: In function 'conf_sym':
  scripts/kconfig/conf.c:161:6: warning: variable 'type' set but not used [-Wunused-but-set-variable]
  int type;
      ^
  scripts/kconfig/conf.c: In function 'conf_choice':
  scripts/kconfig/conf.c:233:6: warning: variable 'type' set but not used [-Wunused-but-set-variable]
  int type;
      ^
- echo '# x86_64'
- cat .config
- rm -f include/generated/kernel.arch
- rm -f include/generated/kernel.cross
- for i in '*.config'
- mv kernel-2.6.32-x86_64.config .config
  ++ head -1 .config
  ++ cut -b 3-
- Arch=x86_64
- make ARCH=x86_64 nonint_oldconfig
- echo '# x86_64'
- cat .config
- rm -f include/generated/kernel.arch
- rm -f include/generated/kernel.cross
- find . '(' -name '*.orig' -o -name '*~' ')' -exec rm -f '{}' ';'
- cp /home/icbcmon/rpmbuild/SOURCES/extrakeys.pub .
- cat
  ###

### Now generating a PGP key pair to be used for signing modules.

###

### If this takes a long time, you might wish to run rngd in the background to

### keep the supply of entropy topped up.  It needs to be run as root, and

### should use a hardware random number generator if one is available, eg:

###

### rngd -r /dev/hwrandom

###

### If one isn't available, the pseudo-random number generator can be used:

###

### rngd -r /dev/urandom

###

- gpg --homedir . --batch --gen-key /home/icbcmon/rpmbuild/SOURCES/genkey
  gpg: WARNING: unsafe permissions on homedir `.'
  gpg: keyring `./secring.gpg' created
  gpg: keyring `./pubring.gpg' created

^C
gpg: signal Interrupt caught ... exiting

会在这里卡着不动,解决方法是:

yum -y install rng-tools

rngd -r /dev/urandom

 继续执行rpmbuild -bp kernel.spec

[root@localhost SPECS]# rpmbuild -bp kernel.spec
warning: bogus date in %changelog: Tue Dec 07 2011 Karanbir Singh <kbsingh@centos.org> [2.6.32-220.el6.centos]
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.DP2RsI

- umask 022
- cd /home/icbcmon/rpmbuild/BUILD
- patch_command='patch -p1 -F1 -s'
- '[' '!' -d kernel-2.6.32-220.el6/vanilla-2.6.32-220.el6/ ']'
- cd kernel-2.6.32-220.el6/
- '[' -d linux-2.6.32-220.el7.x86_64 ']'
- rm -rf deleteme.x86_64
- mv linux-2.6.32-220.el7.x86_64 deleteme.x86_64
- cp -rl vanilla-2.6.32-220.el6 linux-2.6.32-220.el7.x86_64
- rm -rf deleteme.x86_64
- cd linux-2.6.32-220.el7.x86_64
- cp /home/icbcmon/rpmbuild/SOURCES/config-debug /home/icbcmon/rpmbuild/SOURCES/config-debug-rhel /home/icbcmon/rpmbuild/SOURCES/config-framepointer /home/icbcmon/rpmbuild/SOURCES/config-generic /home/icbcmon/rpmbuild/SOURCES/config-generic-rhel /home/icbcmon/rpmbuild/SOURCES/config-i686 /home/icbcmon/rpmbuild/SOURCES/config-i686-debug /home/icbcmon/rpmbuild/SOURCES/config-i686-debug-rhel /home/icbcmon/rpmbuild/SOURCES/config-i686-nodebug /home/icbcmon/rpmbuild/SOURCES/config-i686-nodebug-rhel /home/icbcmon/rpmbuild/SOURCES/config-i686-rhel /home/icbcmon/rpmbuild/SOURCES/config-ia64-generic-rhel /home/icbcmon/rpmbuild/SOURCES/config-nodebug /home/icbcmon/rpmbuild/SOURCES/config-nodebug-rhel /home/icbcmon/rpmbuild/SOURCES/config-powerpc-generic /home/icbcmon/rpmbuild/SOURCES/config-powerpc-generic-rhel /home/icbcmon/rpmbuild/SOURCES/config-powerpc64 /home/icbcmon/rpmbuild/SOURCES/config-powerpc64-kdump /home/icbcmon/rpmbuild/SOURCES/config-powerpc64-rhel /home/icbcmon/rpmbuild/SOURCES/config-s390x /home/icbcmon/rpmbuild/SOURCES/config-s390x-debug /home/icbcmon/rpmbuild/SOURCES/config-s390x-debug-rhel /home/icbcmon/rpmbuild/SOURCES/config-s390x-generic-rhel /home/icbcmon/rpmbuild/SOURCES/config-s390x-kdump /home/icbcmon/rpmbuild/SOURCES/config-s390x-kdump-rhel /home/icbcmon/rpmbuild/SOURCES/config-s390x-rhel /home/icbcmon/rpmbuild/SOURCES/config-x86-generic /home/icbcmon/rpmbuild/SOURCES/config-x86-generic-rhel /home/icbcmon/rpmbuild/SOURCES/config-x86_64-debug /home/icbcmon/rpmbuild/SOURCES/config-x86_64-debug-rhel /home/icbcmon/rpmbuild/SOURCES/config-x86_64-generic /home/icbcmon/rpmbuild/SOURCES/config-x86_64-generic-rhel /home/icbcmon/rpmbuild/SOURCES/config-x86_64-nodebug /home/icbcmon/rpmbuild/SOURCES/config-x86_64-nodebug-rhel .
- cp /home/icbcmon/rpmbuild/SOURCES/merge.pl /home/icbcmon/rpmbuild/SOURCES/Makefile.common /home/icbcmon/rpmbuild/SOURCES/perf /home/icbcmon/rpmbuild/SOURCES/kabitool /home/icbcmon/rpmbuild/SOURCES/check-kabi .
- make -f /home/icbcmon/rpmbuild/SOURCES/Makefile.config VERSION=2.6.32 configs
  perl merge.pl config-nodebug-merged config-generic-merged > temp-generic
  perl merge.pl config-x86_64-generic-merged temp-generic  > temp-x86_64-generic
  perl merge.pl config-x86_64-nodebug-merged temp-x86_64-generic x86_64 > kernel-2.6.32-x86_64.config
  perl merge.pl config-debug-merged config-generic-merged > temp-debug-generic
  perl merge.pl config-x86_64-generic-merged temp-debug-generic  > temp-x86_64-debug-generic
  perl merge.pl config-x86_64-debug-merged temp-x86_64-debug-generic x86_64 > kernel-2.6.32-x86_64-debug.config
  perl merge.pl config-x86-generic-merged temp-generic  > temp-x86-generic
  perl merge.pl config-i686-merged temp-x86-generic > temp-i686-final
  perl merge.pl config-i686-nodebug-merged temp-i686-final i386 > kernel-2.6.32-i686.config
  perl merge.pl config-x86-generic-merged temp-debug-generic  > temp-x86-debug-generic
  perl merge.pl config-i686-merged temp-x86-debug-generic > temp-i686-debug-final
  perl merge.pl config-i686-debug-merged temp-i686-debug-final i386 > kernel-2.6.32-i686-debug.config
  perl merge.pl config-s390x-merged temp-generic > temp-s390x-generic
  perl merge.pl config-s390x-merged temp-s390x-generic s390 > kernel-2.6.32-s390x.config
  perl merge.pl config-s390x-merged temp-debug-generic  > temp-s390x-debug-generic
  perl merge.pl config-s390x-debug-merged temp-s390x-debug-generic s390 > kernel-2.6.32-s390x-debug.config
  perl merge.pl config-s390x-kdump-merged kernel-2.6.32-s390x.config s390 > kernel-2.6.32-s390x-kdump.config
  perl merge.pl config-powerpc-generic-merged temp-generic  > temp-powerpc-generic
  perl merge.pl config-powerpc64-merged temp-powerpc-generic powerpc > kernel-2.6.32-ppc64.config
  perl merge.pl config-powerpc64-kdump-merged kernel-2.6.32-ppc64.config powerpc > kernel-2.6.32-ppc64-kdump.config
  perl merge.pl config-powerpc-generic-merged temp-debug-generic  > temp-powerpc-debug-generic
  perl merge.pl config-powerpc64-merged temp-powerpc-debug-generic powerpc > kernel-2.6.32-ppc64-debug.config
- ApplyOptionalPatch linux-kernel-test.patch
- local patch=linux-kernel-test.patch
- shift
- '[' '!' -f /home/icbcmon/rpmbuild/SOURCES/linux-kernel-test.patch ']'
  ++ wc -l /home/icbcmon/rpmbuild/SOURCES/linux-kernel-test.patch
  ++ awk '{print $1}'
- local C=1
- '[' 1 -gt 9 ']'
- chmod +x scripts/checkpatch.pl
- mkdir configs
- for cfg in 'kernel-2.6.32-*.config'
  ++ echo kernel-2.6.32-x86_64-debug.config kernel-2.6.32-x86_64.config
  ++ grep -c kernel-2.6.32-i686-debug.config
- '[' 0 -eq 0 ']'
- rm -f kernel-2.6.32-i686-debug.config
- for cfg in 'kernel-2.6.32-*.config'
  ++ echo kernel-2.6.32-x86_64-debug.config kernel-2.6.32-x86_64.config
  ++ grep -c kernel-2.6.32-i686.config
- '[' 0 -eq 0 ']'
- rm -f kernel-2.6.32-i686.config
- for cfg in 'kernel-2.6.32-*.config'
  ++ echo kernel-2.6.32-x86_64-debug.config kernel-2.6.32-x86_64.config
  ++ grep -c kernel-2.6.32-ppc64-debug.config
- '[' 0 -eq 0 ']'
- rm -f kernel-2.6.32-ppc64-debug.config
- for cfg in 'kernel-2.6.32-*.config'
  ++ echo kernel-2.6.32-x86_64-debug.config kernel-2.6.32-x86_64.config
  ++ grep -c kernel-2.6.32-ppc64-kdump.config
- '[' 0 -eq 0 ']'
- rm -f kernel-2.6.32-ppc64-kdump.config
- for cfg in 'kernel-2.6.32-*.config'
  ++ echo kernel-2.6.32-x86_64-debug.config kernel-2.6.32-x86_64.config
  ++ grep -c kernel-2.6.32-ppc64.config
- '[' 0 -eq 0 ']'
- rm -f kernel-2.6.32-ppc64.config
- for cfg in 'kernel-2.6.32-*.config'
  ++ echo kernel-2.6.32-x86_64-debug.config kernel-2.6.32-x86_64.config
  ++ grep -c kernel-2.6.32-s390x-debug.config
- '[' 0 -eq 0 ']'
- rm -f kernel-2.6.32-s390x-debug.config
- for cfg in 'kernel-2.6.32-*.config'
  ++ echo kernel-2.6.32-x86_64-debug.config kernel-2.6.32-x86_64.config
  ++ grep -c kernel-2.6.32-s390x-kdump.config
- '[' 0 -eq 0 ']'
- rm -f kernel-2.6.32-s390x-kdump.config
- for cfg in 'kernel-2.6.32-*.config'
  ++ echo kernel-2.6.32-x86_64-debug.config kernel-2.6.32-x86_64.config
  ++ grep -c kernel-2.6.32-s390x.config
- '[' 0 -eq 0 ']'
- rm -f kernel-2.6.32-s390x.config
- for cfg in 'kernel-2.6.32-*.config'
  ++ echo kernel-2.6.32-x86_64-debug.config kernel-2.6.32-x86_64.config
  ++ grep -c kernel-2.6.32-x86_64-debug.config
- '[' 1 -eq 0 ']'
- for cfg in 'kernel-2.6.32-*.config'
  ++ echo kernel-2.6.32-x86_64-debug.config kernel-2.6.32-x86_64.config
  ++ grep -c kernel-2.6.32-x86_64.config
- '[' 1 -eq 0 ']'
- for i in '*.config'
- mv kernel-2.6.32-x86_64-debug.config .config
  ++ head -1 .config
  ++ cut -b 3-
- Arch=x86_64
- make ARCH=x86_64 nonint_oldconfig
  scripts/kconfig/conf.c: In function 'conf_sym':
  scripts/kconfig/conf.c:161:6: warning: variable 'type' set but not used [-Wunused-but-set-variable]
  int type;
      ^
  scripts/kconfig/conf.c: In function 'conf_choice':
  scripts/kconfig/conf.c:233:6: warning: variable 'type' set but not used [-Wunused-but-set-variable]
  int type;
      ^
- echo '# x86_64'
- cat .config
- rm -f include/generated/kernel.arch
- rm -f include/generated/kernel.cross
- for i in '*.config'
- mv kernel-2.6.32-x86_64.config .config
  ++ head -1 .config
  ++ cut -b 3-
- Arch=x86_64
- make ARCH=x86_64 nonint_oldconfig
- echo '# x86_64'
- cat .config
- rm -f include/generated/kernel.arch
- rm -f include/generated/kernel.cross
- find . '(' -name '*.orig' -o -name '*~' ')' -exec rm -f '{}' ';'
- cp /home/icbcmon/rpmbuild/SOURCES/extrakeys.pub .
- cat
  ###

### Now generating a PGP key pair to be used for signing modules.

###

### If this takes a long time, you might wish to run rngd in the background to

### keep the supply of entropy topped up.  It needs to be run as root, and

### should use a hardware random number generator if one is available, eg:

###

### rngd -r /dev/hwrandom

###

### If one isn't available, the pseudo-random number generator can be used:

###

### rngd -r /dev/urandom

###

- gpg --homedir . --batch --gen-key /home/icbcmon/rpmbuild/SOURCES/genkey
  gpg: WARNING: unsafe permissions on homedir `.'
  gpg: keyring `./secring.gpg' created
  gpg: keyring `./pubring.gpg' created
- cat
  ###

### Key pair generated.

###

- '[' -s /home/icbcmon/rpmbuild/SOURCES/extrakeys.pub ']'
- gpg --homedir . --no-default-keyring --keyring kernel.pub --import /home/icbcmon/rpmbuild/SOURCES/extrakeys.pub
  gpg: WARNING: unsafe permissions on homedir `.'
  gpg: ./trustdb.gpg: trustdb created
  gpg: key CD09BEDA: public key "Red Hat Enterprise Linux Driver Update Program <secalert@redhat.com>" imported
  gpg: Total number processed: 1
  gpg:               imported: 1
- gpg --homedir . --export --keyring ./kernel.pub CentOS
  gpg: WARNING: unsafe permissions on homedir `.'
- gcc -o scripts/bin2c scripts/bin2c.c
- scripts/bin2c ksign_def_public_key __initdata
- cd ..
- exit 0

终于成功。

 第三步、对生成的内核源码打patch

#在/usr/local/src下解压linux-2.6.32-220.23.1.el6.x86_64.lvs.src.tar.gz
tar zxf linux-2.6.32-220.23.1.el6.x86_64.lvs.src.tar.gz

#打patch
cd ~/rpmbuild/BUILD/kernel-2.6.32-220.23.1.el6/linux-2.6.32-220.23.1.el6.x86_64/
cp /usr/local/src/linux-2.6.32-220.23.1.el6.x86_64.lvs/lvs-2.6.32-220.23.1.el6.patch .

#修改.config文件
vim .config
CONFIG_IP_VS_TAB_BITS=20

 第四步:

make

这里面又是数不清的坑。记录一下已经遇到过的问题和解决方法:

problem 1:

 解决方法:将报错文件中的END(do_hypervisor_callback)改为END(xen_do_hypervisor_callback)

problem 2:

 解决方法:

In arch/x86/vdso/Makefile :

replace "-m elf_x86_64" by "-m64" on the line starting with VDSO_LDFLAGS_vdso.lds
replace "-m elf_i386" by "-m32" on the line starting with VDSO_LDFLAGS_vdso32.lds

problem 3:

 解决方法:

将drivers/scsi/pmcraid.h中的第611行注释掉:

problem 4:

 明天继续解决。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值