Microsoft PowerPoint - em8-리눅스설치.ppt

Similar documents
Microsoft PowerPoint - 03-Development-Environment-2.ppt

Chapter. 5 Embedded System I Bootloader, Kernel, Ramdisk Professor. Jaeheung, Lee

Microsoft PowerPoint - 06-CompSys-11-System.ppt

슬라이드 제목 없음

목차 운영체제운영체제종류실시간시스템임베디드운영체제임베디드운영체제의개념임베디드리눅스리눅스리눅스부팅과정리눅스디렉토리구조리눅스디렉토리설명리눅스파일시스템리눅스소프트웨어패키지리눅스컴파일러 1

PowerPoint 프레젠테이션

Microsoft PowerPoint - Building.pptx

망고100 보드로 놀아보자-4

Microsoft PowerPoint - 02-Development-Environment-1.ppt

Mango220 Android How to compile and Transfer image to Target

슬라이드 1

임베디드시스템설계강의자료 4 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

LN_5_Rootfs

GNU/Linux 1, GNU/Linux MS-DOS LOADLIN DOS-MBR LILO DOS-MBR LILO... 6

Copyright 2004 Sun Microsystems, Inc Network Circle, Santa Clara, CA U.S.A..,,. Sun. Sun. Berkeley BSD. UNIX X/Open Company, Ltd.. Sun, Su

임베디드시스템설계강의자료 6 system call 1/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과


[ 컴퓨터시스템 ] 3 주차 1 차시. 디렉토리사이의이동 3 주차 1 차시디렉토리사이의이동 학습목표 1. pwd 명령을사용하여현재디렉토리를확인할수있다. 2. cd 명령을사용하여다른디렉토리로이동할수있다. 3. ls 명령을사용하여디렉토리내의파일목록을옵션에따라다양하게확인할수

PowerPoint 프레젠테이션

6주차.key

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

Mango-AM335x LCD Type 커널 Module Parameter에서 변경하기

Chap 5 루트파일시스템 (Root F/S)

<3032B0AD202D20B8AEB4AABDBA20BCB3C4A12D556E6978C0CEC5CDB3DDBAB8C3E6C7D0BDC02E687770>

PowerPoint 프레젠테이션

Microsoft PowerPoint - LN_10_rootFS.ppt [호환 모드]

untitled

PCServerMgmt7

슬라이드 1

untitled

PowerPoint 프레젠테이션

지난시간에... 우리는 kernel compile을위하여 cross compile 환경을구축했음. UBUNTU 12.04에서 arm-2009q3를사용하여 간단한 c source를빌드함. 한번은 intel CPU를위한 gcc로, 한번은 ARM CPU를위한 gcc로. AR

DE1-SoC Board

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

PowerPoint 프레젠테이션

망고100 보드로 놀아보자 -13

KEY 디바이스 드라이버

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Adobe Flash 취약점 분석 (CVE )

USB 케이블만을이용한리눅스 NFS 개발환경 (VirtualBox) 최초작성 : 2010 년 10 월 21 일 작성자 : 김정현 수정내용 최초작성 by 김정현 스크립트추가, 설명보충 by 유형목 1. VritualBox

다음 사항을 꼭 확인하세요! 도움말 안내 - 본 도움말에는 iodd2511 조작방법 및 활용법이 적혀 있습니다. - 본 제품 사용 전에 안전을 위한 주의사항 을 반드시 숙지하십시오. - 문제가 발생하면 문제해결 을 참조하십시오. 중요한 Data 는 항상 백업 하십시오.

문서 대제목

리눅스커널구조개요 Linux kernel Internals 김영진 아주대학교전자공학과

Chap 10 안드로이드커널 (Kernel)

Microsoft PowerPoint - ARM 개발 환경.ppt

망고 M 카메라 포팅 가이드

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Mango-IMX6Q mfgtool을 이용한 이미지 Write하기

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

