СОВЕТ: Компиляция 2.6.33 и выше ядра на Debian Lenny
Так скажем, вы хотите установить Linux ядро 2.6.33 или новее в вашей системе Debian Lenny.
Проблема
Проблема в том, что после того, как вы даете ваш обычный макияж КПКГ команду компиляции ядра Linux на Debian Lenny вы увидите следующее сообщение об ошибке через некоторое время в процесс компиляции:
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)
и теперь повторно скомпилировать ядро снова, давая вашей Make-КПКГ команды.
В следующей стабильной версии Debian Squeeze то есть, файл 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:~#
Изменения не точно такой же, как я упоминал выше, но он исправить те же проблемы. Может быть, вы должны скопировать изменения (вместо моего сверху) из Squeeze к существующей системе Ленни как эти изменения от фактического Сопровождающие ядра!
Вот и все!













3 июня 2011 в 3:29 утра
Здравствуйте и спасибо :-)
это "подвиг" не работает на 2.6.37.6
есть ли патч или другом risolve?
спасибо!
Пол
Ответить на этот комментарий
27 ноября 2011 в 12:22 утра
Нужно ли перекомпилировать ВЕСЬ fkcing Kernal после выполнения этому? Потому что я пытался возобновить после выполнения этого и ошибка не устранена, * ^ & * ^ & $ #!! РМ-РФ СДЕЛАТЬ!! Arg!
Ответить на этот комментарий
27 ноября 2011 в 12:27 утра
запустить "косметику КПКГ чистой" в конце этой процедуры, перед компиляцией?
Ответить на этот комментарий