Chapter. 3 Embedded System I - Hanbat

42
Embedded System I Chapter. 3 Professor. Jaeheung, Lee Development Environment Settings

Transcript of Chapter. 3 Embedded System I - Hanbat

Page 1: Chapter. 3 Embedded System I - Hanbat

Embedded System I Chapter. 3

Professor.

Jaeheung, Lee

Development Environment Settings

Page 2: Chapter. 3 Embedded System I - Hanbat

A Research Team Of ASIC & CAD Lab.

Embedded System I

1

목차

개발환경 JTAG Bootp TFTP NFS

Page 3: Chapter. 3 Embedded System I - Hanbat

A Research Team Of ASIC & CAD Lab.

Embedded System I

2

개발환경

기본 구성

Host System Target System

JTAG

RS-232

Ethernet

Page 4: Chapter. 3 Embedded System I - Hanbat

A Research Team Of ASIC & CAD Lab.

Embedded System I

3

개발환경

개발환경 구성요소 Host System

Target System을 개발하기 위한 환경을 제공하는 시스템 교차개발환경제공

Cross Compiler, Monitor, Debugger 등을 제공 ToolChain을 이용한 코드 생성 JTAG(Jflash-Xscale)을 운용하기 위한 환경제공 Boot Loader용 터미널 환경제공

Target System or Device 개발하고자하는 Embedded System Board

Page 5: Chapter. 3 Embedded System I - Hanbat

A Research Team Of ASIC & CAD Lab.

Embedded System I

4

개발환경

개발환경 구성요소 – cont’d Backend

Host System과 Target System 간 통신을 위한 매개체 Serial Port (RS-232) : Minicom(터미널)을 통해 Target System과 통신 Parallel Port (JTAG) : JTAG을 통해 Flash Memory에 Fusing 할 수 있는 통신 채널 제공 Ethernet : zImage, root file system image 등을 Host System에서 Target System으로 다운로딩 할 수 있는 통신 채널 제공

Target Terminal Target System의 상황을 Host Terminal에 표시해주는 프로그램 Bootload의 상황을 모니터링 Linux가 적재된 후에 Target System의 Console로 사용

Page 6: Chapter. 3 Embedded System I - Hanbat

A Research Team Of ASIC & CAD Lab.

Embedded System I

5

개발환경

Target System – HBE-EMPOS II H/W 사양

Page 7: Chapter. 3 Embedded System I - Hanbat

A Research Team Of ASIC & CAD Lab.

Embedded System I

6

개발환경

Target System – HBE-EMPOS II S/W 사양

Page 8: Chapter. 3 Embedded System I - Hanbat

A Research Team Of ASIC & CAD Lab.

Embedded System I

7

Target System 구성품 확인

개발환경

Power Cable

LAN Cable JTAG Cable

Serial Cable

Page 9: Chapter. 3 Embedded System I - Hanbat

A Research Team Of ASIC & CAD Lab.

Embedded System I

8

Target System 을 위한 Terminal 환경 Windows – Hyper Terminal 사용 Linux - Minicom

개발환경

Host System Target System

JTAG

RS-232

Ethernet

Host용 Terminal Host용

Terminal

Minicom (Target용) Minicom

(Target용)

Page 10: Chapter. 3 Embedded System I - Hanbat

A Research Team Of ASIC & CAD Lab.

Embedded System I

9

Minicom 실행 및 설정 Host System에서 Minicom 실행 Serial Port Setup 항목 선택

개발환경

# minicom -s # minicom -s

Page 11: Chapter. 3 Embedded System I - Hanbat

A Research Team Of ASIC & CAD Lab.

Embedded System I

10

Minicom 실행 및 설정 – cont’d A : COM 포트 설정

/dev/ttyS0 : COM1, /dev/ttyS1 : COM2 시스템에 따라 달라질 수 있음

E : Baudrate, Data, Bits 설정 Baudrate : 115200, Data : 8, Parity : NO, Stop : 1

설정이 끝나면 “Enter”키를 누르고 상위 메뉴로 빠져나옴

개발환경

Page 12: Chapter. 3 Embedded System I - Hanbat

A Research Team Of ASIC & CAD Lab.

Embedded System I

11

Minicom 실행 및 설정 – cont’d 모든 설정이 완료되었으면 “Save setup as dfl”을 선택 저장이 완료되면 “Exit” 항목을 선택하여 종료 이 후 Minicom 프로그램이 실행되는 Host System은 Target System의 Console 역할을 하게 됨

