커널 구성 10) Device Drivers

Download Report

Transcript 커널 구성 10) Device Drivers

제 7강 커널 컴파일2
목 차

강의 목표

커널 컴파일
강의 목표

커널의 컴파일 과정을 안다.

Makefile을 이해 한다.

커널의 모듈화를 이해한다.

커널에 디바이스를 포함시키는 방법을 안다.
커널 구성

10) Device Drivers --->
커널 구성

10) Device Drivers --->
 Hotplug firmware loading
support 설정
 <*> Hotplug firmware
loading support
커널 구성

10) Device Drivers --->
 Memory Technology
Devices(MTD) --->
 임베디드 디바이스에서 파
일시스템을 구성하는데 사용
하는 플래시 메모리, RAM, 그
리고 그 비슷한 다른 칩셋 등
메모리 장치를 세팅한다.
커널 구성

10) Device Drivers --->
 NAND Flash Device Drivers
--->
 <*> NAND Device Support
 <*> NAND Flash device on
X-HYPER320 TKU board
 [*] support for PXA3xx
Processor NAND flash DMA
operation
커널 구성

10) Device Drivers --->
 디스크장치 사용을 위해
SCSI device support 선택
커널 구성

10) Device Drivers --->
 Network device support 
네트워크 장치가 사용할 드라이
버를 선택한다.
커널 구성

10) Device Drivers --->
 <*> DM9000 support
 X-HYPER320-TKU Ethernet 장
치 DM9000 지원.
커널 구성

10) Device Drivers --->
 Input device support - XHyper320TKU 터치스크린관련
드라이버 설정
커널 구성

10) Device Drivers --->
 Character devices –
 터미널, 비디오 어뎁터, 마우
스, 프린터 등 문자 단위로 데
이터를 다루는 다양한 장치들을
지원설정
커널 구성

10) Device Drivers --->
 X-HYPER320 IEB drivers –
IEB보드 디바이스 추가
커널 구성

10) Device Drivers --->
 Serial drivers
Ⓐ [*] PXA2xx/PXA3xx Processor serial port support
Ⓑ [*] Console on PXA2xx/3xx Processor serial port
 직렬 포트를 시스템 콘솔로 쓸 수 있는 옵션이다(시스템 콘솔은 커
널 메세지와 경고들을 받아 뿌려주고 싱글 유저 모드로 로긴할 수 있
게 해주는 디바이스이다). 가령 직렬 포트 프린터 등으로 여러 메시지
들을 기록할 수도 있다. 여기서 [Y]를 설정해도 커널 패러미터를 조정
하지 않으면 /dev/tty0가 시스템 콘솔로 그대로 잡혀 있다.
커널 구성

10) Device Drivers --->
 이 옵션을 이용하면 VGA
카드가 없는 리눅스 시스템
도 운영할 수 있는데, 커널
이 자동으로 시스템 콘솔을
/dev/ttyS0로 잡는다. 리눅
스 박스에 직접 연결된 모니
터와 비디오 카드, 키보드
등이 없어도 시리얼 라인으
로 연결된 다른 터미널에서
시스템을 제어할 수 있다.
이는 리눅스를 이용한 라우
터, 공유기 등 네트워크 장
비에서 많이 사용한다.
커널 구성

10) Device Drivers --->
 I2C support
커널 구성

10) Device Drivers --->
 PXA320 Processor의 I2C기능
사용
 <*> PXA2xx/PXA3xx
Processor I2C adapter
(EXPERIMENTAL)
 [*] PXA2xx/PXA3xx I2C
Polling support (EXPERIMENTAL)
커널 구성

10) Device Drivers --->
 Multimedia devices - <*>
Video For Linux 추가
커널 구성

10) Device Drivers --->
 Graphics support
 Linux에서 사용하는 그래픽
장치의 설정 및 로고 등을 선택
 [*] Enable Video Mode
Handling Helpers
 <*> PXA2xx/PXA3xx
Processor LCD framebuffer
support
 <*> LCD overlay support
커널 구성

10) Device Drivers --->
 Console display driver
support – LCD에 콘솔메세지를 출
력하기 위한 폰트설정
 <*> Framebuffer Console
support
 [*] Select compiled-in fonts
 [*] VGA 8x16 font
커널 구성

10) Device Drivers --->
 Logo configuration – 부팅 로
고 이미지 설정
 [*] Bootup logo
 [*] XHYPER320 TKU Linux logo
XHYPER320 TKU용 로고 이미지를
사용하게 된다.
커널 구성

10) Device Drivers --->
 Sound ---> <*> Sound card
support
커널 구성

10) Device Drivers --->
 ALSA(Advanced Linux Sound
Architecture) 드라이버 사용
 <*> Advanced Linux Sound
Architecture
 <*> OSS Mixer API
 <*> OSS PCM (digital audio)
API
 ALSA ARM devices ---> <*>
AC97 driver for the Intel
PXA2xx chip
커널 구성

10) Device Drivers --->
 USB support --->
USB 장치들을 설정(Host, Class
Driver, Slave Driver)
<*> Support for Host-side USB
<*> OHCI HCD support
<*> USB Mass Storage support
커널 구성

11) File systems --->
커널 구성

11) File systems --->
 Network File Systems --->
 <*> NFS file system support
 어떤 다른 (보통 로컬) 유닉스 컴퓨
터에 연결되었거나 Network File
Sharing protocol 을 사용하여 NFS
server에 들어있는 파일들을 마운트
(mount)할 때 사용.
[*] Provide NFSv4 client support
[*] Root fileSystem on NFS
“IP: kernel level
autoconfiguration”과 함께 쓰여 네트
워크 위의 다른 컴퓨터를 마운트하여 루
트 파일시스템으로 사용.
커널 구성

11) File systems --->
 설정을 확인한후 Yes를 선택하여
저장
커널 컴파일


X-Hyper320TKU 보드용으로 포팅되어 있는 커널소스를 컴파일한다.
컴파일을 하기 위해서 최상위 Makefile에서 CROSS_COMPILE항목
에 컴파일러 경로를 수정한다.
# cd linux
# vi Makefile
실습에서는 /320/Kernel/linux 디렉토리로 이동한다
저장을 위해서는 강제저장 :w! 후 종료함
커널 컴파일

make WENDERS_defconfig 명령으로 X-Hyper320TKU설정을 적용
# cd linux
# make WENDERS_defconfig
커널 컴파일

make zImage 명령으로 커널 이미지를 생성
# make zImage
커널 컴파일

위와 같은 명령을 실행 하면 컴파일이 진행되며, 컴퓨터 성능에 따라
10~20분에서 그 이상이 소요되며 컴파일이 완료된다
# ls arch/arm/boot/zImage
절대경로로는 /320/Kernel/linux/arch/arm/boot 디렉토리에 생성됨
임베디드 보드를 위한 커널이 컴파일 된 것이다.