![Linux 장치 드라이버 튜토리얼 만들기 [닫기]](https://linux55.com/image/120192/Linux%20%EC%9E%A5%EC%B9%98%20%EB%93%9C%EB%9D%BC%EC%9D%B4%EB%B2%84%20%ED%8A%9C%ED%86%A0%EB%A6%AC%EC%96%BC%20%EB%A7%8C%EB%93%A4%EA%B8%B0%20%5B%EB%8B%AB%EA%B8%B0%5D.png)
안녕하세요, 저는 커널 개발이 처음이고 이 내용을 따르고 있습니다.지도 시간 .
모듈을 만들려고 할 때:
#include <linux/init.h>
#include <linux/module.h>
MODULE_LICENSE("Dual BSD/GPL");
static int hello_init(void)
{
printk(KERN_ALERT "Hello, world\n");
return 0;
}
static void hello_exit(void)
{
printk(KERN_ALERT "Goodbye, cruel world\n");
}
module_init(hello_init);
module_exit(hello_exit);
책에 적힌대로 "make"와 makefile을 사용하세요.
obj-m := hello.o
오류가 발생했습니다.
확인: *** 대상이 없습니다. 멈추다.
도와주시고 미리 감사드립니다.
답변1
샘플Makefile
:
obj-m += hello.o
all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
linux-headers
(커널 헤더) 및 (개발 도구)를 설치해야 합니다 .build-essential