Drivers
無法為 Devkit8000 製作 LDD
我正在嘗試為 Devkit 8000 建構 Linux 設備驅動程序。我收到以下錯誤消息:
當我嘗試遵循它的指示時,我會被問到一堆我不太明白的是/否問題。最後,我可以在 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
我不認為我的程式碼本身是相關的,而且我知道我的原始碼充滿了錯誤,你不想看到,哈哈。
你沒有說你從哪裡得到你正在使用的源,但顯然其中有一個無效
.config
的。這用於設置各種選項,例如處理器類型。實際上有數百個這樣的選項相互之間有著複雜的依賴關係(例如,您選擇的處理器將影響您擁有的其他選擇)。香草源沒有
.config
。您需要提供或創建一個。make oldconfig
當.config
來自以前的版本時使用,並且必須更新。有時這個過程不能完全自動化,你最終基本上執行了make config
,它使用 CLI 界面;make oldconfig
如果您嘗試不進行任何配置,也可能會發生這種情況。您應該查看更多圖形
make menuconfig
以更好地了解這一切。但是,除非您知道自己在做什麼,否則從無到有並試圖獲得適合您的配置是不可能的。理想情況下,您將從用於創建執行核心的那個開始。如果您只是建構一個模組,則尤其如此;雖然您不需要建構實際的核心,但為了編譯模組,必須知道要使用的核心是如何編譯的。
希望您可以
/proc/config.gz
在目標系統上找到它。這不是磁碟文件,系統必須正在執行才能檢索它。它被壓縮成這樣gunzip config.gz mv config .config
應該這樣做。將其複製到您的原始碼樹中並執行
make menuconfig
以添加您要建構的模組的說明。如果不存在,您將不得不追踪使用的配置。 另請注意,如果您正在建構模組,則需要使用完全相同的核心版本。
這是編譯過程的一般概述,可能也有幫助,請先閱讀 #2 和 3。