2

私は Linux カーネルを初めて使用し、最初のカーネル イメージを構築しようとしています。32 ビットの i686 アーキテクチャで 3.4.28 Linux カーネルから構築しています。

1時間半のビルドプロセスの後、次のエラーが発生しました

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 ヘッダーを含む vmlinux.bin イメージが見つかります。

この vmlinux バイナリを自分の目的に使用できるか、またはこのバイナリを完全に機能させるために完全に成功したビルドが必要かを知りたいと思っていました。

4

3 に答える 3

0

line6usb.koカーネルモジュールまたはそれ以降に構築されたモジュールに依存するものがない限り、大丈夫です。

于 2013-03-16T17:58:10.497 に答える
0

私の答えも JimR と同じです。カーネルモジュールline6usb.koはそれほど重要なモジュールではありません。最初にこのモジュールを無効にし、最初に を実行してから を実行 mrpropermake menuconfigます。ドライバーのmenuconfigステージングでドライバーを見つけて無効にします。後で再度カーネルをクロスコンパイルします。

于 2013-03-18T13:49:24.427 に答える
0

カーネル構成でモジュールを無効にします。

このように選ぶことで

デバイスドライバ - -

 staging drivers  
于 2013-10-28T11:04:00.557 に答える