首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >简约Linux内核未编译

简约Linux内核未编译
EN

Stack Overflow用户
提问于 2019-12-17 23:46:44
回答 1查看 367关注 0票数 0

我想用make tinyconfig编译一个自己的简约Linux Kernel,并在完成所有步骤后(如here:)

我收到这个错误消息:

代码语言:javascript
复制
arch/x86/kernel/apic/apic.c:2282:6: error: redefinition of ‘apic_id_disabled’
 bool apic_id_disabled(unsigned int id)
      ^~~~~~~~~~~~~~~~
In file included from arch/x86/kernel/apic/apic.c:47:0:
./arch/x86/include/asm/apic.h:529:20: note: previous definition of ‘apic_id_disabled’ was here
 static inline bool apic_id_disabled(unsigned int id) { return false; }
                    ^~~~~~~~~~~~~~~~
scripts/Makefile.build:330: recipe for target 'arch/x86/kernel/apic/apic.o' failed
make[6]: *** [arch/x86/kernel/apic/apic.o] Error 1
scripts/Makefile.build:604: recipe for target 'arch/x86/kernel/apic' failed
make[5]: *** [arch/x86/kernel/apic] Error 2
scripts/Makefile.build:604: recipe for target 'arch/x86/kernel' failed
make[4]: *** [arch/x86/kernel] Error 2
Makefile:1077: recipe for target 'arch/x86' failed
make[3]: *** [arch/x86] Error 2
make[3]: Verzeichnis „/home/lukas/kernel/linux-source-4.15.0“ wird verlassen
debian/ruleset/targets/common.mk:295: recipe for target 'debian/stamp/build/kernel' failed
make[2]: *** [debian/stamp/build/kernel] Error 2
make[2]: Verzeichnis „/home/lukas/kernel/linux-source-4.15.0“ wird verlassen
debian/ruleset/common/targets.mk:242: recipe for target 'debian/stamp/do-build-arch' failed
make[1]: *** [debian/stamp/do-build-arch] Error 2
make[1]: Verzeichnis „/home/lukas/kernel/linux-source-4.15.0“ wird verlassen
dpkg-buildpackage: Fehler: debian/rules build Unterprozess gibt Abbruchstatus 2 zurück
debian/ruleset/targets/common.mk:401: recipe for target 'debian/stamp/build/buildpackage' failed
make: *** [debian/stamp/build/buildpackage] Error 2

提前谢谢你

EN

回答 1

Stack Overflow用户

发布于 2020-09-01 15:42:46

#ifdef CONFIG_SMP

535 bool apic_id_is_primary_thread(unsigned int id);

536 bool apic_id_disabled(unsigned int id);

537 #其他

538静态内联bool apic_id_is_primary_thread(unsigned int id) { return false;}

539静态内联bool apic_id_disabled(unsigned int id) { return false;}

540 #endif

实际上,您可以在/arch/x86/include/asm/apic.h中看到冲突代码。从这些代码中可以看出,在配置中启用SMP是解决此问题的最简单方法。

进程:

代码语言:javascript
复制
 make menuconfig 
 -> Processor type and features

然后启用对称多处理支持

代码语言:javascript
复制
make -j8 # will compile successfully now
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59377713

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档