개발환경

Page 13: Chapter. 3 Embedded System I - Hanbat

A Research Team Of ASIC & CAD Lab.

Embedded System I

12

JTAG이란? Joint Test Access Group JTAG – 프로세서의 상태와 관계없이 디바이스의 모든 외부 핀을 구동시키거나 값을 읽어들일 수 있는 기능을 제공

디바이스 내에서 모든 외부와의 연결점을 가로챔 각각의 셀은 시리얼 Shift-Register(Boundary-Scan Register)를 형성하기 위해 서로 연결 전체적인 인터페이스는 5개의 핀(TDI, TMS, TCK, nTRST, TDO)에 의해 제어 회로의 배선과 소자의 전기적 연결상태 TEST 디바이스 간의 연결상태 TEST S/W 입장에서 Flash Memory Fusing 용도로 많이 사용

JTAG

Page 14: Chapter. 3 Embedded System I - Hanbat

A Research Team Of ASIC & CAD Lab.

Embedded System I

13

Boundary-Scan Test Interface JTAG Diagram

JTAG

회로의 배선과 소자의 전기적 연결상태 Test

Registers

CELL

Flash Memory Fusing TAP

Digital Chip 디바이스 간의 연결상태

Test

Page 15: Chapter. 3 Embedded System I - Hanbat

A Research Team Of ASIC & CAD Lab.

Embedded System I

14

Boundary-Scan Test Interface JTAG Diagram

JTAG

Address Line : Data Line : Control Line : Status register

CPU

Decoder : Base address~+2안의 주소에만 반응 Register : data, control, status의 세가지가 있음 Control register

Data register

D0 D1

D3 D4 D5 D6 D7

D2

C1

C2

C3

C0

S3

S6

S7

S5

S4

BASE_ADDRESS : Data Register

Address Decoder

inb(BASE_ADDRESS+1) outb(BASE_ADDRESS+N, DATA) n:0,2

BASE_ADDRESS + 2 : Control Register

BASE_ADDRESS + 1 : Status Register

BASE_ADDRESS 278 378 3bc

Parallel Port logic

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

Page 16: Chapter. 3 Embedded System I - Hanbat

A Research Team Of ASIC & CAD Lab.

Embedded System I

15

Jflash – JTAG Flash Programming Utility PATH 설정

JTAG

# mkdir /usr/local/jtag # mount /mnt/cdrom # cd /mnt/cdrom/tools/jtag # cp Jflash-Xscale.tar.gz /usr/local/jtag # cd /usr/local/jtag # tar xvfz Jflash-Xscale.tar.gz … # cd Jflash-Xscale # make …

# mkdir /usr/local/jtag # mount /mnt/cdrom # cd /mnt/cdrom/tools/jtag # cp Jflash-Xscale.tar.gz /usr/local/jtag # cd /usr/local/jtag # tar xvfz Jflash-Xscale.tar.gz … # cd Jflash-Xscale # make …

# vi ~/.bash_profile … export PATH=$PATH:/usr/loca/jtag/Jflash-Xscale:$PATH # source ~/.bash_profile

# vi ~/.bash_profile … export PATH=$PATH:/usr/loca/jtag/Jflash-Xscale:$PATH # source ~/.bash_profile

Page 17: Chapter. 3 Embedded System I - Hanbat

A Research Team Of ASIC & CAD Lab.

Embedded System I

16

Bootp TCP/IP상에서 자동부팅을 위한 최초의 표준 디스크 장치가 없는 클라이언트를 위한 프로토콜 UDP와 TFTP 프로토콜 사용 Host와 Target 보드 간 접속을 연결하고 각종 정보들을 가져오기 위한 준비 절차라고 할 수 있음 나중에 TFTP를 통해 데이터 전송이 이루어짐

Bootp

RS-232

Ethernet

Host System Target System

Bootp 설정시 필요한 데몬 : inetd, bootpd Bootp 설정시 필요한 데몬 : inetd, bootpd

필요한 Configuration File : inetd.conf, bootptab, hosts, services

필요한 Configuration File : inetd.conf, bootptab, hosts, services

Page 18: Chapter. 3 Embedded System I - Hanbat

A Research Team Of ASIC & CAD Lab.

Embedded System I

17

Bootp protocol Bootp Request : Target board가 host에게 IP를 요구

IP요청 packet을 생성하여 호스트에 전송

