임베디드 리눅스 설치 및 동작 Lecture #5.

Slides:



Advertisements
Similar presentations
Apr. 25, 2013 Laboratory of Systems Medicine BASIC LINUX COMMANDS.
Advertisements

7장7장7장7장 한빛미디어 ( 주 ) 파일시스템 개요 파일시스템 종류 파일시스템 구조 루트 파일시스템 커널 부팅 방식 램디스크 JFFS2 파일시스템 파일시스템 개요 파일시스템 종류 파일시스템 구조 루트 파일시스템 커널 부팅 방식 램디스크 JFFS2 파일시스템 파일시스템.
2013 년 2 학기 임베디드 프로그래밍. 권장사양  HOST PC 권장사항  리눅스 배포판이 설치된 PC - 권장 배포판 : Asianux open edition3 ( 라곤 하지만 Ubuntu, Fedora, CentOS 등 다양한 리눅스 프랫폼이 가능 )  PC.
7 장. 원격지에서 리눅스서버를 관리하자. 텔넷서버를 설치 / 운영한다. SSH 서버를 운영한다. VNC 서버를 설치 / 운영한다.
EZ Board-M In-Ho, Roh Real Time System Lab.
임베디드 시스템 개발 환경 (1) Lecture #3.
Image & Video processing
제6장 FUSING.
Cross Compiler를이용한 커널 컴파일 및 포팅
Cross Compiler를이용한 커널 컴파일 및 포팅 1
PXA270 개발환경 설정 Ubuntu 실습용.
크로스 컴파일 환경 구축.
Tool Chain, JTAG, Bootp, TFTP 의 설치
MYSQL 설치.
Introduction to UNIX/Linux
Kernel Porting Lecture #7.
Linux Security (리눅스 설치문제)
Minicom,tftp,nfs설정,vnc설정
Bootloader Porting Lecture #6.
FUSING.
Tftp, nfs, samba 실습 임베디드 시스템 I.
Ch. 1 LINUX SYSTEM.
임베디드 시스템.
임베디드 리눅스 시스템의 기본 개념 강의 목표 내용 임베디드 리눅스 시스템의 기본 개념과 주제 제시 1. 임베디드 시스템
목차 커널의 개념 및 기능 커널 포팅 램디스크.
임베디드 프로그래밍 Lecture #
2. Linux Installation Target Embedded System은 리눅스 환경을 사용한다. 이 장에서는 리눅스 설치부터, 각 설정의 의미들에 대해 이야기 한다.
Development Environment of Embedded System : part 1
Team Project : SSL 2008/05/27 정보보호 응용 발표자 : 신용철.
임베디드 시스템 개론 크로스 플랫폼 설치 2일차 강의 자료 Embedded System Lab.
임베디드 시스템 개론 3주차 Embedded System..
Embedded System Porting (2)
한국골프대학 종합정보시스템 Windows Vista 사용자를 위한 Component 설치안내서
한국골프대학 종합정보시스템 Windows 7 사용자를 위한 Component 설치안내서
강 명 수 LINUX 설치 강 명 수
8. Porting.
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
Root Filesystem Porting
Root Filesystem Porting
부트로더와 Self Programming
소프트웨어 분석과 설계 Struts2 & JBOSS 설치하기
WinCE Device Driver 실습 #3
WinCE Device Driver 실습 #2
Day-19(Tue_10.02) 이론적인 배경 Hypervisor(Type1) : 물리적인 자원을 추상화해서 관리해줌
Cross Compiler 설치.
Host PC & Target Board 환경설정 Embedded Linux Image 올리기
Boot Loader.
Cross Compiler를이용한 커널 컴파일 및 포팅
솔라리스10 3장. 솔라리스 패키지 관리.
㈜시스원이 제공하는 시스템 관리 통합 솔루션 SysmanagerOne Agent설치 안내서
Device Driver 임베디드 시스템 I.
임베디드 시스템 개론 임베디드 타겟 보드 포팅 및 H/W 제어 3일차 강의 자료 Embedded System Lab.
툴 설치 가이드 PrimeTime SynopsysMentor.
툴 설치 가이드 Formality SynopsysMentor.
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
리눅스 커널 프로그래밍 환경 구축 IT EXPERT 리눅스 커널 프로그래밍 Author : Byungki Kim
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
Kernel, Ramdisk, JFFS2 Porting
DK-128 개발환경 설정 아이티즌 기술연구소
StyleCop 소개 SGS Framework 개발 팀.
 파일 아카이브와 압축 명령 익히기.
