Target System을 개발하기 위해 Host System에 환경을 구축하자.

Slides:



Advertisements
Similar presentations
7 장. 원격지에서 리눅스서버를 관리하자. 텔넷서버를 설치 / 운영한다. SSH 서버를 운영한다. VNC 서버를 설치 / 운영한다.
Advertisements

HTTPS Packet Capture Tutorial
임베디드 시스템 개발 환경 구축 Lecture #4.
컴퓨터와 인터넷.

정보 보안 개론과 실습 네트워크 해킹과 보안 3부 해킹 전 정보 획득 Chapter 10. 목록화.
기초C언어 제1주 실습 강의 소개, C언어 개요, Cygwin/Eclipse 사용 컴퓨터시뮬레이션학과 2016년 봄학기
임베디드 시스템 개발 환경 (1) Lecture #3.
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
김태원 심재일 김상래 강신택. 김태원 심재일 김상래 강신택 인터넷 통신망의 정보를 제공하는 서비스 인터넷의 자원 및 정보는 NIC가 관리 IP주소 또는 도메인으로 정보 검색 이용자 및 통신망 관한 정보를 제공.
Consumer PC & AIO PC DMI Refresh 방법 설명 (UEFI DMI Ver)
Cross Compiler를이용한 커널 컴파일 및 포팅
Cross Compiler를이용한 커널 컴파일 및 포팅 1
PXA270 개발환경 설정 Ubuntu 실습용.
Tool Chain, JTAG, Bootp, TFTP 의 설치
Target System을 개발하기 위해 Host System에 환경을 구축하자.
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
Minicom,tftp,nfs설정,vnc설정
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
Vsftpd 를 이용한 FTP service 와 samba 서버 구축
Development Environment of Embedded System : part 1
임베디드 리눅스 설치 및 동작 Lecture #5.
Target System을 개발하기 위해 Host System에 환경을 구축하자.
임베디드 시스템 개론 크로스 플랫폼 설치 2일차 강의 자료 Embedded System Lab.
Homework #6 (1/3) 다음을 수행한 후, 화면(혹은 파일)을 출력하여 제출한다.
한국골프대학 종합정보시스템 Windows Vista 사용자를 위한 Component 설치안내서
한국골프대학 종합정보시스템 Windows 7 사용자를 위한 Component 설치안내서
8장. 원격지 시스템 관리하기.
Root Filesystem Porting
Root Filesystem Porting
부트로더와 Self Programming
소프트웨어 분석과 설계 Struts2 & JBOSS 설치하기
Cross Compiler 설치.
DK-128 실습 EEPROM 제어 아이티즌 기술연구소
Host PC & Target Board 환경설정 Embedded Linux Image 올리기
뇌를 자극하는 Windows Server 장. 장애 조치 클러스터.
Host 환경 설정.
3장. CentOS 리눅스 설치.
Cross Compiler를이용한 커널 컴파일 및 포팅
시스템 인터페이스 Lab3 Unix 사용법 실습.
㈜시스원이 제공하는 시스템 관리 통합 솔루션 SysmanagerOne Agent설치 안내서
설치 환경 □ 운영체제 버전 : CentOS Linux 7.2 □ 리눅스 커널 버전 :
Windows에서 Virtual Box를 이용한 Ubuntu 설치
임베디드 시스템 개론 임베디드 타겟 보드 포팅 및 H/W 제어 3일차 강의 자료 Embedded System Lab.
뇌를 자극하는 Windows Server 장. 원격 접속 서버.
Day-27(Tue_10.16) 파일 서비스 설정 AD 가 설치된 환경에서 DHCP 설치 할 경우 권한 자격을 주어야함.
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
리눅스 커널 프로그래밍 환경 구축 IT EXPERT 리눅스 커널 프로그래밍 Author : Byungki Kim
1. 스크립트 작성 마법사 2. NSIS 스크립트 컴파일
PMIS 서버 설정 환경설정 작성자 : 배경환.
Linux/UNIX Programming
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
Kernel, Ramdisk, JFFS2 Porting
STS 에서 웹 서버 설치 방법.
OpenCV 설정 2.21 만든이 딩딩.
수동 설치시는 설치 방법 1. 두번에 설치 CD 속에 fscommand 폴더 밑에 Osstem 이라는 폴더를
Linux 9.X 기초에서 활용까지 Chapter 06 VI 편집기.
 파일 아카이브와 압축 명령 익히기.