Bootp Reply : Host는 Target 보드의 IP 주소를 전달 IP 요청 Packet을 inetd가 수신 inetd는 bootpd에게 IP요청 Packet을 넘김 IP 응답 Packet을 bootpd는 bootptab을 참조하여 IP응답 Packet을 전달

Bootp

Bootp Reply

Bootp Request

Host System Target System

Page 19: Chapter. 3 Embedded System I - Hanbat

A Research Team Of ASIC & CAD Lab.

Embedded System I

18

Bootp Packet Format

bootp 메시지는 고정길이 필드(총 300바이트) 사용 : Request와 Reply가 같은 양식을 사용 OP-code : message type 1=Request , 2=Reply Hardware type : 1= 10 Base Ethernet

Bootp

Client IP address

Server Hostname (64bytes)

Your IP address Server IP address

Gageway IP address

Client hardware address (16bytes)

Boot filename (128bytes) Vendor-specific information (64bytes)

Unused Number of seconds Transaction ID

Hop count Hardware address Length(6=ethernet)

Hardware type 1 = Ethernet

Opcode 1=Request,2=Rep

0 7 8 15 16 23 24 31bit

300 bytes

Page 20: Chapter. 3 Embedded System I - Hanbat

A Research Team Of ASIC & CAD Lab.

Embedded System I

19

Bootp Packet Format – cont’d Hardware address Length : 6 = 10 Base Ethernet HOP count : 클라이언트에서 0으로 Setting, Gateway에 의해 임의로 사용 Transaction ID : 32bit 정수(Random), client가 set, server가 return client는 Request와 Reply가 같은지를 확인 Number of Second : Client가 bootstrap을 시도한 시간을 set

Secondary Server는 이 시간을 참고하여 일정시간이 경과할 때까지 응답하지 않음

Client IP Address : Client가 자기자신의 IP를 알면 넣고 모르면 0.0.0.0 Your IP Address : Client IP주소가 0이면 server가 IP주소를 채움 Server IP Address : server에 의해 채워짐 Gateway IP Address : Proxy server를 사용할 경우 Proxy server의 라우터 IP Address를 보충

Bootp

Page 21: Chapter. 3 Embedded System I - Hanbat

A Research Team Of ASIC & CAD Lab.

Embedded System I

20

Bootp Packet Format – cont’d Client Hardware Address : Client는 반드시 Setting, Ethernet Mac Address와 동일 Server Host Name : Client는 Option으로 원하는 서버 지정 가능 만일 0이면 임의서버, 0이 아니면 특정 서버 지정 Boot Filename : client는 일반적인 Boot Filename 기술 서버가 응답 시(Reply) Boot file의 실제 경로 제공 Vendor-specific information : bootp의 확장과 추가적인 Parameter에 사용

Bootp

Bootp Reply Port 67, IP 0.0.0.0

Bootp Request Port 68, IP 211.104.101.228

Host System Target System

Page 22: Chapter. 3 Embedded System I - Hanbat

A Research Team Of ASIC & CAD Lab.

Embedded System I

21

Bootpd & inetd 모든 TCP/IP 통신의 시작은 inetd 슈퍼서버를 통해 관리 Bootp Request : Target System이 Host System에게 IP주소를 요구 Bootp Reply : Host system은 Target System의 IP주소를 전달

Bootp

inetd : TCP/IP를 통하여 통신을 하고자 할 때 이를 관리하는 데몬. TCP/IP와 관련된 프로토콜은 항상 inetd로 부터 각각의 해당되는 TCP/IP 관련 데몬을 호출한다. inetd : TCP/IP를 통하여 통신을 하고자 할 때 이를 관리하는 데몬. TCP/IP와 관련된 프로토콜은 항상 inetd로 부터 각각의 해당되는 TCP/IP 관련 데몬을 호출한다.

inetd inetd

bootpd bootpd

tftpd tftpd

telnetd telnetd

ftpd ftpd

Page 23: Chapter. 3 Embedded System I - Hanbat

A Research Team Of ASIC & CAD Lab.

Embedded System I

22

Bootp와 관련된 데몬 Bootpd

bootpd 프로세스는 자신의 구성 파일(bootptab)을 읽어서 해당 MAC address를 가진 항목이 있는가를 확인하고, 항목이 존재한다면 응답 패킷을 구성 이때 몇 가지의 정보가 Host System으로부터 Target System으로 전송되며 그 목록은 다음과 같음

sm : Local LAN의 서브넷 마스크 hd : host directory ht : LAN의 하드웨어 형태 ha : Target System의 이더넷 MAC Address

Bootp

