Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "임베디드 리눅스 설치 및 동작 Lecture #5."— Presentation transcript:

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

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

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

4 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

5 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

6 커널 이미지 설치 (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

7 커널 이미지 설치 (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

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

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

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

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

12 루트파일시스템 이미지 설치 (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

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

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

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

16 TFTP 기반 원격 부팅 설정

17 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

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

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

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

21 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 noinitrd rw ip= : : : ::eth0:off root=/dev/nfs nfsroot= :/mnt/rootfs-2.6-pro3,port=2049] 21

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

23 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-pro *(rw,sync,no_root_squash) NFS server 재시작하기 # service nfs restart 23

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

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

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


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

Similar presentations


Ads by Google