Devkit8000用のLDDを作成できません

Devkit8000用のLDDを作成できません

Devkit 8000用のLinuxデバイスドライバをビルドしようとしています。次のエラーメッセージが表示されます。

エラーメッセージ

その指示に従おうとしたとき、私はよく理解していないYes / Noの質問をたくさん受けました。最後に、25個のプロセッサ(?)から選択できます。

プロセッサの選択

これは私のビルドファイルです。

ifeq ($(KERNELRELEASE),)

KERNELDIR = ~/sources/linux-3.2.6
PWD := $(shell pwd)
modules:
$(MAKE) ARCH=arm CROSS_COMPILE=arm-angstrom-linux-gnueabi- -C $(KERNELDIR) M=$(PWD) modules

.PHONY: modules clean

else
# called from kernel build system: just declare what our modules are
obj-m := LED_timer.o
endif

私のコード自体はまだ関連性がないと思います。知る私のソースコードはエラーでいっぱいなので、見たくないでしょう。ハハ。

ベストアンサー1

使用しているソースコードをどこで入手したかは明らかではありませんが、明らかに.config無効です。プロセッサの種類など、さまざまなオプションを設定するために使用されます。これらのオプションは文字通り何百ものあり、互いに複雑な依存関係を持っています(たとえば、選択したプロセッサは他の選択に影響を与えます)。

バニラソースには、.config提供または生成する必要があるものはありません。以前のバージョンから出るときに使用され、make oldconfig更新する必要があります。.config時々、このプロセスは完全に自動化することはできず、デフォルトではCLIインターフェイスを使用して実行されます。構成せずにmake config試している場合make oldconfigにも発生する可能性があります。

make menuconfigすべてをよりよく理解するには、よりグラフィックスの内容を確認する必要があります。

しかし、最初から始めて自分に合った構成を得ることを試みることは、自分が何をしているのか分からないと不可能です。理想的には、実行中のカーネルの作成に使用したカーネルから始めることをお勧めします。これは、単にモジュールを構築する場合に特に当てはまります。実際のカーネルを構築する必要はありませんが、モジュールをコンパイルするには、使用したいカーネルがどのようにコンパイルされたかを知る必要があります。

/proc/config.gzターゲットシステムで見つけることができることを願っています。これはディスクファイルではなく、それを検索するにはシステムが実行されている必要があります。 gzipで圧縮されています

gunzip config.gz
mv config .config

すべきこと。これをソースツリーにコピーし、make menuconfig指示を実行してビルドするモジュールを追加します。

そうでない場合は、使用された構成を追跡する必要があります。 また、モジュールをビルドする場合は、まったく同じカーネルバージョンを使用する必要があることに注意してください。

これは一般概要(助けることができる)コンパイルプロセスに関する情報を見るには、まず2と3を読んでください。

おすすめ記事