Homework #5 (1/3) 다음을 수행한 후, 결과 파일들을 출력하여 제출한다.
Tensorboard in Windows
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
시스템 인터페이스 Lab1 X-window 및 명령어 사용.
Homework #3 (1/3) 다음을 수행한 후, 결과 파일들을 출력하여 제출한다.
슬라이드 쇼의 설정 슬라이드 쇼의 실행 파일과 폴더의 관리 글꼴을 포함해서 저장 웹 페이지로 게시 압축 파일
임베디드 시스템 개론 3주차.
TrustNet 전자 협조전 사용설명서 목 차 작성,수정,삭제 결재함 처리현황 발송대장,접수대장
임베디드 시스템 개발 환경 구축 Lecture #4.
숙제 작성 및 제출 과정 김진하 2008/03/14.
Docker Study 6~7.
1. SNMP Setting IP 설정 NetAgent Mini 카드에 제공된 CD의 Netility 프로그램을 설치하여 프로그램을 실행시킨다. Netility 프로그램을 실행하면 네트워크에 있는 SNMP 카드를 찾게 됩니다. “Configure”를 선택하면 IP 설정.
Presentation transcript:

Target System을 개발하기 위해 Host System에 환경을 구축하자.

7. Host와 Target간의 통신 목 차 Minicom TFTP NFS www.huins.com

Target System을 개발하기 위해 Host System에 환경을 구축하자. Minicom Target System을 개발하기 위해 Host System에 환경을 구축하자.

8. Host와 Target간의 통신 Minicom - 구성도 Minicom을 이용하여 serial 통신으로 hello라는 파일 전송 Minicom - 구성도 www.huins.com

7. Host와 Target간의 통신 설치 준비 Host와 Target을 minicom으로 연결하기 위해 아래와 같은 환경 필요 Serial Cross Cable(9 pins) 1EA Linux가 설치되어 있는 PC(Host) PXA255-pro 실습보드(Target) Cross cable의 한쪽은 Host의 COM1에 연결하고고 다른 한쪽은 Target의 COM1 연결한다. Minicom 역할 Target에 대한 가상 터미널 Hyperterminal과 동일한 기능 Linux상의 text 기반 가상 터미널 Target 임베디드 보드에 대한 명령과 작동결과를 모니터링 www.huins.com

7. Host와 Target간의 통신 Minicom – 실행(1) 만들어진 hello object 파일을 target에 download하기 위해 minicom이라는 emulator를 이용 Minicom은 RS232C 통신을 이용 Minicom을 실행하기 전 통신 포트 설정을 해야 함. 컴퓨터에 미니컴 패키지가 설치되어 있는지 확인하자. 대부부의 배포판에는 기본적으로 포함이 되어있지만, 시스템에 없을 수 있다. 만약 없다면 소스를 구해 설치해야한다. -rpm source 구하기 site : http://www.rpmfind.net/linux/RPM 에서 minicom을 검색하여 최신 rpm버젼을 받아 설치하면 된다. - rpm –ivh <minicom rpm source> www.huins.com

7. Host와 Target간의 통신 Minicom – 실행(2) Serial port setup으로 커서를 옮긴 후 enter를 입력 www.huins.com

7. Host와 Target간의 통신 Minicom – 실행(3) COM1은 ttyS0, COM2는 ttyS1로 Linux에서는 표시함. A를 눌려서 Serial jack이 연결된 포트를 설정. Host와 Target의 Baud rate는 115200 Hardware Flow Control은 NO로 설정 www.huins.com

7. Host와 Target간의 통신 Minicom – 실행(4) 설정을 default로 저장하고 나옴. www.huins.com

7. Host와 Target간의 통신 Minicom – 실행(5) 설정을 마친 후 target 보드의 전원을 on 시키면 아래와 같은 화면을 보게 됨. Boot loader loading Kernel loading ramdisk loading 위의 화면은 boot loader가 올라가고 커널이 SDRAM에 풀리고 root file system이 적재되는 것을 보여줌. Blob(boot loader)는 0x00000000에 적재 되어 있음 Kernel image는 0x00080000에 적재 되어 있음 Ramdisk는 0x00080000에 적재 되어 있음. zImage는 piggy.o와 head_armv.S로 이루어져 있음. Piggy.o는 vmlinux를 압축해놓은 파일이고 Head_armv.S는 압축을 푸는 코드이다. Kernel uncompressing www.huins.com