Splentec V-WORM Quick Installation Guide Version: 1.0 Contact Information 올리브텍 주소 : 경기도성남시분당구구미로 11 ( 포인트타운 701호 ) URL: E-M

Microsoft PowerPoint - 02_Linux_Fedora_Core_8_Vmware_Installation [호환 모드]

Microsoft PowerPoint - 알고리즘_1주차_2차시.pptx

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Microsoft Word - Fedora Core 9 개발환경 최종본.docx

교육지원 IT시스템 선진화

망고100 보드로 놀아보자 -10

휠세미나3 ver0.4

PowerPoint 프레젠테이션

Microsoft PowerPoint - eSlim SV [ ]

Microsoft PowerPoint - ch07.ppt

Solaris System Administration

목차 개발환경 JTAG Bootp TFTP NFS 1

MV6410 Linux 마이크로비젼 MV6410-LCD Linux 활용가이드 마이크로비젼 MV6410 Linux 1

ESP1ºÎ-04

PowerPoint 프레젠테이션

Code Generation in Rapid

(72) 발명자 이동희 서울 동작구 여의대방로44길 10, 101동 802호 (대 방동, 대림아파트) 노삼혁 서울 중구 정동길 21-31, B동 404호 (정동, 정동상 림원) 이 발명을 지원한 국가연구개발사업 과제고유번호 부처명 교육과학기술부

작성자 : saint Overview BackTrack 는 LILO 를부트로더로사용한다. BactTrack 을기본환경설정그대로설치하면부팅할수없는경우가있는데, 이것은실린더크기가 1024 보다큰하드디스크에설치하면 LILO 가 OS 를정상적으로읽어올수없기때문이다. 요즘나오는

PRO1_04E [읽기 전용]

Tizen

PowerPoint 프레젠테이션

Microsoft PowerPoint - Flash Memory Based Bottom Up Analysis for Smart Phone System _Final [호환 모드]

벤처연구사업(전동휠체어) 평가

1. GigE Camera Interface를 위한 최소 PC 사양 CPU : Intel Core 2 Duo, 2.4GHz이상 RAM : 2GB 이상 LANcard : Intel PRO/1000xT 이상 VGA : PCI x 16, VRAM DDR2 RAM 256MB

네이버블로그 :: 포스트내용 Print VMw are 에서 Linux 설치하기 (Centos 6.3, 리눅스 ) Linux 2013/02/23 22:52 /carrena/ VMware 에서 l

<4D F736F F F696E74202D20322DBDC7BDC3B0A320BFEEBFB5C3BCC1A6>

임베디드시스템설계강의자료 2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,,,,,,,,,,,,,.,..., U.S. GOVERNMENT END USERS. Oracle programs, including any operat

Microsoft PowerPoint - 리눅스부팅과정.pptx

Abstract View of System Components

1217 WebTrafMon II

<4D F736F F D20B1B9B0A1BAB020BEC6C0CCC7C720C2F7B4DC20B0A1C0CCB5E5>

(SW3704) Gingerbread Source Build & Working Guide

리눅스설치가이드 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2.

1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot)

Learn Raspberry Pi with Linux by Peter Membrey, David Hows Original English language edition published by Apress, Inc. Copyright c 2013 by Apress. Kor

커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서

페도라 코어 5 설치 가이드

Solaris Express Developer Edition

