我是 Linux 内核的新手,正在尝试构建我的第一个内核镜像,我正在 32 位 i686 架构上从 3.4.28 Linux 内核构建。
经过一个半小时的构建过程,我得到了以下错误
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
但是如果我去查看“arch/x86/boot/compressed”目录,我会找到带有 ELF header 的 vmlinux.bin 镜像。
我想知道我是否可以将这个 vmlinux 二进制文件用于我的目的,或者是否需要一个完整的成功构建才能使这个二进制文件完全发挥作用。
最佳答案
只要不依赖于内核模块 line6usb.ko
或在它之后构建的任何模块,您就可以了。
关于linux - 即使在构建失败后我还能使用 Linux 内核镜像吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15452573/