0. 윈도우 리눅스 공유폴더 설정
(초반부터 진행해온 저와 같은 환경에서 리눅스를 사용하고 있다면
윈도우-리눅스 공유 관련 어려운 방법보다 간단한 방법이 있어서 소개합니다.
사실 이것저것 시도해봤는데 이 방법만 제대로 되서 적어봅니다.)
1. 윈도우에서 공유하고 싶은 폴더를 생성 (여기선 ‘linuxshare’ 라고 이름 붙였다.)
2. 사용하고 있는 VirtualBox 환경에서 ‘장치-공유 폴더-공유 폴더 설정...’을 들어간다.
3. 그 후 만들어 놓은 폴더 경로를 설정하고, 이름을 확인한다.
자동 마운트와 항상 사용하기 체크 후 마운트 지점을 Z로 지정한다.
4. 다음 루트 계정으로 로그인 한 후, 공유하고 싶은 지점(폴더)을 들어간다.
‘mount –t vboxsf [윈도우 공유 폴더 명] [리눅스 공유 폴더 명]’을 작성하면 공유 설정이 완료된다.
+ Makefile에 대하여...
Makefile에 대해서 간단하게 설명하자면 컴파일을 쉽게 하기 위해서 작성해 놓는 파일이다.
'make' 명령어로 실행되며 수 많은 파일을 컴파일할 때 사용하면 좋다.
아래는 거의 필수 작성되는 목록을 간단하게 설명한 것이다.
CC | 컴파일러 경로 |
obj-m | 컴파일 진행하는 파일 |
KDIR | 커널 경로 |
all | 명령어 사용 시 진행하는 내용 |
clean | make clean 사용 시 hello.*와 관련된 파일 삭제 |
1. 커널 모듈이 적재될 때 “Hello, (이름)!”, 삭제될 때 “Bye, (이름)!”을 화면에 표시하는 모듈 프로그램 작성
우선 ‘hello.c’ 파일을 생성하여, “hello (이름)!” 문자열과 “goodbye (이름)!”이 모듈 적재와 제거할 때 출력되도록 작성한다.
그 후 vi 편집기를 이용하여 ‘Makefile’ 파일을 작성한다.
이어서 ‘make’ 명령으로 컴파일을 진행할 수 있다.
이제 'TeraTerm'을 통해 타겟시스템에서 모듈 적재 및 제거, Ismod, rmmod 명령을 실행해보자.
참고로 dmesg 명령 전, 모듈 적재 및 제거부터 진행해야한다.
1) lsmod 명령으로 확인
‘윈도우 – 테라텀 – ZMODEM – 보내기’를 클릭한다.
그 후 보내고 싶은 파일 ‘hello.ko’ 파일을 보내고, 확인한다.
‘chmod 777 [file]’ 명령으로 파일에 모든 권한을 준다.
그 후 ‘insmod hello.ko’와 ‘rmmod hello.ko’를 이용하여 모듈 적재와 제거를 진행
각각 명령의 결과를 확인해보면 위 사진과 같이 잘 출력되는 것을 확인할 수 있다.
2) dmesg로 커널의 메시지 버퍼(로그) 출력
‘dmesg’ 명령 실행
결과로는 “hello (이름)!”과 “goodbye (이름)!”이 버퍼로 존재하는 것을 확인할 수 있다.
+ 리눅스 환경에서 ‘make clean’ 명령으로 ‘hello.*’ 파일을 지울 수 있다.
(굳이 안 해도 되는데, ‘Makefile’에 있어서 사용해봤습니다.)