망고 100 보드로놀아보자 -4 Minicom,tftp,nfs 설정,vnc 설정
minicom 설정 Minicom 설정 >#yum install minicom >#ls /dev/ttyusb* ># minicom s
Minicom 설정 Serial Device :/dev/ttyusb0 Baudrate:115200 Hardware Flow control: NO Save setup as dfl 선택
TFTP Server 로부터필요한 File 을읽어와자신의 Memory 에 Load 시킬때필요한 Protocol Flash Memory 에맞도록설계된단순한 Protocol Disk 없는 System 의가동프로세서에이용 UDP 를이용하여 Client 와 Server 사이의통신 Booting 에필요한간단한 Program 과 BOOTP, RARP, TFTP 만탑재한시스템에서많이이용되며펌웨어자동업그레이드에이용가능 장점 시스템이단순하고간단함 어떤형태의전달서비스상에서도동작이가능 시스템가격이저렴 단점 정보보호기능이없음 Data 에대한보장성이없음
TFTP Tftp 패킷형식 IP Datagram UDP Datagram IP Header UDP Header TFTP Message 20bytes 8bytes =<512bytes 512 bytes 의 Data Block 을전송한다. 각 Block 은아주간단한 4bytes 헤더와연결 Block 의전송번호는항상 1 부터시작한다. ASCII 또는 Binary 전송을지원한다. Remote File 을 Read 하거나 Write 할때사용한다. No Checksum 높은처리율보다는간단함을강조한프로토콜이다.
TFTP(2) TFTP 패킷형식 IP FTP TCP TFTP UDP OP Code RRQ WRQ Data ACK Error Value 1 2 3 4 5 Message Format IP Header UDP Header 20 8 OP Code(1, 2) File name Data (3) ACK (4) Error (5) 2 2 IP datagram UDP datagram TFTP message Block 번호전송 Data Block 번호 Error 번호 0 mode 0 2 n 1 n 1 2 2 0-512 Error Message 2 2 n 1 0
TFTP TFTP 설치 / 미설치확인방법 #>rpm qa grep tftp #>yum install tftp*
TFTP TFTP 환경설정 Host의 /home 밑에 tftpboot라는이름의디렉토리를만듬 만일이디렉터리를변경하고싶다면위에서환경설정한 tftp 파일에있는 server_args 의디렉터리를변경 전송될파일의위치디렉토리
TFTP 리눅스부팅시자동활성방법 #>/etc/init.d/xinetd restart #> chkconfig tftp on
TFTP 실습 #cd /home/tftpboot #touch test.tftp #cd / # ln s /home/tftpboot /tftpboot #chmod -R 755 /home/tftpboot #tftp xxx.xxx.xxx.xxx >get test.tftp >quit #ls
TFTP (VMWare 에서설정 ) VM->Setting
TFTP (HOST PC) #ifconfig eth0 xxx.xxx.xxx.xxx up #minicom
TFTP 실습 Host PC 설정 Mango100 u-boot 설정
NFS(Network File System) NFS 란? SUN 사가개발한 RPC(Remote Procedure Call) 기반시스템 Remote Computer 의파일을마치자신의컴퓨터에있는것처럼이용 Server/Client 기반응용프로그램 FS 이존재하지않는 Client 시스템에서원격의 Host 시스템에서설정된일부디렉터리를이용 임베디드시스템개발시많이이용됨 NFS Server /root /bin /bin /lib /lib /etc /sbin /net /kernel /arch /mm /driver /exam Host File System NFS Client /root /bin /lib /sbin /mm /driver /exam
NFS NFS 구성도 user process local file access NFS client NFS server local file access kernel client kernel TCP/UDP IP TCP/UDP IP UDP port 2049 server kernel local disk local disk
NFS 장점 개발호스트에서작업한것을 NFS 시스템을이용하여 Target Board 의리눅스상에서 mount 시켜사용하면 download 할필요가없음. 개발호스트상의파일이 Target Board 의리눅스파일시스템위에서접근이가능하고실행이가능. 램디스크상에서올리기에너무큰파일도 NFS 상에서는호스트의기억용량에의존하기때문에쉽게처리가능. 단점 특수파일은 NFS 에연결된디렉토리에만들수없음. 예 : 장치파일 읽고쓰는속도가빠른파일로는사용이곤란. 예 : 멀티미디어파일
TFTP/NFS 를이용한부팅시나리오 Target RAM RAM Host 1.TFTP request NAND 부트로더 4. 커널분기 5. 분기및커널압축해제 Linux 커널 2.TFTP reply ( 압축커널만 ) 3. 압축커널다운로드 압축커널이미지 6. NFS Root FS 마운트 Host Hard Disk (File System)
NFS 서버설정 ># rpm qa grep nfs > # yum install nfs-* /etc/exports 파일의내용에추가할사항 /home/nfs <tab> 보드 IP[ 또는 *](rw,no_root_squash) 예 ) /home/nfs *(rw, no_root_squash, no_all_squash) 또는 /home/nfs 203.247.100.101(rw, no_root_squash, no_all_squash) no_root_squash : 원격루트사용자가공유파일시스템에서모든파일을변경 no_all_squash : uid,gid root 권한으로연결 rw: read/write 가능하도록권한부여
NFS 설정 ( 예 ) NFS 서버측설정 NFS 디렉토리생성및권한설정 #>mkdir /home/ 계정 /nfsroot #>chmod 777 nfsroot #>chgrp nobody nfsroot NFS 환경설정 #>vi /etc/exports /home/ 계정 /nfsroot #> NFS 디렉토리, 타겟보드 IP *(rw,no_root_squash,no_all_squash) 문장사이사이에띄어쓰기는없어야한다
NFS 서버설정 (2) /usr/sbin/ntsysv 여러항목리스트중에서 nfs 를찾아서선택 (* 표시 ) NFS 서비스 start 시킴 Service nfs start 혹은 /etc/init.d/nfs restart 위와같이나오면 NFS 설정은완료되었음
NFS/TFTP 실습 http://crztech.iptime.org:8080 에서 Download Host PC #>cd /home/ 계정 /nfsroot #>mv Target Board(u-boot 실행후 ) éclair_rfs /home/ 계정 /nfsroot #>chown R root.root /home/ 계정 /nfsroot #>chmod R 777 /home/ 계정 /nfsroot # setenv bootargs "root=/dev/nfs rw nfsroot=192.168.0.10:/home/icanjji/nfsroot/rootfs ip=192.168.0.20:192.168.0.10:192.168.0.1:255.255.255.0 :::off init=/init console=ttysac1,115200 mem=256m";tftpboot 21000000 zimage;bootm 21000000
VNC 서버설정 (Tip) #rpm qa grep vnc-server # yum install vnc* #vi /etc/sysconfig/vncservers #vncserver :1 패스워드입력 #service vncserver restart # vi /usr/bin/vncserver #chkconfig vncserver on
VNC Client 설정 http://www.tightvnc.com/download.php