2015-06-17 158 views
1

我在chaos calmer repo上,我有我需要使用的自定義內核配置。OpenWRT make失敗,因爲內核以交互方式請求配置選項

內核配置文件位於

/opt/OpenWRT/target/linux/x86/config-3.18 

我試着運行make kernel_oldconfig,但這並不解決問題。

我試過運行make kernel_menuconfig,這也沒有糾正這個問題。運行make時

錯誤消息:

$ make 
make[1] world 
make[2] target/compile 
make[3] -C target/linux compile 
make -r world: build failed. Please re-run make with -j1 V=s to see what's going on 
/opt/OpenWRT/include/toplevel.mk:181: recipe for target 'world' failed 
make: *** [world] Error 1 

只有這樣,才能讓過去這個問題是使用make V=s -j1並辦理菜單交互。我討厭不得不依靠一個處理器來編譯整個buildroot。

這隻發生在我使用自定義內核配置時,默認內核運行良好,make

我複製(覆蓋)target/linux/x86/目錄中的config-3.18文件。

內核適用於特定的32位x86體系結構(非泛型)。

這是冗長的輸出:

net/sched/Kconfig:43: warning: menuconfig statement without prompt 
* 
* Restart config... 
* 
* 
* Kernel hacking 
* 
Magic SysRq key (MAGIC_SYSRQ) [Y/n/?] y 
    Enable magic SysRq key functions by default (MAGIC_SYSRQ_DEFAULT_ENABLE) [0x1] 0x1 
Kernel debugging (DEBUG_KERNEL) [Y/?] y 
Debug shared IRQ handlers (DEBUG_SHIRQ) [N/y/?] n 
Panic on Oops (PANIC_ON_OOPS) [N/y/?] n 
panic timeout (PANIC_TIMEOUT) [0] 0 
Collect scheduler debugging info (SCHED_DEBUG) [N/y/?] n 
Collect scheduler statistics (SCHEDSTATS) [N/y/?] n 
Detect stack corruption on calls to schedule() (SCHED_STACK_END_CHECK) [N/y/?] n 
Collect kernel timers statistics (TIMER_STATS) [N/y/?] n 
Stack backtrace support (STACKTRACE) [Y/?] y 
kobject debugging (DEBUG_KOBJECT) [N/y/?] n 
Verbose BUG() reporting (adds 70K) (DEBUG_BUGVERBOSE) [N/y/?] n 
Debug linked list manipulation (DEBUG_LIST) [N/y/?] n 
Debug priority linked list manipulation (DEBUG_PI_LIST) [N/y/?] n 
Debug SG table operations (DEBUG_SG) [N/y/?] n 
Debug notifier call chains (DEBUG_NOTIFIERS) [N/y/?] n 
Debug credential management (DEBUG_CREDENTIALS) [N/y/?] n 
Force extended block device numbers and spread them (DEBUG_BLOCK_EXT_DEVT) [N/y/?] n 
Notifier error injection (NOTIFIER_ERROR_INJECTION) [N/m/y/?] n 
Fault-injection framework (FAULT_INJECTION) [N/y/?] n 
Latency measuring infrastructure (LATENCYTOP) [N/y/?] n 
Strict user copy size checks (DEBUG_STRICT_USER_COPY_CHECKS) [N/y/?] n 
Remote debugging over FireWire early on boot (PROVIDE_OHCI1394_DMA_INIT) [N/y/?] n 
Enable debugging of DMA-API usage (DMA_API_DEBUG) [N/y/?] n 
Test module loading with 'hello world' module (TEST_LKM) [N/m/?] n 
Test user/kernel boundary protections (TEST_USER_COPY) [N/m/?] n 
Test BPF filter functionality (TEST_BPF) [N/m/?] n 
Test firmware loading via userspace interface (TEST_FIRMWARE) [N/m/y/?] n 
udelay test driver (TEST_UDELAY) [N/m/y/?] n 
Filter access to /dev/mem (STRICT_DEVMEM) [Y/n/?] y 
Enable verbose x86 bootup info messages (X86_VERBOSE_BOOTUP) [Y/n/?] y 
Early printk (EARLY_PRINTK) [Y/n/?] y 
    Early printk via EHCI debug port (EARLY_PRINTK_DBGP) [N/y/?] n 
Export kernel pagetable layout to userspace via debugfs (X86_PTDUMP) [N/y/?] n 
Write protect kernel read-only data structures (DEBUG_RODATA) [N/y/?] n 
Set loadable kernel module data as NX and text as RO (DEBUG_SET_MODULE_RONX) [N/y/?] n 
Testcase for the NX non-executable stack feature (DEBUG_NX_TEST) [N/m/?] n 
Enable doublefault exception handler (DOUBLEFAULT) [Y/n/?] y 
Set upper limit of TLB entries to flush one-by-one (DEBUG_TLBFLUSH) [N/y/?] n 
Enable IOMMU stress-test mode (IOMMU_STRESS) [N/y/?] n 
x86 instruction decoder selftest (X86_DECODER_SELFTEST) [N/y/?] (NEW) 

任何想法?

編輯:寫這個問題時,解決了....

回答

1

我想我以前寫的CONFIG_...線到內核,但顯然他們沒有得救,他們得到了覆蓋,或其他一些問題。

我將其插入config-3.18文件的最後一行這個解決了錯誤:

CONFIG_X86_DECODER_SELFTEST=n 

它可能不會有所作爲,但我也跑make kernel_menuconfig,加載,然後保存在配置文件,只是在case運行menuconfig做了任何automagic。

0

有你需要關心的一個更多的內核配置文件:

/opt/OpenWRT/target/linux/generic/config-3.18

這適用於所有平臺。