7. Host와 Target간의 통신 Minicom – 실행(6) Root를 입력 후 login한다. www.huins.com 위의 화면은 boot loader가 올라가고 커널이 SDRAM에 풀리고 root file system이 적재되는 것을 보여줌. www.huins.com

7. Host와 Target간의 통신 Minicom – 실행(7) - tool chain 설치에서 만들었던 hello라는 object 파일을 host에서 target으로 download하려고 한다. - CTRL과 A를 동시에 누른 후 Z키를 입력하면 아래와 같은 화면이 나옴. 파일을 host로부터 target으로 전송하기 위해 S를 입력. www.huins.com

7. Host와 Target간의 통신 Minicom – 실행(8) S를 입력 후 Zmodem을 선택하면 아래와 같은 화면이 나옴. 스페이스키를 눌려 디렉토리 이동 www.huins.com

7. Host와 Target간의 통신 Minicom – 실행(9) Tool chain 설치 시에 만들었던 hello 파일을 선택한 뒤에 enter를 치면 파일이 host로부터 target으로 download됨 www.huins.com

7. Host와 Target간의 통신 Minicom – 실행(10) 파일 전송이 성공하면 위와 같은 화면 나옴. www.huins.com

7. Host와 Target간의 통신 Minicom – 실행(11) ls 명령을 이용하여 hello 파일이 전송되었는지 확인 www.huins.com

7. Host와 Target간의 통신 Minicom – 실행(12) Hello 파일을 실행 www.huins.com Host에서 실행이 안되었던 hello 파일이 target에서는 실행됨. www.huins.com

TFTP

7. Host와 Target간의 통신 TFTP? Linux용 TFTP 프로그램 TCP 를 사용하여 신뢰성있는 file 전송을 제공하는 ftp와 달리 UDP를 사용하여 file을 전송하는 protocol이다. Data 의 전송 중에 오류가 날 확률이 극히 적은 근거리에서 빠르게 file을 전송받고자 할 경우에 사용한다. Embedded system 개발중 개발한 kernel image나 ramdisk를 boot loader를 통해 target board로 전송하기 위해 많이 사용한다. Linux용 TFTP 프로그램 www.rpmfind.net 에서 tftp로 검색하면 해당 rpm을 받을 수 있다. 또는 www.huins.com  고객 지원  download  임베디드 시스템 게시판에서 받을 수도 있다. www.huins.com

7. Host와 Target간의 통신 설치 확인 설치 TFTP rpm을 설치하기 전에 host에 이미 설치가 되어있나 확인한다. 설치가 되어 있으면 설치과정 생략. % rpm –qa | grep tftp 설치 Host에 설치가 되어있지 않으면 다음과 같이 설치한다. % rpm –ivh tftp-0.32-4.i386.rpm tftp-server-0.32-4.i386.rpm www.huins.com

7. Host와 Target간의 통신 TFTP Server 구동 TFTP Server는 xinetd daemon에서 관리한다. TFTP Server를 구동시키기 위해 /etc/xinet.d/tftp 파일을 다음과 같이 설정한다. service tftp { disable = no socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /tftpboot per_source = 11 cps = 100 2 flags = IPv4 } www.huins.com

7. Host와 Target간의 통신 TFTP Server 구동 (cont’) 파일을 전송할 때 사용하는 디렉토리를 /tftpboot 로 만든다. % mkdir /tftpboot TFTP 설정 파일을 편집한 후에는 xinet daemon에 적용 시키기 위해 xinet daemon을 재시작 해주어야 한다. % /etc/init.d/xinetd restart TFTP가 현재 제대로 동작하고 있는가 확인한다. % netstat –a | grep tftp tftp가 포함된 행이 보인다면 제대로 동작하고 있는 것이다. netstat 명령은 현재 시스템의 socket 상태를 보여 주는 것이다. local system의 어느 포트가 외부의 어느 포트와 연결 되어 있는지, queue의 상태는 어떠한지 등의 정보를 보여준다. 출력되는 정보는 순서대로 다음과 같다. Proto: 사용하는 protocol Recv-Q: receive queue에 대기중인 packet 수 Send-Q: send queue에 대기중인 packet 수 Local Address: service 가 사용하는 local system의 IP address와 port number Foreign Address: local system에 접속된 외부 system의 IP address와 port number State: 현재 접속 상태 grep 은 표준 입력으로 부터 지정된 문자열을 포함하고 있는 line만을 출력하는 filter 프로그램이다. www.huins.com