Page 24: Chapter. 3 Embedded System I - Hanbat

A Research Team Of ASIC & CAD Lab.

Embedded System I

23

Bootp와 관련된 데몬 Inetd

inetd 프로세스는 Target System에서 보낸 패킷을 검출하여 bootpd 데몬을 요청하면 해당 bootpd 데몬이 호출되도록 해주는 역할 inetd.conf에 설정된 데몬들(tftp, bootp, telnet, ftp 등)을 관리 대부분의 네트워크 서버들은 Request를 기다리며 대기하고 있는 서브 프로세스들을 가지고 있지 않음 그래서 이러한 작업은 inetd이 대신 수행하는데, inetd은 inetd.conf에 설정된 모든 네트워크 포트들을 듣고(listen)있다가 Request가 오면 해당하는 서버를 가동하는 역할을 수행

Bootp

Page 25: Chapter. 3 Embedded System I - Hanbat

A Research Team Of ASIC & CAD Lab.

Embedded System I

24

Bootp 설치 확인 및 미설치시 설치 리눅스 패키지 명령어

rpm –qa (데몬 이름) : 설치확인 rpm –ivh (파일 이름) : 설치과정을 확인하면서 설치 rpm –e (파일 이름) : 기존의 설치된 데몬 삭제

주의 : 서로 의존성이 있는 데몬들은 최하위 의존 데몬부터 삭제

Bootp

# rpm –qa | grep bootp # mount /mnt/cdrom # cd /mnt/cdrom/tools/bootp # rpm –ivh bootp-2.4.3-7.i386.rpm

# rpm –qa | grep bootp # mount /mnt/cdrom # cd /mnt/cdrom/tools/bootp # rpm –ivh bootp-2.4.3-7.i386.rpm

Page 26: Chapter. 3 Embedded System I - Hanbat

A Research Team Of ASIC & CAD Lab.

Embedded System I

25

Bootp 환경설정 파일 inetd.conf

Hosts

hosts 파일은 사용하고 있는 Target System의 IP주소를 포함 host의 이름은 bootptab에 있는 host 이름과 같음

Bootp

# cd /etc # vi inetd.conf tftp dgram udp wait /usr/sbin/in.tftpd bootps dgram udp wait /usr/sbin/tcpd

# cd /etc # vi inetd.conf tftp dgram udp wait /usr/sbin/in.tftpd bootps dgram udp wait /usr/sbin/tcpd

# cd /etc # vi hosts 127.0.0.1 localhost.localdomain localhost 211.104.101.227 linux 192.168.0.7 EMPOS

# cd /etc # vi hosts 127.0.0.1 localhost.localdomain localhost 211.104.101.227 linux 192.168.0.7 EMPOS

Page 27: Chapter. 3 Embedded System I - Hanbat

A Research Team Of ASIC & CAD Lab.

Embedded System I

26

Bootp 환경설정 파일 services

services 파일은 사용하고 있는 네트워크 서버들의 데이터 방식과 포트를 설정

Bootp

# cd /etc # vi services bootps 67/tcp # bootp server tftp 69/udp # tftp server

# cd /etc # vi services bootps 67/tcp # bootp server tftp 69/udp # tftp server

Page 28: Chapter. 3 Embedded System I - Hanbat

A Research Team Of ASIC & CAD Lab.

Embedded System I

27

Bootp 환경설정 파일 bootptab

hd : Host Directory sm : 서브넷 마스크 ha : Ethernet의 하드웨어 주소를 포함 0x000BA8030158 : Target System Ethernet MAC Address

Bootp

# cd /etc # vi bootptab … .default:/ hd=/tftpboot:bf=null:\ ip=192.168.0.7:\ sm=255.255.255.0 Empos:ht=1:ha=0x000BA8030158:tc=.default

# cd /etc # vi bootptab … .default:/ hd=/tftpboot:bf=null:\ ip=192.168.0.7:\ sm=255.255.255.0 Empos:ht=1:ha=0x000BA8030158:tc=.default

Page 29: Chapter. 3 Embedded System I - Hanbat

A Research Team Of ASIC & CAD Lab.

Embedded System I

28

Bootp 환경설정 파일 bootp

Bootp

# cd /etc/xinet.d # vi bootp service bootps { disable = no flags = REUSE NAMEINARGS socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/bootpd server_args = -s } # service xinetd restart

# cd /etc/xinet.d # vi bootp service bootps { disable = no flags = REUSE NAMEINARGS socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/bootpd server_args = -s } # service xinetd restart