Unix & Linux 개요 Company 서울대학교통계학과 2010년 2학기컴퓨터의개념및실습 ( Thanks to: cancho & facewhite from SPARC/KAIST, Bruce La Plante fro

Microsoft PowerPoint 통신 및 압축 명령어.ppt

Special Theme _ 모바일웹과 스마트폰 본 고에서는 모바일웹에서의 단말 API인 W3C DAP (Device API and Policy) 의 표준 개발 현황에 대해서 살펴보고 관 련하여 개발 중인 사례를 통하여 이해를 돕고자 한다. 2. 웹 애플리케이션과 네이

Microsoft PowerPoint APUE(Intro).ppt

Microsoft Word - Armjtag_문서1.doc

CD 무결성체크는 SKIP 을해도좋습니다. Next 버튼을누릅니다. Next 버튼을누릅니다.

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

VMware vsphere

Transcription:

임베디드리눅스커널설치개요 임베디드리눅스설치 Linux Kernel* Root File System* jffs2.img 1 2 구성요소 리눅스커널 필수구성요소 하드웨어를초기화하고 kernel image를 에올려주어수행을넘겨주는역할을하는프로그램 OS Kernel OS 의핵심프로그램 Root File System Kernel 에서사용할 File System 임베디드리눅스에서는 ram disk 를많이사용 추가구성요소 User File System Root file system 에포함되지않은 util 이나 data file 등을위해추가적으로사용할 file system 임베디드리눅스에서는 flash memory 에설치된 file system 사용 JFFS2 (Journaling Flash File System, version 2) Kernel 다음과같은운영체제의핵심기능을수행하는프로그램 Process management Memory management Device management File System Management Network management 운영체제 API (Application Programming Interface) 등 Kernel Image Kernel을시스템의저장공간을최소한으로사용하기위한목적으로압축한상태로저장함. boot loader에의해압축이해제되어 으로 load 된후에 kernel이실행됨 3 4

root file system RAM disk Root File System root 디렉토리 (/) 로마운트되는파일시스템으로리눅스가동작하기위해기본적으로필요한프로그램및설정파일을가지고있다. Kernel 에서초기화작업후임시로 RAM disk 를 Root File System 으로마운트하여필요한초기작업을수행하고그다음에 disk 에있는실제 root file system 을마운트함 Embedded System 은대부분크기가작아야하므로 hard disk 를가지고있지않기때문에 Root File system 으로 RAM disk 를사용함 Ramdisk RAM disk: RAM을 disk처럼사용하는것 Hard disk 나 floppy 등 Kernel이사용해야하는 File System이없는경우 RAM을이러한용도로사용할수있다. 기본적으로필요한파일들을저장한 ramdisk를먼저만들고이를압축하여 Flash Memory에저장한다. 부팅할때마다 RAM에서 ramdisk의압축을풀어서 에 Load한후 ramdisk를사용한다. 수행중인작업내용을저장할수없다. 실행파일이나 static data 를미리저장해놓음 Embedded System 의경우 Root File System 을구성하기위해 ramdisk 를많이사용한다. 5 6 User File System JFFS2 User File System Root file system 에포함되지않은 utility나 data file등을위해추가적으로사용할 file system 필수요소는아니지만 target board를보다효율적으로구성하기위해서필요하다. JFFS2 Journalling Flash File System (version 2) Red Hat에서개발한 flash file system으로 linux kernel 2.4에서지원 전원이꺼지더라고지워지지않고남아있어야하는설정파일이나, ramdisk에포함되지않은프로그램등을저장하기위해사용 Embedded System 에서는 Flash File System 으로제작 Ramdisk 와달리 Flash Memory 에직접 file system 을구현한것 Flash Memory 에바로 read/write hard disk 와동일하게사용 전원이꺼진후에도작업내용이 Flash Memory 에남아있다. Flash memory 는기록하는데에한계가있으므로빈번하게기록과삭제가일어나면짧은시간에고장날수있다 JFFS2 특징 JFFS2는지운섹터에플래시쓰기를할수있다 JFFS와달리플래시메모리를한사이클에걸쳐쓰기전에도 Garbage Collection을동적으로수행할수있다 완벽하게쓰기전에파일을지우는일이없으므로항상성을유지한다 닳기균등화작업을통해플래시수명을연장시킨다 불량섹터를기록해남은정상섹터만운영이가능하게만든다 파일시스템내부에서사용자개입없이파일을동적으로압축할수있다 7 8

Flash Memory & memory map Kernel Booting 과정 01ff ffff FLASH ROM (32M) a7ff ffff (128M) 0048 0000 0028 0000 0008 0000 0004 0000 0000 0000 JFFS2 parameter BLOB mtd_partition 27.5 Mbytes 2 Mbytes 2 Mbytes 256 Kbytes 256 Kbytes a300 0000 a070 0000 a040 0400 a030 0000 a000 8000 JFFS2 BLOB main() BLOB down image Kernel 이미지적재 Root File System 마운트 init process 실행 (/sbin/init) Login 프롬프트출력 시스템초기화 네트워크설정 호스트이름설정 Device 구동 다른 file system mount ETC 파일시스템점검 가상콘솔접속관리 ETC. 9 10 리눅스운영체제구조 리눅스커널소스구조 process1 process2 process3 processn User Space Filesystem Manager Ext2fs proc xiafs nfs msdos ntfs Buffer Cache System Call Interface Memory Manager Paging/Segmentation Process Manager Task Management Scheduler, Signaling, IPC Kernel Space Device Manager block character Console KBD SCSI CD-ROM PCI ethernet Hardware Interface Network Manager socket Ipv6 IrDA Bluetooth dev1 dev2 dev3 dev4 devn (Source : Linux Kernel Internals) 11 12

커널소스디렉토리설명 (1) arch/ CPU 종속적인부분, 각처리기마다하위디렉토리로구성됨 (arch/arm, arch/i386, arch/alpha ) arch/arm/boot/ 부트스트랩핑코드 arch/arm/kernel/ 하드웨어종속적인 (hardware dependent) 커널관리루틴 트랩, 인터럽트처리루틴 문맥교환루틴 장치구성, 초기화루틴 arch/arm/mm/ 하드웨어종속적인메모리관리루틴 init/ 하드웨어독립적인커널초기화루틴 (start_kernel) 태스크 0 (init_task or task[0]) 생성 태스크 1, 2, 3 등데몬프로세스생성 커널소스디렉토리설명 (2) kernel/ 리눅스커널의가장중심적인디렉토리 (central section of the kernel) 하드웨어독립적인커널관리루틴 ( 하드웨어종속적인커널관리루틴은 arch/arm/kernel 디렉토리에존재 ) fork, exit 등태스크관련시스템호출처리루틴 스케줄러 (scheduler) 루틴 시그널처리 (signal handling)/ 시간관리 (time management) 루틴 mm/ 하드웨어독립적인메모리관리루틴 ( 하드웨어종속적인메모리관리루 틴은 arch/arm/mm 디렉토리에존재 ) 가상메모리관리, 페이징 (paging), 스와핑 (swapping) fs/ 가상파일시스템 (virtual file system ) 관리루틴 open, read 등태스크관련시스템호출처리루틴 특정파일시스템관리루틴은하위디렉토리에존재 (ext2, ext3, ramfs, minix, jffs2, proc, nfs, msdos, coda,.. ) 13 14 커널소스디렉토리설명 (3) 커널소스디렉토리설명 (4) drivers/ 개개의장치를제어하기위한장치드라이버루틴 디바이스드라이버는크게문자 / 블록 / 네트워크드라이버로구분 drivers/block/ : 블록장치드라이버. 예를들어 IDE 디스크 (hd) drivers/char/ : 문자장치드라이버. serial ports, tty, modem,..) drivers/net : 네트웍장치드라이버. 예를들어 3C509,... drivers/pci/ : PCI bus 제어 drivers/sound/ : sound card 드라이버 drivers/cdrom/ : CD-ROM 드라이버 drivers/scsi/ : SCSI 인터페이스관리 ipc/ 프로세스간통신을지원하기위한루틴 세마포어 (semaphores), 공유메모리 (shared memory), 메시지큐 (message queues) net/ TCP/IP, ARP 등네트웍통신프로토콜 ( 네트웍장치드라이버는 drivers/net에존재 ) 소켓인터페이스 include/ 커널헤더 하드웨어독립적인헤더 : include/linux/ 하드웨어종속적인헤더 : include/asm-***/ ( 예를들어 ARM CPU 종속적인헤더는 include/asm-arm/ 디렉토리에존재 ) modules/ 커널모듈루틴 모듈은 insmod(modprobe), rmmod 등의명령으로동적적재 / 제거가능 lib/ 커널라이브러리루틴 doc/ or Documentation/ 커널문서디렉토리. 15 16

