проблемы при компиляции ядра 2.6.33.1 ,похоже ошибка в пакете kernel-package.Качнул kernel-package-12.033. Как правильно заменить этот пакет если ОС squeeze (testing)?
[Решено] squeeze - компиляция ядра
olegk, в смысле заменить? Установить версию из другой ветки?
у меня в системе стоит kernel-package 12.025,я скачал kernel-package 12.032. Как правильно этот пакет заменить?Система testing squeeze,ядро 2.6.30-2-686, решил откомпелить на 2.6.33.1-выдаёт ошибку, гугл подсказывает, что виновен пакет 12.025.
olegk, откуда вы его скачали? в каком виде вы его скачали? Если исходники, то зря. Рекомендую ставить этот пакет из репозиториев. Попробуйте версию стабильную версию. Скачайте deb* пакет под вашу архитектуру и далее установите его:
[console]
dpkg -i скачаный_пакет.deb
[/console]
последняя стабильная ветка-lenny,там можно компилить ядра до 2.6.29,далее надо менять библиотки и прочее,почему я прыгнул на squeeze и попробовал компильнуть ядро ... . Скачал kernel-package с debian.org всё родное ,Распаковал в /usr/src ,зашёл и от root dpkg -i kernel-package-12.033dpkg-split: ошибка чтения kernel-package-12.033: Это каталог
dpkg: не удалось обработать параметр kernel-package-12.033 (--install):
подпроцесс dpkg-split возвратил код ошибки 2
При обработке следующих пакетов произошли ошибки:
kernel-package-12.033
olegk, я собирал ядро на lenny и собирал версию 2.6.33,но собирал на lenny
да,что-то я делаю не так.
olegk, в чём конкретно проблема? Какую ошибку выдаёт? Как собираете?
да,что-то я делаю не так.
Я подозреваю, что вы не совсем обновились до testing, т.к. в этом случае у вас уже
был бы kernel-package-12.033. И не надо его скачивать, надо дать команду
apt-get -m install kernel-package.
После обновления до testing у меня не было затруднений с компиляцией ядра.
При обновлении я репозитарии lenny оставил подключённымы и подключил testing,
обновлялся командой
apt-get dist-upgrade
были трудности.
Пётр.
я не обновлялся,а установил testing squeeze с 6dvd,которые выписывал по почте,т.к инет у меня дорогой.Lenny стоит отдельно - второй системой(2 диска)
1.ставлю пакеты: systune; modprobe(efibootmgr); build-essential; kernel-package; fakeroot; qt3-dev-tools; libqt3-mt-dev; libncurses5-dev; debhelper.
2.распаковал в /usr/src
3.копирую config рабочего ядра из /boot в новое ядро /usr/src/linux-2.6.33.1
4.от root cd /usr/src/linux-2.6.33.1
и make xconfig (save configuration)
5.от root make-kpkg clean
6.от root fakeroot make-kpkg -initrd -revision=01 kernel_image kernel_headers kernel_source
7.
[console] IHEX firmware/sb16/ima_adpcm_playback.csp
IHEX firmware/sb16/ima_adpcm_capture.csp
make[1]: Leaving directory `/usr/src/linux-2.6.33.1'
/usr/bin/make ARCH=i386 \
-C Documentation/lguest
make[1]: Entering directory `/usr/src/linux-2.6.33.1/Documentation/lguest'
cc -m32 -Wall -Wmissing-declarations -Wmissing-prototypes -O3 -I../../include -I../../arch/x86/include -U_FORTIFY_SOURCE lguest.c -o lguest
make[1]: Leaving directory `/usr/src/linux-2.6.33.1/Documentation/lguest'
COLUMNS=150 dpkg -l 'gcc*' perl dpkg 'libc6*' binutils make dpkg-dev |\
awk '$1 ~ /[hi]i/ { printf("%s-%s\n", $2, $3) }'> debian/stamp/build/info
uname -a >> debian/stamp/build/info
echo using the compiler: >> debian/stamp/build/info
grep LINUX_COMPILER include/linux/compile.h | \
sed -e 's/.*LINUX_COMPILER "//' -e 's/"$//' >> debian/stamp/build/info
grep: include/linux/compile.h: Нет такого файла или каталога
echo done > debian/stamp/build/kernel
/usr/bin/make -f ./debian/rules debian/stamp/binary/pre-linux-image-2.6.33.1
make[1]: Entering directory `/usr/src/linux-2.6.33.1'
====== making target debian/stamp/install/linux-image-2.6.33.1 [new prereqs: ]======
This is kernel package version 12.025.!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
echo "The UTS Release version in include/linux/version.h"; echo " \"\" "; echo "does not match current version:"; echo " \"2.6.33.1\" "; echo "Please correct this."; exit 2
The UTS Release version in include/linux/version.h
""
does not match current version:
"2.6.33.1"
Please correct this.
make[1]: *** [debian/stamp/install/linux-image-2.6.33.1] Ошибка 2
make[1]: Leaving directory `/usr/src/linux-2.6.33.1'
make: *** [kernel_image] Ошибка 2[/console]
1) fakeroot это такая команда, которая позволяет собрать пакет с правами пользователя, она вам не нужна раз под рутом работаете.
2) используйте пожалуйста теги code
3) в директории /usr/src/linux-2.6.33.1/Documentation/lguest должен быть Makefile, там найдите инклудинг lguest.непомню_расширение и закоментируйте его шарпиком.
В testing ядро 2.6.32.10 у меня компилировалось без отключения lguest,
это требуется в lenny.
Для компилирования я использовал команду
make-kpkg --initrd --revision <...> kernel_image
пакет построился.
Пётр.
Peter, спасибо - сейчас ещё раз пройдусь
Peter, Нет , не идёт.
Ошибки те же самые?
Сохраните .config, затем сделайте
make mrproper
верните .config обратно, введите
make oldconfig
после сохранения
make-kpkg ...
Лично я ядро 2.6.33 не компилировал.
Пётр.
В testing ядро 2.6.32.10 у меня компилировалось без отключения lguest,
ну как видите тут всё немного не так.
Сохраните .config, затем сделайте
make mrproper
верните .config обратно, введите
make oldconfig
после сохранения
make-kpkg ...
скажите, что это за шаманства такие?
olegk, не трогайте пока lguest, поставьте следующие пакеты
libdb3-dev
libncurses5-dev
xmlto
и скажите какая теперь ошибка при компиляции?
да, а вы вообще make clean и make-kpkg clean делаете при повторной сборке?
Можно просто удалить каталог debian перед повторной сборкой.
Пётр.
Peter, Пётр спасибо.Сегодня день весь в бегах-приезжает сынок на выходные,завтра к вечеру всё что Вы рекомндуете,я пройду.lguest пока не трогал и ещё - подскажите, что означает выражение:"закоментировать шарпиком"? make clean и make-kpkg clean делаю при каждой пробной компиляции.
шарп - #
в программирование есть понятие "комментарии" - это когда (например в начале строки) идет специальный символ, обозначающий что всё, что пойдет за ним не нужно интерпретировать. а раз Makefile пишется на bash, то комментирующим символом там является шарп - #.
да,и пакета libdb3-dev,нет.Есть пакеты libdb4.2-dev,libdb4.5-dev,libdb4.7-dev,libdb4.8-dev
system-root, понял ,спасибо.Я этим пользовался и пользуюсь , но не знал что это так называется.
system-root,
Makefile squeeze:
# This creates the demonstration utility "lguest" which runs a Linux guest.
CFLAGS:=-m32 -Wall -Wmissing-declarations -Wmissing-prototypes -O3 -I../../include -I../../arch/x86/include -U_FORTIFY_SOURCE
all: lguest
clean:
rm -f lguest
[offtop]
Я этим пользовался и пользуюсь , но не знал что это так называется.
По-английский sharp, по-нашему диез. Это музыкальный знак. Насколько я знаю.
[/offtop]