После конфигурации ядра и запуска компиляции вскорости выпадает ошибка: debian/ruleset/targets/common.mk^286 Cannot find lguest tools. Останов.
Проблема с компиляцией ядра
Какая версия ядра?
Если не нужна паравиртуализация, отключите
Processor type and features → Paravirtualized guest support → Lguest guest support
CONFIG_LGUEST_GUEST:
Lguest is a tiny in-kernel hypervisor. Selecting this will
allow your kernel to boot under lguest. This option will increase
your kernel size by about 6k. If in doubt, say N.
If you say Y here, make sure you say Y (or M) to the virtio block
and net drivers which lguest needs.
После конфигурации ядра и запуска компиляции вскорости выпадает ошибка: debian/ruleset/targets/common.mk^286 Cannot find lguest tools. Останов.
Закомментируй в конфиге CONFIG_LGUEST_GUEST и CONFIG_LGUEST
# CONFIG_LGUEST_GUEST is not set
# CONFIG_LGUEST is not setИ все будет ok.
ы. ядра в подписи есть если надо :) и там же конфиг для x86.
Закомментируй в конфиге CONFIG_LGUEST_GUEST и CONFIG_LGUEST
«Идеологически» комментировать вручную конфигурационный файл ядра не правильно, для этого есть make menuconfig.
«Идеологически» комментировать вручную конфигурационный файл ядра не правильно, для этого есть make menuconfig.
не спорю, мне удобней было в vim, make menuconfig поиск "/" напрягает :)
не спорю, мне удобней было в vim, make menuconfig поиск "/" напрягает
в vim тоже поиск по "/" ;)
но menuconfig и правда не самая удобная вещь, которая только может быть...
в vim тоже поиск по "/" ad
да (если сам по-другому не сделал), но при этом оказываешься там где надо.
не спорю, мне удобней было в vim,
В простейших случаях так, вероятно, и быстрее, но, как вы знаете, многие опции ядра взаимосвязаны и изменение одной может вызвать изменение других.
Например, в данном случае это выглядит так:
[console]
gentoo-laptop linux-3.4.4-gentoo # diff .config .config.old
303,311c303
< CONFIG_PARAVIRT_GUEST=y
< # CONFIG_PARAVIRT_TIME_ACCOUNTING is not set
< # CONFIG_XEN is not set
< # CONFIG_XEN_PRIVILEGED_GUEST is not set
< # CONFIG_KVM_CLOCK is not set
< # CONFIG_KVM_GUEST is not set
< CONFIG_LGUEST_GUEST=y
< CONFIG_PARAVIRT=y
< # CONFIG_PARAVIRT_DEBUG is not set
---
> # CONFIG_PARAVIRT_GUEST is not set
1026d1017
< # CONFIG_VIRTIO_BLK is not set
1264d1254
< # CONFIG_VIRTIO_NET is not set
1541,1542d1530
< CONFIG_HVC_DRIVER=y
< CONFIG_VIRTIO_CONSOLE=y
1550d1537
< # CONFIG_HW_RANDOM_VIRTIO is not set
2764,2765d2750
< CONFIG_VIRTIO=y
< CONFIG_VIRTIO_RING=y
3266,3269c3251
< CONFIG_VIRTUALIZATION=y
< # CONFIG_KVM is not set
< # CONFIG_VHOST_NET is not set
< CONFIG_LGUEST=m
---
> # CONFIG_VIRTUALIZATION is not set
[/console]
Например, в данном случае это выглядит так:
Не не так:
# diff .config config-3.4-4.nz-686
336c336
< CONFIG_LGUEST_GUEST=y
---
> # CONFIG_LGUEST_GUEST=y
418a419
>
420,421c421,422
< CONFIG_HIGHMEM4G=y
< # CONFIG_HIGHMEM64G is not set
---
> # CONFIG_HIGHMEM4G=y
> CONFIG_HIGHMEM64G=y
423a425,426
> CONFIG_X86_PAE=y
>
5363c5366
< CONFIG_LGUEST=m
---
> # CONFIG_LGUEST=m
Не не так:
Возможно, из-за разницы архитектур — у меня x86. Но даже ваш пример показывает, что измнение указанных опций оказывает влияние на другие опции.
Не влияет я изменил:
# CONFIG_LGUEST_GUEST is not set
# CONFIG_LGUEST is not set
# CONFIG_NOHIGHMEM is not set
# CONFIG_HIGHMEM4G is not set
CONFIG_HIGHMEM64G=y
CONFIG_HIGHMEM=y
CONFIG_X86_PAE=yтак что все тут.
так что все тут.
Каждый вправе разбрасывать собственные грабли... ;)
Каждый вправе разбрасывать собственные грабли...
Где тут грабли? Для wheezy 3.4.4 ядро соберется только если вырубить LGUEST, ну и PAE включил, все.
Где тут грабли?
Вручную изменять конфигурационный файл ядра, не используя специально предназначенные для этого средства.
Но это ваше право. Однако, подобный подход к конфигурации ядра лично я считаю глубоко ошибочным.
# CONFIG_LGUEST_GUEST is not set
# CONFIG_LGUEST is not set
# CONFIG_NOHIGHMEM is not set
# CONFIG_HIGHMEM4G is not set
Закомментируй в конфиге CONFIG_LGUEST_GUEST и CONFIG_LGUEST
А об остальных опциях как догадались?
Вот кстати ошибка если LGUEST включен:
#fakeroot make-kpkg --initrd kernel-image
exec make kpkg_version=12.036+nmu2 -f /usr/share/kernel-package/ruleset/minimal.mk debian INITRD=YES
====== making target debian/stamp/conf/minimal_debian [new prereqs: ]======
This is kernel package version 12.036+nmu2.
test -d debian || mkdir debian
test ! -e stamp-building || rm -f stamp-building
install -p -m 755 /usr/share/kernel-package/rules debian/rules
for file in ChangeLog Control Control.bin86 config templates.in rules; do \
cp -f /usr/share/kernel-package/$file ./debian/; \
done
for dir in Config docs examples ruleset scripts pkg po; do \
cp -af /usr/share/kernel-package/$dir ./debian/; \
done
test -f debian/control || sed -e 's/=V/3.4.4-nz/g' \
-e 's/=D/3.4.4-nz-10.00.Custom/g' -e 's/=A/i386/g' \
-e 's/=SA//g' \
-e 's/=I//g' \
-e 's/=CV/3.4/g' \
-e 's/=M/Unknown Kernel Package Maintainer <unknown@unconfigured.in.etc.kernel-pkg.conf>/g' \
-e 's/=ST/linux/g' -e 's/=B/i386/g' \
/usr/share/kernel-package/Control > debian/control
test -f debian/changelog || sed -e 's/=V/3.4.4-nz/g' \
-e 's/=D/3.4.4-nz-10.00.Custom/g' -e 's/=A/i386/g' \
-e 's/=ST/linux/g' -e 's/=B/i386/g' \
-e 's/=M/Unknown Kernel Package Maintainer <unknown@unconfigured.in.etc.kernel-pkg.conf>/g' \
/usr/share/kernel-package/changelog > debian/changelog
chmod 0644 debian/control debian/changelog
test -d ./debian/stamp || mkdir debian/stamp
make -f debian/rules debian/stamp/conf/kernel-conf
make[1]: Entering directory `/usr/src/linux-3.4.4'
====== making target debian/stamp/conf/kernel-conf [new prereqs: ]======
make ARCH=i386 \
oldconfig;
make[2]: Entering directory `/usr/src/linux-3.4.4'
scripts/kconfig/conf --oldconfig Kconfig
#
# configuration written to .config
#
make[2]: Leaving directory `/usr/src/linux-3.4.4'
make ARCH=i386 prepare
make[2]: Entering directory `/usr/src/linux-3.4.4'
scripts/kconfig/conf --silentoldconfig Kconfig
make[2]: Leaving directory `/usr/src/linux-3.4.4'
make[2]: Entering directory `/usr/src/linux-3.4.4'
make[3]: Цель `all' не требует выполнения команд.
make[3]: Цель `relocs' не требует выполнения команд.
CHK include/linux/version.h
CHK include/generated/utsrelease.h
CC kernel/bounds.s
GEN include/generated/bounds.h
CC arch/x86/kernel/asm-offsets.s
GEN include/generated/asm-offsets.h
CALL scripts/checksyscalls.sh
make[2]: Leaving directory `/usr/src/linux-3.4.4'
echo done > debian/stamp/conf/kernel-conf
make[1]: Leaving directory `/usr/src/linux-3.4.4'
make -f debian/rules debian/stamp/conf/full-changelog
make[1]: Entering directory `/usr/src/linux-3.4.4'
====== making target debian/stamp/conf/full-changelog [new prereqs: ]======
for file in ChangeLog Control Control.bin86 config templates.in rules; do \
cp -f /usr/share/kernel-package/$file ./debian/; \
done
for dir in Config docs examples ruleset scripts pkg po; do \
cp -af /usr/share/kernel-package/$dir ./debian/; \
done
install -p -m 755 /usr/share/kernel-package/rules debian/rules
sed -e 's/=V/3.4.4-nz/g' \
-e 's/=D/3.4.4-nz-10.00.Custom/g' -e 's/=A/i386/g' \
-e 's/=SA//g' \
-e 's/=I//g' \
-e 's/=CV/3.4/g' \
-e 's/=M/Unknown Kernel Package Maintainer <unknown@unconfigured.in.etc.kernel-pkg.conf>/g' \
-e 's/=ST/linux/g' -e 's/=B/i386/g' \
/usr/share/kernel-package/Control > debian/control
sed -e 's/=V/3.4.4-nz/g' -e 's/=D/3.4.4-nz-10.00.Custom/g' \
-e 's/=A/i386/g' -e 's/=M/Unknown Kernel Package Maintainer <unknown@unconfigured.in.etc.kernel-pkg.conf>/g' \
-e 's/=ST/linux/g' -e 's/=B/i386/g' \
/usr/share/kernel-package/changelog > debian/changelog
chmod 0644 debian/control debian/changelog
make -f debian/rules debian/stamp/conf/kernel-conf
make[2]: Entering directory `/usr/src/linux-3.4.4'
make[2]: `debian/stamp/conf/kernel-conf' не требует обновления.
make[2]: Leaving directory `/usr/src/linux-3.4.4'
make[1]: Leaving directory `/usr/src/linux-3.4.4'
echo done > debian/stamp/conf/minimal_debian
exec debian/rules INITRD=YES kernel-image
====== making target debian/stamp/conf/vars [new prereqs: ]======
debian/ruleset/targets/common.mk:286: *** Cannot find lguest tools. Останов.
Вот кстати ошибка если LGUEST включен:
Вроде бы в ядрах до 3.3 её нет.
Не знаю, ковырял ядра Aptosid'а http://oscar.aptosid.com/debian/pool/main/l/
По-умолчанию, LGUEST включен, но собирал именно для wheezy, в sid'е возможно со сборкой этой проблемы нет.
Ядро 3.4.4. Паравиртуализацию уже пробовал отключать, ошибка та же.
Leavmir_1 во первых покажи
#cat /etc/debian_versionВторое - конфигурацию ядра покажи, кинь куда-нибудь на pastebin.com
Можешь забрать мои конфиги [url=ftp://linuxru.org/debian/]тут[/url]