Page 30: Chapter. 3 Embedded System I - Hanbat

A Research Team Of ASIC & CAD Lab.

Embedded System I

29

Server로 부터 필요한 File을 읽어와 자신의 Memory에 Load 시킬 때 필요한 Protocol

Flash Memory에 맞도록 설계된 단순한 Protocol Disk 없는 System의 가동 프로세서에 이용 UDP를 이용하여 Client와 Server 사이의 통신 Booting에 필요한 간단한 Program과 BOOTP, RARP, TFTP만 탑재한 시스템에서 많이 이용되며 펌웨어 자동 업그레이드에 이용 가능

장점 시스템이 단순하고 간단함 어떤 형태의 전달 서비스상에서도 동작이 가능 시스템 가격이 저렴

단점 정보보호 기능이 없음 Data에 대한 보장성이 없음

TFTP

Page 31: Chapter. 3 Embedded System I - Hanbat

A Research Team Of ASIC & CAD Lab.

Embedded System I

30

TFTP 패킷형식

512 bytes의 Data Block을 전송 각 Block은 아주 간단한 4bytes 헤더와 연결 Block의 전송 번호는 항상 1부터 시작 ASCII 또는 Binary 전송을 지원 Remote File을 Read하거나 Write할 때 사용 No Checksum 높은 처리율보다는 간단함을 강조한 프로토콜

TFTP

TFTP Message UDP Header IP Header

IP Datagram

UDP Datagram

20bytes 8bytes =<512bytes

Page 32: Chapter. 3 Embedded System I - Hanbat

A Research Team Of ASIC & CAD Lab.

Embedded System I

31

TFTP 패킷형식

TFTP

TCP

IP

FTP TFTP TFTP

Error Message

mode

전송 Data

OP Code(1, 2) File name

Error 번호 Error (5)

ACK (4) Block 번호

Data (3) Block 번호

0 2 2

0 0

TFTP message TFTP message IP Header UDP Header 20 8

UDP datagram IP datagram

Message Format

OP Code

RRQ WRQ Data ACK Error

OP Code

RRQ WRQ Data ACK Error

Value 1 2 3 4 5

Value 1 2 3 4 5

2 n 1 1 n

2 2 0 - 512

2 2 n 1

UDP UDP

Page 33: Chapter. 3 Embedded System I - Hanbat

A Research Team Of ASIC & CAD Lab.

Embedded System I

32

TFTP 설치 확인 및 미설치시 설치

TFTP

# rpm –qa | grep tftp … # mount /mnt/cdrom # cd /mnt/cdrom/tools/tftp # rpm –ivh tftp-server-0.29-3.i386.rpm

# rpm –qa | grep tftp … # mount /mnt/cdrom # cd /mnt/cdrom/tools/tftp # rpm –ivh tftp-server-0.29-3.i386.rpm

Page 34: Chapter. 3 Embedded System I - Hanbat

A Research Team Of ASIC & CAD Lab.

Embedded System I

33

TFTP 환경설정

TFTP

# cd /etc/xinet.d # vi tftp service bootps { disable = no socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/bootpd server_args = -s } # service xinetd restart

# cd /etc/xinet.d # vi tftp service bootps { disable = no socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/bootpd server_args = -s } # service xinetd restart

Page 35: Chapter. 3 Embedded System I - Hanbat

A Research Team Of ASIC & CAD Lab.

Embedded System I

34

TFTP를 이용한 Bootloader Downloading TFTP 이용 시 해당 파일을 /tftpboot 디렉토리에 복사 TFTP 명령을 이용하여 Target System에 Bootloader 다운로딩 Bootloader의 flash 명령을 이용하여 메모리에 Write

TFTP

# cd /home/working/empos_boot-20031022/ # cp empos_boot(부트로더 파일) /tftpboot # cd /home/working/empos_boot-20031022/ # cp empos_boot(부트로더 파일) /tftpboot

# tftp empos_boot booter … # flash booter …

# tftp empos_boot booter … # flash booter …

Page 36: Chapter. 3 Embedded System I - Hanbat

A Research Team Of ASIC & CAD Lab.

Embedded System I

35

NFS 란? SUN 사가 개발한 RPC(Remote Procedure Call) 기반 시스템 Remote Computer의 파일을 마치 자신의 컴퓨터에 있는 것처럼 이용 Server/Client 기반 응용 프로그램 File System이 존재하지 않는 Client 시스템에서 원격의 Host 시스템에서 설정된 일부 디렉터리를 이용 임베디드 시스템 개발 시 많이 이용됨