7. Host와 Target간의 통신 TFTP 사용 예 전송할 파일을 /tftpboot에 복사한다. 예> cd의 ramdisk.gz 복사 % cp /mnt/cdrom/ramdisk.gz /tftpboot/ Minicom을 실행시킨다. % minicom Target board에 전원을 인가 한후 다음 메시지가 나오기 전에 임의이 key를 누르면 “boot>” prompt 가 뜨는 것을 확인할 수 있다. www.huins.com

7. Host와 Target간의 통신 TFTP 사용 예 (cont’) tftp “전송할 파일명” ramdisk 를 실행하여 파일을 전송한다. ttftp 명령에 대해서는 5.3.3 장 ramdisk 설치에서 설명한다. 일단 server에서 설정한 디렉토리(여기서는 /tftpboot 로 설정하였었다.) 에서 두번째 인자에 해당하는 이름을 가진 파일을 sdram의 ramdisk 용으로 정해진 영역에 copy한다는 정도만 알아 두면 될 것이다. www.huins.com

NFS 구축

7. Host와 Target간의 통신 NFS – 구성(1) Ethernet을 사용한 NFS 통신 www.huins.com Host에서 실행이 안되었던 hello 파일이 target에서는 실행됨. Ethernet을 사용한 NFS 통신 www.huins.com

7. Host와 Target간의 통신 192. 168. 1. * NFS – 구성(2) Host 192.168.1.100 192.168.1.101 Host에서 실행이 안되었던 hello 파일이 target에서는 실행됨. www.huins.com

7. Host와 Target간의 통신 D. 설치 준비 NFS 설정을 위해 아래와 같은 환경이 필요하다. Lan Direct Cable Linux가 설치되어 있는 PC(Host) PXA255-pro 실습 보드(Target) Lan cable은 direct나 cross cable 모두 사용가능하나 이 자료에서는 direct cable을 사용한다. www.huins.com

7. Host와 Target간의 통신 NFS– nfs용 공유 disk 만들기 (1) NFS(network file system)란 client가 server상에 있는 file혹은 file system에 대하여 여과 없는 접근 권한을 가지게 됨. NFS 방식으로 nfs_success라는 파일을 host에서 target으로 download 해보자. - Ftp와 다른점 : ftp는 파일에 대한 복사 권한만을 가진다. - NFS는 기능상 삼바와 비슷하지만 가장 큰 차이는 커널에서 NFS를 지원한다는 점이다. - Portmap설치 역시 NFS를 사용하기 위해서는 필수적인 프로그램이다. Portmap은 포트 요청이 있을 때 새로운 포트를 할당해 주고 맵핑해주는 역할을 하게 된다. 즉 NFS에 접근한 시스템이 있으면 NFS 포트에서는 인증을 하고 파일을 주고 받는 포트는 새로운 포트 할당하게 되는 것이다. - 웹서버나 ftp 서버와는 다르게 데몬 프로세스가 특정 네트워크 포트를 점유하면서 동작하여 접속을 대기하고 있는 것이 아니라 portmapper라는 프로그램을 이용해서 네트워크 포트를 할당 받는다. Portmapper는 111번 포트를 점유하면서 데몬 상태로 대기하고 있다가 NFS 서비스를 요구하는 접속이 들어오면 nfsd에게 포트번호를 바꾸어 접속을 연결시켜준다. www.huins.com

7. Host와 Target간의 통신 NFS– nfs용 공유 disk 만들기 (1) Host와 target의 통신을 위해서 host의 방화벽 설정을 변경한다. www.huins.com

7. Host와 Target간의 통신 NFS– nfs용 공유 disk 만들기 (1) Host와 target의 통신을 위해서 host의 방화벽 설정을 변경한다. www.huins.com

