include/linux/autoconf.h or include/config/auto.conf are missing.

8 篇文章 0 订阅
8 篇文章 0 订阅

做了一个简单的设备驱动程序:

ARM_hello.c

#include <linux/module.h>
static int hello_init(void)
{
    printk("Hello, I am coming !\n");
    return 0;
}
static void hello_exit(void)
{
    printk("Goodbye, I Love Linux ! I Love ARM ! \n");
}
module_init(hello_init);
module_exit(hello_exit);

Makefile:

#--------------------------for ARM----------------------------------
CROSS_COMPILE := /opt/FriendlyARM/toolschain/4.4.3/bin/arm-linux-
CC :=$(CROSS_COMPILE)gcc
KERNEL_DIR := /opt/FriendlyARM/mini2440/linux-2.6.32.2
#------------------------------------------------------------------
obj-m :=ARM_hello.o
PWD := $(shell pwd)
all:
	make -C $(KERNEL_DIR) M=$(PWD) modules
clean:
	rm -fr *.o *.ko *.mod.o *.mod.c .*.cmd *.order *.*s *~ .tmp*

执行

$ sudo make

出现如下错误:

ERROR: Kernel configuration is invalid.
         include/linux/autoconf.h or include/config/auto.conf are missing.
         Run 'make oldconfig && make prepare' on kernel src to fix it.

网上都说是要编译内核什么,make menuconfig 什么的,当时不敢随便编译内核,怕把这个系统搞死了。

后来,突然想起来手册我没有完全看完,于是去翻手册,原来真的要编译内核,这个内核是ARM的内核,因为需要在PC上制造出一个和ARM也一样的内核编译环境,也就是交叉编译环境,所以,按照手册,编译了一下ARM的那个内核。

具体操作在我的另一篇博文中:交叉编译环境之编译内核阶段各种错误

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值