सुझाव: डेबियन Lenny पर 2.6.33 और ऊपर गुठली संकलन
तो चलो कहते हैं कि आप एक Linux 2.6.33 कर्नेल या अपने डेबियन लेनी प्रणाली पर नए स्थापित करना चाहते हैं.
समस्या
समस्या यह है कि के बाद आप अपने सामान्य बनाने के kpkg आदेश देने के लिए डेबियन Lenny पर Linux कर्नेल संकलन संकलन प्रक्रिया में कुछ समय के बाद निम्न त्रुटि संदेश देखेंगे:
COLUMNS=150 dpkg -l 'gcc*' perl dpkg 'libc6*' binutils make dpkg-dev |\
awk '$1 ~ /[hi]i/ { printf("%s-%s\n", $2, $3) }'> debian/buildinfo
uname -a >> debian/buildinfo
echo using the compiler: >> debian/buildinfo
grep LINUX_COMPILER include/linux/compile.h | \
sed -e 's/.*LINUX_COMPILER "//' -e 's/"$//' >> debian/buildinfo
grep: include/linux/compile.h: No such file or directory
echo kernel source package used: >> debian/buildinfo
echo linux-source-2.6.33 1~experimental.4 >> debian/buildinfo
echo applied kernel patches: >> debian/buildinfo
echo done > debian/stamp/build/kernel
/usr/bin/make -f ./debian/rules debian/stamp/binary/pre-linux-image-2.6.33-lennycompiletest2633squeeze
make[1]: Entering directory `/usr/src/linux-source-2.6.33'
====== making target debian/stamp/install/linux-image-2.6.33-lennycompiletest2633squeeze [new prereqs: ]======
This is kernel package version 11.015.
echo "The UTS Release version in include/linux/version.h"; echo " \"\" "; echo "does not match current version:"; echo " \"2.6.33-lennycompiletest2633squeeze\" "; echo "Please correct this."; exit 2
The UTS Release version in include/linux/version.h
""
does not match current version:
"2.6.33-lennycompiletest2633squeeze"
Please correct this.
make[1]: *** [debian/stamp/install/linux-image-2.6.33-lennycompiletest2633squeeze] Error 2
make[1]: Leaving directory `/usr/src/linux-source-2.6.33'
make: *** [kernel_image] Error 2
पूर्णता के लिए, आदेश है कि मैं ऊपर संकलन के लिए दिया था:
lenny:/usr/src/linux-source-2.6.33# make-kpkg --initrd --append-to-version=-lennycompiletest2633squeeze kernel_image
कारण है कि हम उपरोक्त त्रुटि संदेश मिलता है क्योंकि कर्नेल लोगों में कुछ परिवर्तन करने का फैसला किया कर्नेल पैकेज है कि कस्टम कर्नेल संकलन के लिए जिम्मेदार है.
समाधान
इस त्रुटि संदेश को ठीक करने का सबसे आसान तरीका है कि स्थापित हो जाता है जब आप कर्नेल पैकेज पैकेज स्थापित निम्न फ़ाइल को संशोधित करने के लिए है:
# nano /usr/share/kernel-package/ruleset/misc/version_vars.mk
और निम्नलिखित लाइनों को बदलने के लिए:
UTS_RELEASE_HEADER=$(call doit,if [ -f include/linux/utsrelease.h ]; then \
echo include/linux/utsrelease.h; \
else \
echo include/linux/version.h ; \
fi)
तक
UTS_RELEASE_HEADER=$(call doit,if [ -f include/linux/utsrelease.h ]; then \
echo include/generated/utsrelease.h; \
else \
echo include/generated/utsrelease.h ; \
fi)
और अब फिर से अपने कर्नेल को फिर से संकलन अपने आदेश मेक - kpkg दे.
डेबियन यानी निचोड़ के अगले स्थिर रिलीज में, फ़ाइल version_vars.mk वर्तमान स्थिर रिहाई यानी लेनी से बदल दिया है.
root@debian:~# diff version_vars.mk.lenny version_vars.mk.squeeze
उत्पादन:
141,145c141,147
< UTS_RELEASE_HEADER=$(call doit,if [ -f include/linux/utsrelease.h ]; then \
< echo include/linux/utsrelease.h; \
< else \
< echo include/linux/version.h ; \
< fi)
---
> UTS_RELEASE_HEADER=$(call doit,if [ -f include/generated/utsrelease.h ]; then \
> echo include/generated/utsrelease.h; \
> elif [ -f include/linux/utsrelease.h ]; then \
> echo include/linux/utsrelease.h; \
> else \
> echo include/linux/version.h ; \
> fi)
187,188d188
<
< AM_OFFICIAL := $(call doit,if [ -f debian/official ]; then echo YES; fi )
root@debian:~#
परिवर्तन सटीक एक ही के रूप में मैं ऊपर उल्लेख किया है नहीं कर रहे हैं, लेकिन यह एक ही समस्या को ठीक करता है. आप निचोड़ से परिवर्तन (बजाय ऊपर से मेरा) अपने मौजूदा लेनी प्रणाली नकल के रूप में उन परिवर्तनों को वास्तविक कर्नेल देखरेख से हो जाना चाहिए सकता है!
यह बात है!











3 जून, 2011 03:29 पर हूँ
नमस्ते और धन्यवाद :-)
इस 'शोषण' 2.6.37.6 पर नहीं चलता है
वहाँ एक पैच या risolve अन्य है?
धन्यवाद!
पोल
इस टिप्पणी का जवाब दें
नवम्बर 27, 2011 00:22 पर हूँ
क्या मैं ऐसा करने के बाद पूरे fkcing kernal फिर कंपाइल है?? coz मैं और इस त्रुटि बनी रहती करने के बाद फिर से शुरू करने की कोशिश की, * ^ & * ^ & # $!!! rm-आरएफ!! arg!
इस टिप्पणी का जवाब दें
नवम्बर 27, 2011 12:27 पर हूँ
इस प्रक्रिया के अंत में बनाने kpkg साफ recompiling के पहले चलाने के?
इस टिप्पणी का जवाब दें