如何将 CONFIG_BUILD_DOCSRC=n 传递给 genkernel?

如何将 CONFIG_BUILD_DOCSRC=n 传递给 genkernel?

我需要一台 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=ngenkernel。我浏览过genkernel(8)手册页,但我没有看到如何传递像这样的任意设置CONFIG_BUILD_DOCSRC=n(它可能在那里,但我可能错过了它)。

我尝试过genkernel all CONFIG_BUILD_DOCSRC=n,但结果却是error: unknown option...

我如何传递CONFIG_BUILD_DOCSRC=ngenkernel

答案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...
...

答案2

make menuconfig当然,您应该先使用或配置内核make nconfig(我个人更喜欢后者)

在 menuconfig/nconfig 中,搜索“BUILD_DOCSRC”,然后取消选择它。

相关内容