7. Host와 Target간의 통신 NFS – nfs용 공유 disk 만들기(2) 일반적으로 lan card가 1개이므로 광대역 IP를 같이 쓰면서 target과 사설 ip로 통신하기 위해서 IP aliasing이 필요하다. IP aliasing 설정 파일을 아래와 같이 copy한다 IP aliasing - 하나의 네트워크 장치에 여러 개의 IP주소 설정이 가능하며 이것을 IP aliasing이라고 한다. IP aliasihg을 할경우 해당 장치파일은 eth0에 또 하나의 IP를 설정할 경우 eth0:0로 생성된다. 그러한 이유로 IP aliasing 관련 설정 파일 /etc/sysconfig/network-scripts/ifconfig-eth0:0를 생성한 후 네트워크 초기화 스크립트(/etc/init.d/network)를 재구동하면 된다. www.huins.com

7. Host와 Target간의 통신 NFS – nfs용 공유 disk 만들기(3) 아래 그림과 같이 copy한 파일을 편집한다. www.huins.com

7. Host와 Target간의 통신 NFS – nfs용 공유 disk 만들기(3) 먼저 Host에서 nfs 디렉토리를 만든다. www.huins.com

7. Host와 Target간의 통신 NFS– nfs용 공유 disk 만들기 (4) 만들어진 directory를 export시켜야 한다. Client로부터의 mount 요청을 처리하는 데몬으로 /etc/exports의 내용을 읽어 어떤 호스트에게 마운트를 허가하고 어떤 제한을 주어야 하는지를 판단하게 된다. Exportfs파일은 마운트될 디렉토리와 허가 대상, 제한을 명시하며 또한 NFS client는 서버의 exports파일을 사용하기 이전에 명확하게 허가된 파일 또는 디렉토리를 마운트해야한다. 서버에서는 마운트를 허가해주기 이전에 인증을 거쳐 올바른 사용자인지를 판단하며 이를 masic cookie라고 한다. 리눅스는 BSD와 비슷한 동작을 취하게 되는데, 그 동작은 mountd라는 client의 요청이 있으면, /etc/exports의 내용을 읽어 호스트에 접속을 허가하고 디렉토리에 제한을 두게 된다. www.huins.com

Root는 아니지만 root의 권한을 가진다는 의미 7. Host와 Target간의 통신 NFS – nfs용 공유 disk 만들기(5) 만들어진 디렉토리를 export 할 수 있도록 vi를 이용하여 /etc/exports 파일을 다음과 같이 편집한다. Root는 아니지만 root의 권한을 가진다는 의미 Read/ write 192.168.1.0 대신 *로 하면 모든 ip에서 접속 가능 ro : 읽기 전용 rw: 읽기/쓰기 가능 root=n : n으로 표시된 계정의 uid를 루트권한으로 사용 가능케 한다. insecure : 이 머신에서 인증받지 않은 access를 허용 root_squash : client uid 0에서의 request를 서버의 uid(-2)로 매핑함으로써 지정된 호스트의 슈퍼유저의 access를 거부하는 보안기능 no_root_squash : uid 0 로부터의 request를 매핑하지 않는다. Default 옵션 www.huins.com

7. Host와 Target간의 통신 NFS – nfs용 공유 disk 만들기(6) nfs 데몬을 재 시작한다. 또는 다음과 같은 명령을 사용해도 된다. % service nfs restart www.huins.com

7. Host와 Target간의 통신 NFS – nfs용 공유 disk 만들기(7) NFS로 mount시킬 target의 디렉토리를 만든다. NFS server와 target의 디렉토리를 nfs 파일 시스템 형으로 mount 시킨다. Host IP address www.huins.com

7. Host와 Target간의 통신 NFS – nfs용 공유 disk 만들기(8) cat /etc/mtab 을 이용하여 mount 성공여부 체크 Mount 전 mtab는 mount table을 의미 www.huins.com

7. Host와 Target간의 통신 NFS – nfs용 공유 disk 만들기(9) Mount 후 www.huins.com

7. Host와 Target간의 통신 NFS – nfs용 공유 disk 만들기(10) 설치가 끝나면 Host의 /home/share와 Target의 /mnt/nfs는 같은 디렉토리의 의미를 가지게 됨. Host의 /home/share 에 nfs_success라는 파일을 만들면 Target의 /mnt/nfs 에서 이 file을 ls 명령어로 확인할 수 있음. Host에서 nfs_success라는 파일을 제작 www.huins.com

7. Host와 Target간의 통신 NFS – nfs용 공유 disk 만들기(11) Target에서 nfs_success라는 파일을 확인 www.huins.com

7. Host와 Target간의 통신 NFS – nfs용 공유 disk 만들기(12) umount 명령을 이용하여 mount 해제 www.huins.com