Development Environment of Embedded System : part 1 (Bootp, Tftp and NFS)
Contents Target Board Software 개발환경 구축 과정 Terminal Emulation: minicom Bootp Tftp (Trivial File Transfer Protocol) NFS (Network File System)
Target Board Software Boot Loader: flash ROM Linux kernel: DRAM empos_boot (blob) Linux kernel: DRAM Kernel : Linux-2.4.19 ARM patch : patch-2.4.19-rmk4.gz XScale patch : diff-2.4.19-rmk4-pxa2.gz Board patch : diff-2.4.19-rmk4-pxa2-empx1.gz Linux File System: RAMdisk ramdisk-16m.gz (ext2) binaries 및 bash Application (Qt/E GUI): /usr QT/E-2.3.2, Qtopia-1.4.0 GTK-2.0.7, TinyX(icewm-1.2.12) jffs2 Boot loader Linux kernel File System Application Windows ROMBIOS Utilities
Target Board vs Development PC Linux System (Red Hat version 9.x) Target board의 콘솔 기능과 각종 프로그램 개발(kernel, driver, boot loader, NFS 등) Target Board Development Host (Linux) Hub Ethernet Serial(Rs-232-C) (Terminal Emulator) Com1 Parallel port JTAG I/F Slave USB JTAG port Port 1
Software Development Environment Kernel 및 root 파일 시스템 porting, device driver, web 서버, Qt/E, Qtopia 등의 소프트웨어 개발에 편리성을 제공하기 위한 개발환경 구축 Ethernet cable Ethernet LAN HUB ARM (XScale) Tool Chain (Cross Compiler) Bootp Server Tftp Server NFS Server Terminal Emulator (Minicom) Serial cable Console /mnt /nfs Network File System 타겟 보드 개발용 리눅스 PC
Environment Setup Procedures Development PC – Target board Interface Serial Interface : RS-232C, Boot loader interface LAN interface JTAG interface Server Bootp, tftp server NFS Tool chains: Cross-compiler Application
Terminal Program Environment (1) Terminal emulation 타겟보드에서 일어나는 진행 상황을 host PC에서 볼 수 있게 모니터링 할 수 있는 통신 프로그램: host PC를 dummy terminal 기능 “minicom” 설정 콘솔에서 다음과 같이 입력하면, 아래와 같은 설정 메뉴가 표시 $ minicom -s Serial cable Console For Target Board
Terminal Program Environment (2) Serial port setup으로 이동 후 타겟보드와 통신이 가능한 상태로 설정 환경설정을 마친 후 configuration 메뉴에서 저장 후 Exit - A 항목을 /dev/ttyS0로 변경 - E 항목을 115200 8N1으로 변경 - F, G 항목을 No로 설정
Minicom Command Summary
Terminal Program Environment (3) Success: “boot loader message”가 minicom 화면에 표시
Bootp Server 설치 확인 bootp (Boot Protocol) Bootp 설치 확인 타겟보드에서 사용할 IP 주소를 할당 받기 위해서 사용 Bootp 설치 확인 rpm –qa |grep bootp /etc/xinetd.d/bootp 파일 확인 /etc/bootptab 파일 확인 /etc/hosts 파일 확인 파일이 존재하지 않는 경우 bootp는 설치되지 않은 상태 mount /dev/cdrom cd /mnt/cdrom/Tools/bootp-server rpm –Uvh bootp-2.4.3-7.i386.rpm
Bootp Server Installation(1) 1) /etc/bootptab 수정 (타겟보드의 MAC address) 2) /etc/hosts 파일 설정 (타겟보드에 할당할 IP address 목록) .default:\ :hd=/tftpboot:bf=null:\ :sm=255.255.255.0 empos:ht=1:ha=0x000BA8030000:tc=.default 211.227.237.28 empos.honam.ac.kr empos
Bootp Server Installation(2) /etc/xinetd.d/bootp 파일 설정 service bootps { disable = no flags = REUSE NAMEINARGS socket_type = dgram wait = yes user = root server = /usr/sbin/bootpd server_args = -s }
tftp 서버 설치 확인 Tftp (trivial FTP) 설치 확인 파일이 존재하지 않는 경우, 미설치 부트로더에서 용량이 큰 데이터를 다운 받기 위해서 사용되는 UDP 데이타 전송 프로그램 설치 확인 rpm –qa |grep tftp 확인 /etc/xinetd.d/tftp 파일 확인 /tftpboot 디렉토리 확인 파일이 존재하지 않는 경우, 미설치 mount /dev/cdrom cd /mnt/cdrom/Tools\tftp-server rpm –Uvh tftp-server-0.29-3.i386.rpm
tftp Server Installation /etc/xinetd.d/tftp 파일 설정 service tftp { disable = no socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /tftpboot }
Bootp & tftp Demon 실행 bootp와 tftp deamon 실행 host PC의 콘솔 터미널에 다음과 같이 실행 방화벽(Firewall)등의 영향으로 실행 되지 않을 때는 아래와 같이 직접 입력하여 실행 시킬 수도 있다. # iptables –F 또는 lokkit 을 이용하여 방화벽을 제거 할 수 있다. # hostname 을 확인해 본다. # service xinetd stop # service xinetd start # /usr/sbin/bootpd –s
NFS Ethernet LAN을 통한 네트워크 디스크 파일 시스템의 공유 NFS client NFS server /mnt /nfs_resource HUB Ethernet LAN 타겟 보드 개발용 리눅스 PC Serial cable Ethernet cable Console Network File System NFS client NFS server
NFS Server 설정 NFS (Network File System) NFS Server 설정 방법 로컬의 리눅스에서 원격 host의 파일 시스템을 공유 구현된 NFS로 호스트 PC에서 작업한 내용을 곧 바로 타겟보드 상에서 mount하여 테스트 할 수 있는 환경 제공 NFS Server 설정 방법 host pc : /etc/exports 파일 설정 host pc : nfs demon 재시작 target board : NFS mount mount –t ext2 211.227.237.28:/nfs_resource /mnt /nfs_resource (rw, no_root_squash) # service nfs restart
Reports & Experiments Report 1 Report 2 Experiment 1 Experiment 2 Boot protocol, TFTP protocol 조사 Report 2 NFS protocol 조사(특히 버전에 따른 NFS 기능) Experiment 1 Minicom으로 host PC와 target board를 접속하여 boot loader 사용법 익히기 현재 실습환경에 대한 구성도 작성(IP address, interface point, working directory, login/passwd, etc.) Experiment 2 Host PC와 target board에 1) bootp, 2) tftp, 3) NFS server 설치 및 확인