Homework #5 (1/3) 다음을 수행한 후, 결과 파일들을 출력하여 제출한다.
셀프 프로그래밍으로 쓰기 셀프 프로그래밍이란? 프린트포트의 ISP 모듈을 사용하지 않음 부트로더에 의한 펌웨어 다운로드
Homework #3 (1/3) 다음을 수행한 후, 결과 파일들을 출력하여 제출한다.
임베디드 시스템 개론 3주차.
과제 4: Thread (5월 9일까지) 4장 연습문제 풀이
FTP 스캔 설정 방법 강사 : 이성휘 대리.
Kernel Porting Lecture #7.
Homework #7 (1/3) 1. 다음 순서에 따라 수행하고, 그 과정의 화면을 캡쳐한다.
임베디드 리눅스 설치 및 동작 Lecture #5.
Presentation transcript:

임베디드 리눅스 설치 및 동작 Lecture #5

목 차 임베디드 리눅스 설치 Bootloader 설치 커널 이미지 설치 루트파일시스템 이미지 설치 TFTP 기반 원격 부팅 설정

임베디드 리눅스 설치 타겟 시스템에서의 임베디드 리눅스 설치 부팅 저장 장치: 설치 이미지: 설치 위치: NOR Flash memory(32MB: 0x0000_0000~0x0200_0000) 설치 이미지: u-boot.bin (부트로더) uImage-2.6.21-pro3 (커널) rootfs-2.6-pro3.jffs2 (파일시스템) 설치 위치: u-boot 0x0000_0000 FLASH Memory 0x0030_0000 uImage 0x0008_0000 Root file system 0x0200_0000

Bootloader 설치 (1) U-boot 개요 U-boot 특징 U-boot 주요 기능 Universal Bootloader for Linux kernel ARM, PowerPC, MIPS 등 다양한 processor 환경 지원 필수적인 flash memory 지원 동작 및 다양한 유형의 flash memory 지원 가능 Tftp, dhcp 등 기본적인 네트워크 프로토콜 지원 Tftp 기반의 remote booting 지원 등 U-boot 주요 기능 POST(Power-On Self-Test) Linux kernel loading Linux kernel execution

Bootloader 설치 (2) U-boot 설치 U-boot 설치 이미지: u-boot.bin U-boot 설치 위치 메모리 절대번지 0x0000_0000~0x0007_FFFF(32KB) U-boot 설치 방법 Flash memory fusing 프로그램(jtag 또는 jflashmm)을 이용하여 host computer에서 직접 퓨징(Direct Fusing) HOST System FLASH Memory Boot Loader Target System 0x0008_0000 JTAG Interface 0x0000_0000 5 Direct Fusing

커널 이미지 설치 (1) 커널 이미지 설치 설치 이미지: uImage-2.6.21-pro3 설치 위치: 설치 방법: 메모리 절대 번지 0x0008_0000~0x002F_FFFF 설치 방법: u-boot를 이용한 Downloading & Fusing 방식 Step #1: Tftp 전송방식을 통해 Host system에서 target system의 SDRAM 영역으로 이미지를 downloading Target system의 u-boot 프로그램이 tftp client로 동작 Step #2: SDRAM에 다운로드된 이미지를 flash memory로 fusing(by u-boot) 6

커널 이미지 설치 (2) u-boot 0xA7F8_0000 TFTP 0x0030_0000 Flash Write Compressed Kernel Compressed Kernel 0xA100_0000 0x0008_0000 Decompressed Kernel u-boot 0xA000_8000 0x0000_0000 FLASH 0xA000_0000 SDRAM

커널 이미지 설치 (3) Host system 환경 설정 커널 이미지를 tftp 공유폴더인 /tftpboot로 복사한다. # cp /root/pxa255/images/uImage-2.6.21-pro3 /tftpboot IP Aliasing을 통한 IP 주소 추가 할당 추가 이더넷 장치: eth0:1 할당 IP 주소 IP Address: 192.168.1.10 Subnet Mask: 255.255.255.0 Gateway Address: 192.168.1.10 Tftp connection 지원 여부 확인 # netstat –a | grep tftp

커널 이미지 설치 (4) Target system 환경 설정 u-boot 부팅 Targetboard의 IP 주소 설정하기 PRO3> setenv serverip 192.168.1.10  [ host ip ] PRO3> setenv ipaddr 192.168.1.100  [ target ip ] PRO3> printenv  설정 내용 확인 PRO3> saveenv  설정 내용 저장

커널 이미지 설치 (5) 커널 이미지 다운로드 및 퓨징 PRO3> run linuxf

루트파일시스템 이미지 설치 (1) 루트파일시스템 이미지 설치 설치 이미지: rootfs-2.6-pro3.jffs2 설치 위치: 메모리 절대 번지 0x0030_0000~0x01FF_FFFF(29MB) 설치 방법: u-boot를 이용한 Downloading & Fusing 방식 11

루트파일시스템 이미지 설치 (2) u-boot 0xA7F8_0000 TFTP 0x0200_0000 Flash Write uImage 0x0008_0000 Root file system 0x0200_0000 Flash Write Root file system 0xA070_0000 0xA000_0000 SDRAM

