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

Slides:



Advertisements
Similar presentations
Embedded System Lab. II GUI Programming in Embedded Linux 경희대학교 컴퓨터공학과 조 진 성.
Advertisements

2013 년 2 학기 임베디드 프로그래밍. 권장사양  HOST PC 권장사항  리눅스 배포판이 설치된 PC - 권장 배포판 : Asianux open edition3 ( 라곤 하지만 Ubuntu, Fedora, CentOS 등 다양한 리눅스 프랫폼이 가능 )  PC.
Distributed and Cloud Computing Lab. Embedded System Software 개발 환경 설정 Dept. of Computer Science and Engineering Sogang University, Seoul, KOREA 1.
Linux Debugging issues
Root File System 충북대학교 지능로봇연구실.
유닉스 OS Installation Solaris 2.6 설치 부팅 설치 후 작업들 Sun patches 설치
개발 환경 설치 Embedded System Software
EZ Board-M In-Ho, Roh Real Time System Lab.
임베디드 시스템 개발 환경 (1) Lecture #3.
임베디드 SW 시스템 소개 - 임베디드 운영체제 - 임베디드 리눅스 - 임베디드 인터넷
임베디드 시스템 개발을 위한 리눅스 환경설정.
U-boot(Universal Bootloader)
4. 시스템 관리 기본 naldo.
Linux University of Seoul Computer Science Park Jong wook
Windows CE 시스템 개발 환경 구축.
제6장 FUSING.
Cross Compiler를이용한 커널 컴파일 및 포팅
PXA270 개발환경 설정 Ubuntu 실습용.
크로스 컴파일 환경 구축.
NFS, FTP coearth, george.
제16장 QT/Embedded.
Kernel Porting Lecture #7.
제4장 Cross Compiler 설치.
3장. 라우터와 스위치의 기본설정 2012년 2학기 중부대학교 정보보호학과 이병천 교수.
Minicom,tftp,nfs설정,vnc설정
Bootloader Porting Lecture #6.
FUSING.
제8장 커널 & 파일 시스템 분석.
Tftp, nfs, samba 실습 임베디드 시스템 I.
PXA255-FPGA 장비 개요 및 실습 Lecture #9.
Linux를 이용한 Embedded 장비 개발
임베디드 리눅스 시스템의 기본 개념 강의 목표 내용 임베디드 리눅스 시스템의 기본 개념과 주제 제시 1. 임베디드 시스템
목차 커널의 개념 및 기능 커널 포팅 램디스크.
3장. 라우터와 스위치의 기본설정 2012년 2학기 중부대학교 정보보호학과 이병천 교수.
모든 내용에 대한 저작권은 BANNA에 있으며, 허가된 사용자 이외에는 사용할 수 없습니다.
PXA255-FPGA 장비 계요 및 실습 Lecture #9.
2. Linux Installation Target Embedded System은 리눅스 환경을 사용한다. 이 장에서는 리눅스 설치부터, 각 설정의 의미들에 대해 이야기 한다.
Development Environment of Embedded System : part 1
임베디드 리눅스 설치 및 동작 Lecture #5.
부 록 Ubuntu 설치.
임베디드 시스템 개론 3주차 Embedded System..
Embedded System Porting (2)
리눅스 명령어 실습 임베디드 시스템 I.
14장. NFS 서버의 설치와 운영.
리눅스 기본 명령어 기본 명령어 명령어 기능 사 용 예 date 날짜 및 시간을 확인하고 생성.
1. Embedded System의 이해.
Root Filesystem Porting
Ch 08. 부트 프로세스 Flatstar.
3장. 라우터와 스위치의 기본설정 2012년 2학기 중부대학교 정보보호학과 이병천 교수.
임베디드 소프트웨어 동향. 임베디드 소프트웨어 동향 임베디드 S/W 시장분류 솔루션 측면 시스템 측면 운영체제 개발도구 설계도구 테스트도구 유선통신 무선통신 정보가전 자동차제어 산업자동화 사무자동화 군사/항공우주 의료장비 솔루션 공급 업체 임베디드 S/W시장 임베디드.
Root Filesystem Porting
DHCP 김영석 박대혁 신영주.
부트로더와 커널 이미지 부트로더 개요 타겟 시스템 부트로더 분석 부트로더 생성 커널 빌드 과정 커널 컴파일 규칙 커널 포팅
Host PC & Target Board 환경설정 Embedded Linux Image 올리기
DHCP 박윤환 윤준호.
실시간 자원 량 정보 제공을 결합한 Heartbeat
Cross Compiler를이용한 커널 컴파일 및 포팅
홈 네트워크 시뮬레이션 정 찬 번 석 성 환.
Boot PROM.
3장. 라우터와 스위치의 기본설정 2012년 2학기 중부대학교 정보보호학과 이병천 교수.
1장. 가상머신(Virtual Machine)의 소개와 설치
임베디드 시스템 개론 임베디드 타겟 보드 포팅 및 H/W 제어 3일차 강의 자료 Embedded System Lab.
시스템 인터페이스 Lab3 Unix 사용법 실습.
Telnet 을 활용한 Linux 메뉴얼 오두환.
Chapter 17 BOOTP and DHCP.
Kernel Porting Lecture #7.
제2부 3장 인터넷 인터넷 ( a global network of networks )
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
Eclipse를 이용한 Embedded Linux 응용 프로그램 개발
소리가 작으면 이어폰 사용 권장!.
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