Linux 커널 모듈 프로그래밍을 배우고 있습니다. 나는 Beaglebone black을 사용하고 있습니다. 나는 간단한 'Hello World'어플리케이션과 makefile을 만들었다. 나는 그것이 내 메이크 파일을 점검했다. 하지만 'make'명령을 내리면 다음 오류가 발생합니다.Linux 커널 모듈 프로그래밍에 대한 컴파일 오류
[email protected]:/home/sonu# make
make: Warning: File `Makefile' has modification time 2.2e+02 s in the future
make -C /lib/modules/3.8.13-bone70/build M=/home/sonu modules
make: *** /lib/modules/3.8.13-bone70/build: No such file or directory. Stop.
make: *** [all] Error 2
일부 웹 사이트를 언급했지만. 그러나 모든 사람들이 패키지 설치를 요구하고 있습니다. 나는 초보자입니다. 이더넷을 사용하여 Beaglebone에서 인터넷 연결을 구성하고 시작하는 방법을 모르겠습니다. 내가 꼼짝 못하게 도와주세요. 미리 감사드립니다.
코드는 다음과 같습니다
#include<linux/module.h>
#include<linux/kernel.h>
#include<linux/init.h>
static int __init hello(void)
{
printk(KERN_INFO "Hello World!");
return 0;
}
static void __exit hello_cleanup(void)
{
printk(KERN_INFO "Bye");
}
module_init(hello);
module_exit(hello_cleanup);
메이크이다 : 당신이 설치하지 않은 커널 버전에 대한 모듈을 구축을 위해 노력하고 있다는 표시
obj-m+=Hello.o
all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
$(CC) Hello.c -o test
clean:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
rm test
당신은 도움을 요청하지만, Makefile 자체를 제공하지 않는다. (올바른 것임에 대한 가정은 * 아마 * 잘못된 것이다.) 또한 코드도 없다. (아마도 Makefile에 오류가 있기 때문에 그렇게 나쁘지는 않을 것이다.) – tambre
@tambre 여러 번 메이크 파일을 교차 확인했습니다. 나는 거기에 결함이 없다고 확신합니다. 귀하의 편의를 위해 코드를 첨부했습니다. 그것을 통해 이동하십시오. –
개선되었습니다. 결함이 없다고 생각하는 경우에도 항상 첨부하는 것이 좋습니다. 상황을 이해하는 데 유용 할 수 있습니다. 이제'/ lib/modules/3.8.13-bone70/build' 디렉토리가 존재합니까? – tambre