NFS

/root

/bin

/lib

/kernel

/etc

/net

/arch

/bin

/lib

/driver

/sbin

/mm

/exam

Host File System

/root

/bin

/lib

/driver

/sbin

/mm

/exam

NFS Server NFS Client

Page 37: Chapter. 3 Embedded System I - Hanbat

A Research Team Of ASIC & CAD Lab.

Embedded System I

36

NFS 구성도

NFS

local disk local disk

User Process

User Process

local file access

local file access

NFS client NFS

client

TCP/UDP IP

TCP/UDP IP

NFS server NFS

server local

file access local

file access

TCP/UDP IP

TCP/UDP IP

client kernel

UDP port 2049

server kernel

local disk local disk

Kernel

Page 38: Chapter. 3 Embedded System I - Hanbat

A Research Team Of ASIC & CAD Lab.

Embedded System I

37

장점 개발 호스트에서 작업한 것을 NFS 시스템을 이용하여 Target Board의 리눅스 상에서 mount 시켜 사용하면 download 할 필요가 없음 개발 호스트 상의 파일이 Target Board의 리눅스 파일시스템 위에서 접근이 가능하고 실행이 가능 램 디스크 상에서 올리기에 너무 큰 파일도 NFS 상에서는 호스트의 기억 용량에 의존하기 때문에 쉽게 처리 가능

단점 특수 파일은 NFS에 연결된 디렉토리에 만들 수 없음.

예: 장치 파일

읽고 쓰는 속도가 빠른 파일로는 사용이 곤란. 예: 멀티미디어 파일

NFS

Page 39: Chapter. 3 Embedded System I - Hanbat

A Research Team Of ASIC & CAD Lab.

Embedded System I

38

TFTP/NFS를 이용한 부팅 시나리오

NFS

부트 로더 부트 로더 Linux 커널 Linux 커널

6. NFS Root

FS 마운트

6. NFS Root

FS 마운트

Flash memory

RAM RAM

Host

Target

1.TFTP request

2.TFTP reply

(압축커널만)

3.압축커널 다운로드

4.커널분기

5. 분기 및 커널압축

해제

Host Hard Disk (File System)

압축커널 이미지

압축커널 이미지

Page 40: Chapter. 3 Embedded System I - Hanbat

A Research Team Of ASIC & CAD Lab.

Embedded System I

39

NFS 서버 설정 /etc/hosts 파일의 내용에 추가할 사항

타겟 보드에 할당할 “ IP <tab> 이름 “

/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)

/usr/sbin/lokkit security level을 high로 둔 상태에서 Customize를 선택(* 표시) eth0를 선택(* 표시) 후 종료

NFS

Page 41: Chapter. 3 Embedded System I - Hanbat

A Research Team Of ASIC & CAD Lab.

Embedded System I

40

NFS 서버 측 설정 NFS 디렉토리 생성 및 권한 설정 NFS 환경설정

TS_IP : Target System IP 괄호 안 문장들은 띄어쓰기가 없어야함

NFS

# mkdir /home/nfs # chmod 777 nfs # chgrp nobody nfs

# mkdir /home/nfs # chmod 777 nfs # chgrp nobody nfs

# vi /etc/exports /home/nfs TS_IP(rw,no_root_squash,no_all_squash) … # service nfs restart 혹은 /etc/rc.d/init.d/nfs restart

# vi /etc/exports /home/nfs TS_IP(rw,no_root_squash,no_all_squash) … # service nfs restart 혹은 /etc/rc.d/init.d/nfs restart

Page 42: Chapter. 3 Embedded System I - Hanbat

A Research Team Of ASIC & CAD Lab.

Embedded System I

41

NFS 파일 공유 Test Host System Target System

NFS

# cd /home/nfs # vi nfs_testfile.c #include <stdio.h> … # arm-linux-gcc –o nfs_testfile nfs_testfile.c

# cd /home/nfs # vi nfs_testfile.c #include <stdio.h> … # arm-linux-gcc –o nfs_testfile nfs_testfile.c

# mkdir /mnt/nfs # mount –t nfs HOST_IP:/home/nfs /mnt/nfs # cd /mnt/nfs # ls /mnt/nfs # ./nfs_testfile …

# mkdir /mnt/nfs # mount –t nfs HOST_IP:/home/nfs /mnt/nfs # cd /mnt/nfs # ls /mnt/nfs # ./nfs_testfile …