2

I am new to Linux Kernel and trying to build my first Kernel image, I am building from 3.4.28 Linux Kernel on i686 Architecture for 32 bit.

After one and half hours of build process, I got the following errors

BUILD   arcarch/x86/boot/compressedh/x86/boot/bzImage

Setup is 16540 bytes (padded to 16896 bytes).
System is 4667 kB
CRC c2376a1f
Kernel: arch/x86/boot/bzImage is ready  (#1)
Building modules, stage 2.
MODPOST 3508 modules
ERROR: "__sync_fetch_and_and_4" [drivers/staging/line6/line6usb.ko] undefined!
ERROR: "__sync_fetch_and_or_4" [drivers/staging/line6/line6usb.ko] undefined!
WARNING: modpost: Found 28 section mismatch(es).
To see full details build your kernel with:
'make CONFIG_DEBUG_SECTION_MISMATCH=y'
make[1]: *** [__modpost] Error 1
make: *** [modules] Error 2

But if I go and look in the "arch/x86/boot/compressed" directory, I find vmlinux.bin image with ELF header.

I wanted to know can I use this vmlinux binary for my purpose or is a complete successful build required to make this binary fully functional.

4

3 回答 3

0

只要不依赖内核模块line6usb.ko或在它之后构建的任何模块,你就可以了。

于 2013-03-16T17:58:10.497 回答
0

我的回答也和 JimR 一样;内核模块line6usb.ko并不是那么重要的模块。首先通过先运行 mrproper然后在之后禁用此模块make menuconfig。在menuconfig驱动程序暂存中找到驱动程序并将其禁用。稍后再次交叉编译内核。

于 2013-03-18T13:49:24.427 回答
0

在内核配置中禁用模块。

通过这样选择

设备驱动程序 - -

 staging drivers  
于 2013-10-28T11:04:00.557 回答