linux 드라이브 학습 1--Hello World 모듈
1. 준비
운영 체제: ubuntu 12.04 LTS
2. 원본 코드
#include <linux/init.h>
#include <linux/module.h>
static int hello_init(void)
{
pr_info("Hello, World.
");
return 0;
}
static void hello_exit(void)
{
pr_info("Goodbye, cruel word
");
}
module_init(hello_init);
module_exit(hello_exit);
MODULE_LICENSE("Dual BSD/GPL");
3.Makefile
obj-m := hello.o
KERNELDIR := /usr/src/linux-headers-$(shell uname -r)
PWD := $(shell pwd)
modules:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
modules_install:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install
4. 컴파일
make:
ckt@ubuntu:~/work/ldd/hello$ make
make -C /usr/src/linux-headers-3.13.0-32-genericM=/home/ckt/work/ldd/hello modules
make[1]: Entering directory`/usr/src/linux-headers-3.13.0-32-generic'
CC [M] /home/ckt/work/ldd/hello/hello.o
Buildingmodules, stage 2.
MODPOST 1modules
LD [M] /home/ckt/work/ldd/hello/hello.ko
make[1]: Leaving directory`/usr/src/linux-headers-3.13.0-32-generic'
5. 테스트
lsmod #
insmodhello.ko # hello.ko
rmmodhello # hello.ko
cat/var/log/syslog #
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.