Presentation is loading. Please wait.

Presentation is loading. Please wait.

커널 컴파일 및 개발 환경 구축 IT EXPERT 리눅스 커널 프로그래밍 Author : Byungki Kim

Similar presentations


Presentation on theme: "커널 컴파일 및 개발 환경 구축 IT EXPERT 리눅스 커널 프로그래밍 Author : Byungki Kim"— Presentation transcript:

1 커널 컴파일 및 개발 환경 구축 IT EXPERT 리눅스 커널 프로그래밍 Author : Byungki Kim Email :

2 1 커널 소스 코드 구하기 wget 을 이용해서 다운로드 : wget [full URL] 커널 다운로드
wget 을 이용해서 다운로드 : wget [full URL] 다운로드가 완료되면 /usr/src에 압축 해제

3 2 커널 빌드 과정 make mrproper make menuconfig make dep make clean
커널을 여러 번 컴파일 했을 때 기존의 설정된 모든 의존관계 제거 make menuconfig 커널 환경 설정 시작 make dep 커널에 설정된 내용에 따라 소스 코드의 파일들 확인 필요한 링크를 생성하는 것과 같은 의존성 설정 make clean 이전에 커널 빌드에서 남아있던 문제가 되는 파일들 삭제 깨끗하게 시작 make bzImage 실제로 싱행되는 커널을 빌드 make modules 커널에서 사용할 모듈들 컴파일 make modules_install 컴파일된 모듈 설치

4 3 커널 2.4 빌드 make mrproper

5 3 커널 2.4 빌드 make menuconfig

6 3 커널 2.4 빌드 Code maturity level options --->
prompt for development and/or imcomplete code/drivers Why ? 커널에서 안정되지 않은 기능들도 사용

7 3 커널 2.4 빌드 File Systems

8 3 커널 2.4 빌드

9 3 커널 2.4 빌드

10 윈도우 공유 폴더에 접근할 때 사용할 코드 페이지
3 커널 2.4 빌드 커널에 포함 윈도우와 폴더 공유 기본 자국어 코드 지정 윈도우 공유 폴더에 접근할 때 사용할 코드 페이지

11 File systems ---> Native Language Support 바로 설정 가능
3 커널 2.4 빌드 File Systems ---> Native Language Support 항목은 SMB file system support를 선택해야만 언어 코드 설정 가능 개발자들의 실수 ? -_- 커널 2.6에서 사라짐 File systems ---> Native Language Support 바로 설정 가능 커널 2.6 컴파일할 때 비교해 보겠음!!

12 3 커널 2.4 빌드 이 부분 생략하면 putty, ssh등에서
김병기.txt  ?????.txt 이런 경우가 발생한다고 함!!

13 3 커널 2.4 빌드 Networking options

14 3 커널 2.4 빌드 TCP/IP 관련된 기능 사용 가능

15 Network device support
3 커널 2.4 빌드 Network device support

16 3 커널 2.4 빌드

17 3 커널 2.4 빌드 VMWare에서 사용하는 랜카드 (가상 랜카드) 오~ 신기 -ㅂ-

18 3 커널 2.4 빌드 Save & Exit

19 3 커널 2.4 빌드 make dep 의존성 설정

20 3 커널 2.4 빌드 make clean 불필요한 파일들 제거

21 3 커널 2.4 빌드 make bzImage 커널 이미지 빌드

22 3 커널 2.4 빌드 make modules 모듈 빌드

23 컴파일된 모듈을 /lib/modules 에 설치
3 커널 2.4 빌드 make modules_install 컴파일된 모듈을 /lib/modules 에 설치

24 3 커널 2.4 빌드 새로 컴파일된 커널 이미지 설치 cp /usr/src/linux /arch/i386/boot/bzImage /boot/vmlinuz grub 설정 변경 : vim /boot/grub/menu.list

25 3 커널 2.4 빌드 리눅스 커널 컴파일 완료!!! 휴 ~ 자!! 재부팅 해보실까??? bkluv: reboot

26 3 커널 2.4 빌드

27 3 커널 2.4 빌드 빌드 성공!!! ^.^

28 4 커널 2.6 빌드 make menuconfig

29 Loadable module support
4 커널 2.6 빌드 Loadable module support

30 4 커널 2.6 빌드 Module unloading : 모듈 제거 기능 추가
모듈을 원할 때 적재/제거  선택하지 않으면 재부팅 전에는 제거 불가능 Forced module unloading : 모듈 강제 제거 기능 추가 모듈을 제거하는 도중에 문제가 발생하더라고 재부팅 하지 않고 제거 가능 (2.6버전부터)

31 4 커널 2.6 빌드 File systems

32 4 커널 2.6 빌드 Reiserfs 파일 시스템 지원 추가 Reiserfs? Variable Block Size 기술 이용
블록의 크기를 유동적으로 변경  디스크 용량 낭비 감소 Example > 4 kb 고정 크기 블록에서 kb 저장시 필요한 블록의 개수?

33 4 커널 2.6 빌드 NTFS 파일시스템의 하드디스크 사용 가능 2.6에서는 읽기/쓰기가 안정적으로 지원됨

34 4 커널 2.6 빌드 필요한 경우만 사용할 수 있게 모듈로 설정

35 4 커널 2.6 빌드 File systems

36 4 커널 2.6 빌드 Native Language Support 다국어 지원 설정

37 4 커널 2.6 빌드 한국어 파일 이름을 사용할 수 있도록 cp949 선택

38 4 커널 2.6 빌드 Device Driver

39 4 커널 2.6 빌드 Device Drivers ---> Network device support --->
Ethernet (10 or 100Mbir) --->

40 4 커널 2.6 빌드

41 4 커널 2.6 빌드 make

42 apt-get install libmd5-perl
4 커널 2.6 빌드 make modules_install “Digest::MD5”를 찾을 수 없음!? apt-get install libmd5-perl

43 4 커널 2.6 빌드 make modules_install

44 4 커널 2.6 빌드 새로 컴파일된 커널 이미지 설치 cp /usr/src/linux /arch/i386/boot/bzImage /boot/vmlinuz grub 설정 변경 : vim /boot/grub/menu.list

45 리눅스 커널 2.6.14.6 컴파일 완료!!! 휴 ~ 자!! 재부팅 해보실까??? bkluv: reboot
4 커널 2.6 빌드 리눅스 커널 컴파일 완료!!! 휴 ~ 자!! 재부팅 해보실까??? bkluv: reboot

46 4 커널 2.6 빌드

47 4 커널 2.6 빌드 빌드 성공!!! ^.^

48 5 리눅스 환경의 커널 분석 도구 cscope 데이터 베이스 생성

49 5 리눅스 환경의 커널 분석 도구 cscope 실행 선택 및 편집 tab 키로 이동 검색

50 정규식을 이용해서 소스 코드 검색 “ *task* ”
5 리눅스 환경의 커널 분석 도구 C 심볼들 검색 전역으로 선언 된 정의만 검색 이 함수에 의해 호출되는 함수 검색 이 함수를 호출하는 함수들 검색 텍스트 문자열 검색 문자열 검색해서 변경 정규식을 이용해서 소스 코드 검색 “ *task* ” 특정 이름을 포함한 파일 검색 특정 헤더 파일을 포함하는 모든 소스 검색

51 NEXT Time.. ctag, taglist make & vi 통합 Source Insight (제외)
윈도우와 Vmware 간에 파일 공유 (제외)

52 Have a good one!!


Download ppt "커널 컴파일 및 개발 환경 구축 IT EXPERT 리눅스 커널 프로그래밍 Author : Byungki Kim"

Similar presentations


Ads by Google