BE/Linux(40)
-
2022-06-28 Cron_실행
이 글은 목소리가 감미로우신 이고잉님의 오픈튜토리얼 리눅스 강의를 듣고 정리한 내용입니다. Cron 출처 : https://terms.naver.com/entry.naver?docId=4125592&categoryId=59321&cid=59321 cron은 백업과 같이 주기적으로 실행하는 명령들을 정해진 시간에 자동으로 실행해 주는 도구다. 문법은 아래와 같다. crontab [ -u 사용자ID ] 파일, crontab [ -u 사용자ID ] { -l | -r | -e } l : 현재 crontab 내용을 표준출력한다. List user’s crontab. r : 현재 crontab 내용을 지운다. Delete user’s crontab. e : .crontab 파일의 내용을 편집한다. Edit user..
2022.06.28 -
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-05 Makfile_이해
make, Makefile 이해 gcc C언어의 컴파일 과정 make Makefile의 구성 예시 gcc 명령어 사용 make 명령어 사용 Makefile 매크로 Makefile 보충 :=, ?= 와 +=는 뭐지? $(OBJS:.o=.d)는 뭐지? Makefile 조건문 Makefile 함수 참고 gcc C언어의 컴파일 과정 전처리기 : #으로 시작하는 전처리 구문을 처리 gcc -E test.c -o test.i 컴파일러 : 고급언어를 저급언어로 번역 gcc -S test.i -o test.s 어셈블러 : 저급언어를 기계어로 번역 gcc -c test.s -o test.o 링커 : gcc test.o -o test.exe -o : 생성 된 파일의 이름을 지정 출처 : https://reakwon.tis..
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 -
리눅스 apt 서버 변경
미국에 있는 서버를 사용하면 다운로드 속도가 느리다. apt 서버를 최대한 가까운 곳으로 변경하자. 한국은 카카오에서 관리한다. (우분투를 사용 중이기 때문에 거기에 맞춰서 변경해주었다.) //vim 파일 전체에서 'x'를 'y'로 교체하기 :%s/x/y/g 보통 처음에 경우 archive.ubuntu.com 혹은 kr.archive.ubuntu.com으로 설정되어있을 것이다. 전자의 경우 미국, 후자의 경우 한국(카이스트)에 위치한 서버일 것이다. 우리는 한국기준 평균적으로 가장 빠른 속도를 제공하는 카카오의 서버를 사용할 것이다. sudo vim /etc/apt/sources.list :%s/[before~~~]/mirror.kakao.com/g 출처 : https://bigbigpark.github..
2022.05.17 -
2022-05-12 리눅스_디바이스_드라이버_1
Device란? 네트워크 어댑터, LCD 디스플레이, 오디오, 터미널, 키보드, 하드디스크, 플로피디스크, 프린터 등과 같은 주변 장치를 뜻함. 디바이스의 구동을 위해서 디바이스 드라이버가 필요함. Device Driver란? 실제 device를 추상화하여 사용자 프로그램이 정형화된 인터페이스를 통해 디바이스를 제어할 수 있도록 하는 프로그램. 디바이스 제어에 필요한 정형화된 인터페이스를 구현하기 위하여 요구되는 함수와 자료구조의 집합체. 응용 프로그램이 하드웨어를 제어할 수 있도록 인터페이스를 제공한다. 하드웨어 독립적인 프로그램을 작성할 수 있도록 함. 사용자는 디바이스의 물리적인 구조와 사용법을 이해하지 않아도 됨. 리눅스 디바이스 드라이버 프로그래밍(1) - 디바이스 드라이버 개요, 디바이스 드라..
2022.05.12