[問題] 新增patch至kernel srpm失敗
大家好~
我想新增Layer7的kerenl patch 至CentOS 的kernel source rpm.
已經先測試過直接編譯srpm並安裝成功!
現在要手動加入patch做了以下步驟
1.解開src.rpm~
2.修改/SPECS/kernel-2.6.spec檔(加入要更新的patch並跟著編入流水號)
3.拷貝Layer7 patch 置入SOURCE資料夾中
4.修改/SOURCE資料夾中的三個.config檔~並加入以下內容
CONFIG_IP_NF_MATCH_LAYER7=m
CONFIG_IP_NF_MATCH_LAYER7_DEBUG=y
5重新編譯spec檔案 (e.g. rpmbuild -bb --target x86_64 kernel-2.6.spec)
結果出現以下錯誤訊息
-----------------------------------------------------------------------------------------
+ mkdir -p /var/tmp/kernel-2.6.18-194.el5-root/lib/modules/2.6.18-194.el5
+ '[' x86_64 '!=' s390 -o '' '!=' kdump ']'
+ make -s ARCH=x86_64 INSTALL_MOD_PATH=/var/tmp/kernel-2.6.18-194.el5-root
modules_install KERNELR ELEASE=2.6.18-194.el5
+ echo '**** GENERATING kernel ABI metadata ****'
**** GENERATING kernel ABI metadata ****
+ gzip -c9
+ chmod 0755 /root/rpmbuild/SOURCES/kabitool
+ '[' '!' -e /root/rpmbuild/SOURCES/kabi_whitelist_x86_64 ']'
+ cp /root/rpmbuild/SOURCES/kabi_whitelist_x86_64
/var/tmp/kernel-2.6.18-194.el5-root/kabi_whiteli st
+ rm -f /var/tmp/kernel-2.6.18-194.el5-kabideps
+ /root/rpmbuild/SOURCES/kabitool -b . -d
/var/tmp/kernel-2.6.18-194.el5-kabideps -k 2.6.18-194.el 5 -w
/var/tmp/kernel-2.6.18-194.el5-root/kabi_whitelist
nm: net/dccp/ccids/built-in.o: no symbols
nm: net/dccp/built-in.o: no symbols
nm: samples/built-in.o: no symbols
nm: sound/core/built-in.o: no symbols
nm: drivers/message/built-in.o: no symbols
nm: drivers/net/wireless/built-in.o: no symbols
nm: drivers/media/built-in.o: no symbols
nm: drivers/isdn/hardware/built-in.o: no symbols
nm: drivers/i2c/built-in.o: no symbols
nm: drivers/scsi/built-in.o: no symbols
+ echo '**** kABI checking is enabled in kernel SPEC file. ****'
**** kABI checking is enabled in kernel SPEC file. ****
+ chmod 0755 /root/rpmbuild/SOURCES/check-kabi
+ '[' -e /root/rpmbuild/SOURCES/Module.kabi_x86_64 ']'
+ cp /root/rpmbuild/SOURCES/Module.kabi_x86_64
/var/tmp/kernel-2.6.18-194.el5-root/Module.kabi
+ /root/rpmbuild/SOURCES/check-kabi -k
/var/tmp/kernel-2.6.18-194.el5-root/Module.kabi -s Module.s ymvers
*** ERROR - ABI BREAKAGE WAS DETECTED ***
The following symbols have been changed (this will cause an ABI breakage):
ip_conntrack_protocol_unregister
ip_conntrack_protocol_register
ip_nat_used_tuple
ip_nat_follow_master
__ip_ct_refresh_acct
ip_nat_mangle_udp_packet
ip_conntrack_expect_alloc
ip_nat_protocol_unregister
ip_conntrack_expect_put
ip_conntrack_expect_related
__ip_ct_event_cache_init
ip_nat_mangle_tcp_packet
ip_nat_setup_info
ip_conntrack_helper_unregister
ip_conntrack_unexpect_related
ip_conntrack_helper_register
ip_nat_protocol_register
+ exit 1
error: Bad exit status from /var/tmp/rpm-tmp.54011 (%build)
RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.54011 (%build)
------------------------------------------------------------
請問這表示我的patch不合嗎?
之前直接下指令更新patch時出現以下訊息
-------------------------------------
patching file include/linux/netfilter_ipv4/ip_conntrack.h
patching file include/linux/netfilter_ipv4/ipt_layer7.h
patching file net/ipv4/netfilter/Kconfig
patching file net/ipv4/netfilter/Makefile
Hunk #1 succeeded at 64 (offset 1 line).
patching file net/ipv4/netfilter/ip_conntrack_core.c
Hunk #1 succeeded at 360 (offset 23 lines).
patching file net/ipv4/netfilter/ip_conntrack_standalone.c
Hunk #1 succeeded at 193 (offset 1 line).
patching file net/ipv4/netfilter/ipt_layer7.c
patching file net/ipv4/netfilter/regexp/regexp.c
patching file net/ipv4/netfilter/regexp/regexp.h
patching file net/ipv4/netfilter/regexp/regmagic.h
patching file net/ipv4/netfilter/regexp/regsub.c
-------------------------------------------------
感謝指導
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.96.29.228
推
07/07 19:38, , 1F
07/07 19:38, 1F
→
07/07 19:39, , 2F
07/07 19:39, 2F
→
07/07 19:40, , 3F
07/07 19:40, 3F