1

Мне нужен компьютер Gentoo 13 для тестирования программного обеспечения на платформе. Я не обычный Gentoo, поэтому я страдаю от их процедур установки. Я занимаюсь настройкой ядра Linux, и оно не удалось:

(chroot) #  genkernel all
...

Documentation/vDSO/parse_vdso.o: In function `elf_hash':
parse_vdso.c:(.text+0xa4): undefined reference to `__stack_chk_fail'
Documentation/vDSO/parse_vdso.o: In function `vdso_init_from_sysinfo_ehdr':
parse_vdso.c:(.text+0x445): undefined reference to `__stack_chk_fail'
Documentation/vDSO/parse_vdso.o: In function `vdso_match_version':
parse_vdso.c:(.text+0x545): undefined reference to `__stack_chk_fail'
Documentation/vDSO/parse_vdso.o: In function `vdso_sym':
parse_vdso.c:(.text+0x6fa): undefined reference to `__stack_chk_fail'
Documentation/vDSO/parse_vdso.o: In function `vdso_init_from_auxv':
parse_vdso.c:(.text+0x7b5): undefined reference to `__stack_chk_fail' 

Это несколько известная проблема, и для ее устранения необходимо установить CONFIG_BUILD_DOCSRC=n (см. Здесь и здесь).

Я нашел CONFIG_BUILD_DOCSRC в двух файлах конфигурации, но оба помечены как автоматически созданные , не редактировать. Поэтому я пытаюсь передать CONFIG_BUILD_DOCSRC=n в genkernel . Я просматривал справочные страницы genkernel(8) но не видел, как передать произвольную настройку, например, CONFIG_BUILD_DOCSRC=n (она может быть там, и я мог ее пропустить).

Я попробовал genkernel all CONFIG_BUILD_DOCSRC=n , но это привело к error: unknown option...

Как передать CONFIG_BUILD_DOCSRC=n в genkernel?

2 ответа2

1

Я собираюсь опубликовать ответ, но я не уверен, что он правильный, потому что я не очень квалифицирован для сборки ядер ...

Следующее может быть добавлено в /etc/genkernel.conf:

CONFIG_BUILD_DOCSRC="n"

Похоже, это дает ожидаемые результаты:

(chroot) Gentoo-2012 / # genkernel all
* Gentoo Linux Genkernel; Version 3.4.52.3
* Running with options: all

* Using genkernel.conf from /etc/genkernel.conf
* Sourcing arch-specific config.sh from /usr/share/genkernel/arch/x86_64/config.sh ..
* Sourcing arch-specific modules_load from /usr/share/genkernel/arch/x86_64/modules_load ..

* Linux Kernel 4.1.15-gentoo-r1 for x86_64...
* .. with config file /usr/share/genkernel/arch/x86_64/generated-config
* kernel: Using config from /usr/share/genkernel/arch/x86_64/generated-config
*         Previous config backed up to .config--2016-03-14--02-25-26.bak
* kernel: >> Running mrproper...
*         >> Running oldconfig...
* kernel: >> Cleaning...
*         >> Compiling 4.1.15-gentoo-r1 bzImage...
...
0

Конечно, вы должны сначала настроить ядро, используя make menuconfig или make nconfig (я лично предпочитаю второе)

Внутри menuconfig/nconfig найдите "BUILD_DOCSRC" и отмените выбор.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .