ldd(4)
-
2022-06-13 리눅스_디바이스_드라이버_5
Makefile 연습 main.c #include int main(void){ printf("hello\n"); #ifdef SCULL_DEBUG printf("World\n"); #endif return 0; } Makefile TARGET = main SOURCE = main.c CC = gcc all : $(CC) $(SOURCE) -O2 -o $(TARGET) clean : rm -f $(TARGET) -O2 : Optimization 최적화, 최적화 레벨 2 최적화 옵션 : 실행 파일의 크기를 줄이고, 실행 속도를 향상시킨다. -O0 : 최적화를 수행하지 않는다. -O1 : -O0보다는 높은 수준의 최적화. (= -O) -O2 : 가장 많이 사용하는 수준의 최적화. 일반 응용 프로그램이나 커널을..
2022.06.13 -
2022-06-13 리눅스_디바이스_드라이버_4
/dev 디렉터리 cd /dev /dev 디렉터리?? In Unix-like operating systems, a device file or special file is an interface to a device driver that appears in a file system as if it were an ordinary file. Linux의 모든 디바이스는 /dev 디렉터리 아래에 위치하고, 모두 file로 인식된다. These special files allow an application program to interact with a device by using its device driver via standard input/output system calls. 모든 디바이스 제어는 결국 /..
2022.06.13 -
2022-06-05 리눅스_디바이스_드라이버_3
hello.c의 Makefile Makefile에 대한 정리 Makefile 이해 2022-06-05 Makfile_이해 make, Makefile 이해 gcc C언어의 컴파일 과정 make Makefile의 구성 예시 gcc 명령어 사용 make 명령어 사용 Makefile 매크로 Makefile 보충 := , ?= 와 += 는 뭐지? $(OBJS:.o=.d) 는 뭐지? Makefile 조건문 Mak.. ramen4598.tistory.com vi Makefile make ifneq ($(KERNELRELEASE),) obj-m := hello.o else KERNELDIR ?= /lib/modules/$(shell uname -r)/build PWD := $(shell pwd) default: $(M..
2022.06.05 -
2022-06-02 리눅스_디바이스_드라이버_2
설치 리눅스 드라이버 작업을 수행할 때는 슈퍼 유저로 작업한다. 출처 : https://junshim.github.io/linux kernel study/Linux_Kernel_Compile/ sudo apt-get install build-essential libncurses5 libncurses5-dev bin86 kernel-package libssl-dev bison flex libelf-dev build-essential은 개발에 필요한 기본 라이브러리와 헤더 파일 등을 포함한다. 없으면 컴파일이 안될 수 있다. 추가로 ncurses 라이브러리들을 빌드하여 설치할 때 필요하다고 한다. libncurses5, libncurses5-dev : Developer's libraries for ncurs..
2022.06.02