我的客户将预制的内核输出目录发送给我(他们无法将内核源代码树发布给我们)。输出目录如下(在/ home / michael / Clients / android_p_Hzh / kernel / kernel /下):
是否可以使用此目录构建我的外部模块?
/ home / michael / Source / Linux / br_driver 是我的驱动程序目录。我试图按照以下make命令在此目录下构建驱动程序:
使CROSS_COMPILE = x86_64-poky-linux- -C / home / michael / Clients / android_p_Hzh / kernel / kernel / M =
pwd
$ 1
它失败,输出如下:
*** No rule to make target '/home/michael/Source/Linux/br_driver/common.o' needed by ...
br_driver 下的Makefile如下:
brt-objs := $(BRTOFILES)
obj-$(DRIVER_TYPE) += brt.o
all:
@echo "$(MAKE) --no-print-directory -C $(KDIR) SUBDIRS=$(CURDIR) modules"
@$(MAKE) --no-print-directory -C $(KDIR) SUBDIRS=$(CURDIR) modules
clean:
rm -rf *.o *.ko *.mod.c *~ .*.cmd *.o.cmd .*.o.cmd \
Module.symvers modules.order .tmp_versions modules.builtin
install:
@$(MAKE) --no-print-directory -C $(KDIR) \
SUBDIRS=$(CURDIR) modules_install
答案 0 :(得分:0)
我已经解决了这个问题。我唯一需要的是.config和Modules.symvers。关键操作是make oldconfig 和 modules_prepare 。