루트파일시스템 이미지 설치 (3) Host system 환경 설정 - 설치 파일 복사 Target system 환경 설정 루트파일시스템 이미지를 tftp 공유폴더인 /tftpboot로 복사한다. # cp /root/prp3/Image/rootfs-2.6-pro3.jffs2 /tftpboot Target system 환경 설정 커널 이미지 퓨징 환경과 동일하게 설정 13

루트파일시스템 이미지 설치 (4) 파일 시스템 다운로드 및 퓨징 PRO3> run rootf

Targetboard Linux booting 리눅스 부팅 콘솔 화면

TFTP 기반 원격 부팅 설정

TFTP를 이용한 원격 부팅 (1) Target system의 부팅 모드 Kernel 및 root filesystem 이미지 위치에 따라 4가지 모드로 구분 Mode 1: flash kernel + flash root filesystem (local booting) Mode 2: flash kernel + nfs root filesystem Mode 3: tftp kernel + flash root filesystem Mode 4: tftp kernel + nfs root filesystem (remote booting) Kernel Flash Memory Network(TFTP) Root Filesystem Mode 1 Mode 3 Network(NFS) Mode 2 Mode 4 17

TFTP를 이용한 원격 부팅 (2) 원격 부팅(Remote Booting) Host system으로부터 커널 이미지를 다운로딩하고 커널 실행을 통해 부팅하는 과정 네트워크 부팅 Kernel – tftp 프로토콜을 이용하여 커널 이미지를 다운로딩 Root filesystem – nfs를 이용하여 마운팅 개발 과정 동안에 kernel 및 root filesystem에 대한 빈번한 수정이 발생함으로 이에 대한 플래시 메모리 퓨징 오버헤드를 줄임 18

TFTP를 이용한 원격 부팅 (3) 원격 부팅 설정 과정 원격부팅 가능한 커널 이미지 생성 및 복사 Root filesystem 디렉토리 생성 및 NFS 설정 Target system의 u-boot 환경 설정 원격부팅 실행 및 테스트 19

TFTP를 이용한 원격 부팅 (4) 원격 부팅 지원 커널 이미지 생성 및 복사 커널 소스를 다운로드하여 압축을 해제한다 # pwd /root/pxa255/kernel # tar xvfz linux-2.3.21-pro3/tar.gz Kernel configuration을 수정한다 Kernel configuration 수정 모드를 실행한다 /root/pxa255/kernel/linux-2.3.21-pro3 # make pro3_defconfig # make menuconfig 20

TFTP를 이용한 원격 부팅 (5) 원격 부팅 지원 커널 이미지 생성 및 복사 Kernel configuration을 수정한다 (계속) 다음의 설정항목을 순서대로 수정한다 “General setup”-> “Initial RAM filesystem and RAMdisk(initramfs/initrd) support” 선택 해제하기 “Networking”->”Network options”->”IP-kernel level autoconfiguration” 및 하위 메뉴 선택하기 “File Systems”->”Network File Stsrems”->”Root filesystem on NFS” 선택하기 “Boot options”->”Boot arguments” 수정하기 [console=ttyS0,115200n8 mem=64M@0xa0000000 mem=64M@0xa8000000 noinitrd rw ip=192.128.1.100:192.128.1.10:192.128.1.10:255.255.255.0::eth0:off root=/dev/nfs nfsroot=192.168.1.10:/mnt/rootfs-2.6-pro3,port=2049] 21

TFTP를 이용한 원격 부팅 (6) 원격 부팅 지원 커널 이미지 생성 및 복사 커널 컴파일을 수행하여 커널 이미지를 생성한다 # make oldconfig # make uImage 생성된 커널 이미지를 tftp 공유 디렉토리로 복사한다 # pwd /root/pxa255/kernel/linux-2.6.21-pro3 # cp ./arch/arm/boot/uImage /tftpboot 22

TFTP를 이용한 원격 부팅 (7) Root filesystem 디렉토리 생성 및 NFS 설정 # pwd /root/pxa255/rootfs # cp rootfs-2.6-pro3.tar.gz /mnt # cd /mnt # tar xvfz rootfs-2.6-pro3.tar.gz NFS 설정하기 /etc/exports 파일에 다음 항목을 추가한다 /mnt/rootfs-2.6-pro3 192.168.1.*(rw,sync,no_root_squash) NFS server 재시작하기 # service nfs restart 23

TFTP를 이용한 원격 부팅 (8) Target system의 u-boot 환경 설정 PRO3> setenv bootcmd “tftpboot a1000000 uImage;bootm a1000000” PRO3> printenv PRO3> saveenv 24

TFTP를 이용한 원격 부팅 (9) Target system에서 원격 부팅 실행 Target system을 리셋하거나 u-boot에서 “boot”명령어 실행 PRO3> boot 25

TFTP를 이용한 원격 부팅 (10) 원격 부팅 테스트 Host system Target system # cd /mnt/rootfs-2.6-pro3 # cd ./home # touch test Target system # cd /home # ls -al 26