리눅스커널설치과정 커널소스생성 Linux Kernel Root File System 커널소스와패치파일구함 커널소스설치 # tar xvfj linux-2.4.19.tar.bz2 # cd linux-2.4.19 패치적용 # patch p1 <../patch-2.4.19-rmk4 ; ARM 패치 # patch p1 <../diff.2.4.19-rmk4-pxa1 ; XScale 패치 # zcat../diff.2.4.19-rmk4-pxa1-huins.gz patch p1 ; Huins 패치 심볼릭링크디렉토리생성 17 18 커널이미지생성 커널이미지설치 패치적용커널소스설치 # tar xvfj linux-2.4.19-pxa255_pro.tar.bz2 # cd linux-2.4.19-pxa255_pro 압축커널이미지를 /tftpboot 로복사 # cp./arch/arm/boot/ /tftpboot 압축커널이미지 target 시스템에설치 커널컴파일 # make menuconfig ; kernel configuration # make dep # make clean ; 기존의 object 파일삭제 # make ; 압축커널이미지파일 생성 blob> tftp kernel blob> flash kernel blob> boot ; download: host ; fusing: Flash ; boot kernel 19 20

RAM disk 설치과정 RAM disk 파일생성 0 으로채워진 ramdisk 파일생성 # dd if=/dev/zero of=ramdisk bs=1024 count=8192 ; 8Kx1KB/block = 8MB Linux Kernel Root FileSystem ramdisk 파일에 file system 생성 # mke2fs ramdisk ; ext2 file system 생성 ramdisk file system을 mount # mkdir ramdisk_point ; mount할디렉토리생성 # mount t ext2 o loop ramdisk ramdisk_point ; mount ramdisk를 mount한곳에필요한파일복사 기본적으로필요한파일은 huins에서제공한 의압축을풀고 mount하여얻을수있다. 필요한파일을이디렉토리에추가한다. 21 22 RAM disk 파일설치 User file system ramdisk를압축 # umount./ramdisk_point ; mount 해제 # gzip -9 ramdisk ; 높은압축률로압축, 생성 ramdisk 의압축이미지를 /tftpboot 로복사. Linux Kernel Root File System % cp /tftpboot ramdisk 압축이미지를 target 시스템에설치 blob> tftp ramdisk ; download: host blob> flash ramdisk ; fusing: Flash jff2.img 23 24

Memory Technology Devices (MTD) JFFS2 파일시스템생성 Memory Technology Devices (MTD) 메모리 ( 특히플래시메모리 ) 의일부영역을파일시스템으로사용하기위한기술 이를위해서 JFFS2 format의파일시스템이미지를만들어서플래시메모리의정의된영역에복사함 mkfs.jffs2 프로그램설치 /sbin 디렉토리에설치 jffs2 파일시스템용 root 디렉토리생성 # mkdir jffs2_root 필요한파일들을 jff2_root 디렉토리아래에복사 ( 파일추가 ) jff2 파일시스템생성 # mkdir jffs2_root #./mkfs.jffs2 r jffs2_root -o jffs2.img e 0x40000 p 0x1b80000 ( -p: pad, -e: sector size, -o: output, -r: root directory) 압축하지않음 25 26 JFFS2 파일시스템설치 jffs2 파일시스템의압축이미지를 /tftpboot 로복사. % cp jffs2.img /tftpboot ramdisk 압축이미지를 target 시스템에설치 blob> tftp jffs2.img usr ; download: host blob> flash usr ; fusing: Flash blob> boot 27