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

Slides:



Advertisements
Similar presentations
ⓒ 2015 NHN Entertainment Corp. Django 로 만드는 초간단 블로그 시스템운영팀 김영태 개발환경 구축.
Advertisements

1 Lotte EDI 환경 설정 매뉴얼 LLTTTTEE Always with You OO.
Android 프로그램개발 환경. 학습 목표 ■ 교육 목표  JDK 설치  JDK 환경 설정  Eclipse 설치  Android SDK 설치  ADT Plug-in 설치  Android Virtual Device(AVD) 설치  Android 예제 프로그램.
해외전자정보서비스이용교육 EBSCO eBook (NetLibrary)
OpenCV 안드로이드 연동 환경설정 OpenCV-Android 를 다운 받습니다.
EZ Board-M In-Ho, Roh Real Time System Lab.
2. 앱 개발환경 구축 Step by Step 안드로이드 프로그래밍 쉽게 시작하는 안드로이드 4.4 앱 개발.
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
新 연구관리 프로그램 SAP 설치 안내 1. SAP GUI 7.3 설치 2전자증빙 솔루션 설치 배포 :
Image & Video processing
SAS Foundation Client 9.4 설치 가이드
윈도우7 체크 설치 매뉴얼
Cross Compiler를이용한 커널 컴파일 및 포팅
Cross Compiler를이용한 커널 컴파일 및 포팅 1
MYSQL 설치.
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
컴퓨터 프로그래밍 기초 [Final] 기말고사
CUDA Setting : Install & Compile
Linux/UNIX Programming
J2ME Install 부산대학교 인공지능 연구실.
Windows Server 장. 사고를 대비한 데이터 백업.
ANSYS17.2 Student 제품 무료 다운로드
임베디드 리눅스 설치 및 동작 Lecture #5.
Mysql Install on Azure
Ubiquitous Computing Practice - Part I (Installation) -
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
임베디드 시스템 개론 크로스 플랫폼 설치 2일차 강의 자료 Embedded System Lab.
Java 기초 (Java JDK 설치 및 환경설정)
제 3장. C보다 나은 C++ II.
07. 디바이스 드라이버의 초기화와 종료 김진홍
4-1장. MySQL 제13장.
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
Root Filesystem Porting
Root Filesystem Porting
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
17강. 데이터 베이스 - I 데이터 베이스의 개요 Oracle 설치 기본적인 SQL문 익히기
WinCE Device Driver 실습 #2
Cross Compiler 설치.
Grade Server Team14. Attention Seeker
Cross Compiler를이용한 커널 컴파일 및 포팅
(인터페이스 상세 이용 방법 및 다운로드 (대출모드) 안내)
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
리눅스 시스템 & 커널 기초 P.46 – P.53 이름: nsh009 학번: 112 1/20.
강의 개요. 2014년 가을학기 손시운 지도 교수: 문양세 교수님.
Device Driver 임베디드 시스템 I.
설치 환경 □ 운영체제 버전 : CentOS Linux 7.2 □ 리눅스 커널 버전 :
Windows에서 Virtual Box를 이용한 Ubuntu 설치
IPython Notebook + Spark + TensorFlow on MacOS
cafe.naver.com/embeddedcrazyboys
영상처리 실습 인공지능연구실.
뇌를 자극하는 Windows Server 2012 R2
제목소개 1. 안드로이드소개 2. 패킷캡쳐를 위한 환경 소개 3. ndk 소개 4. lipcap 5. 6.도식화 그림
ADC 디바이스 사용법.
툴 설치 가이드 Formality SynopsysMentor.
Adobe 제품 다운로드 및 설치 방법 안내 Adobe Creative Cloud Adobe License 권한을 받으신 분
리눅스 커널 프로그래밍 환경 구축 IT EXPERT 리눅스 커널 프로그래밍 Author : Byungki Kim
1. 스크립트 작성 마법사 2. NSIS 스크립트 컴파일
S-Work 2.0 DRM 신규 버전 설치 가이드 SOFTCAMP
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
Kernel, Ramdisk, JFFS2 Porting
STS 에서 웹 서버 설치 방법.
OpenCV 설정 2.21 만든이 딩딩.
StyleCop 소개 SGS Framework 개발 팀.
 파일 아카이브와 압축 명령 익히기.
9 브라우저 객체 모델.
임베디드 시스템 개론 3주차.
IPC 펌웨어 업그레이드 방법 안내 ** 반드시 IPC를 NVR POE 포트 연결 전에 작업 하시기 바랍니다. IPC를 NVR POE 포트에 연결 하실 경우 IP 대역폭을 마추셔야 하는 작업이 필요합니다. **
숙제 작성 및 제출 과정 김진하 2008/03/14.
Docker Study 6~7.
Presentation transcript:

커널 컴파일 및 개발 환경 구축 IT EXPERT 리눅스 커널 프로그래밍 Author : Byungki Kim Email : bkkim@hallym.ac.kr

1 커널 소스 코드 구하기 wget 을 이용해서 다운로드 : wget [full URL] 커널 다운로드 http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.32.tar.bz2 http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.14.6.tar.bz2 wget 을 이용해서 다운로드 : wget [full URL] http://210.115.226.26/~bk/downloads/linux-2.4.32.tar.bz2 http://210.115.226.26/~bk/downloads/linux-2.6.14.6.tar.bz2 다운로드가 완료되면 /usr/src에 압축 해제

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

3 커널 2.4 빌드 make mrproper

3 커널 2.4 빌드 make menuconfig

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

3 커널 2.4 빌드 File Systems

3 커널 2.4 빌드

3 커널 2.4 빌드

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

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 컴파일할 때 비교해 보겠음!!

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

3 커널 2.4 빌드 Networking options

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

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

3 커널 2.4 빌드

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

3 커널 2.4 빌드 Save & Exit

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

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

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

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

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

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

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

3 커널 2.4 빌드

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

4 커널 2.6 빌드 make menuconfig

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

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

4 커널 2.6 빌드 File systems

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

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

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

4 커널 2.6 빌드 File systems

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

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

4 커널 2.6 빌드 Device Driver

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

4 커널 2.6 빌드

4 커널 2.6 빌드 make

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

4 커널 2.6 빌드 make modules_install

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

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

4 커널 2.6 빌드

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

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

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

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

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

Have a good one!!