본문 바로가기

PROJECT/ex347_project

Mini2440]target board를 nfs로 부팅시키자~!!

※.NFS란?

우선 nfs가 무엇인지를 알아봅시다!!
NFS은 Network FileSystem 의 약자이다.

명명 그대로 이해하면 nfs에 대한 이해는 끝이다.
네트워크를 사용하는 파일시스템!!!
그렇다!! 파일시스템이라면 당연히 HDD, ROM, Flash Memory 와 같은 저장공간에 있어야 할 것이다.

그러나 그런 녀석을 네트워크를 이용해서 다른 저장장치를 사용한다는 것이다!

개발함에 있어서 nfs를 사용하면 HOST(작업을 하는 컴퓨터)안에 일정 공간을 file system으로 사용한다.
그 이유는 간단하다.

우리는 컴퓨터를 이용해서 Target에 올리기위한 S/W를 만들어서 cross compile과정을 통해 보드(Target)에 올린다.
그런데 하나 하나 만들때마다 올려서 확인을 하자니 여간 귀찮은 작업이 아닐수 없다.

이때 nfs를 이용해서 컴퓨터(HOST)안에서 특정 디렉토리를 target의 file system root로 잡아준다면~!!
HOST에서 작업하고 그 디렉토리 안에 넣어주기만 하면 바로 확인이 가능하다!!

이제 왜 nfs를 사용하는지 알았기 때문에 nfs를 설정해주자~!!

※.Target에 nfs설정해주기.

mini2440 board를 nfs를 설정하기 위해서는 command line을 넣어준다.

그러기 위해서 mini2440보드의 S2 스위치를 NOR로 바꾼뒤에 하이퍼터미널을 켜고서 보드의 전원을 인가해보자.
그러면 다음과 같이 부트로더 메뉴가 나올 것이다.

거기서 우린 "Goto shell of vivi"를 써서 supervivi Shell 로 갈 것이다.

그렇다 우린 Shell 명령어를 이용해서 command line을 넣어줄 것이다.

그 명령은 다음과 같다.

supervivi>param set linux_cmd_line "console=ttySAC0 root=/dev/nfs nfsroot=192.168.1.100:/opt/FriendlyARM/mini2440/rootfs_qtopia_qt4/ ip=192.168.1.50:192.168.1.100:192.168.1.100:255.255.255.0:sbc2440.arm9.net:eth0:off"

위의 명령어를 한줄로 넣어준다~!
그리고 이 설정을 다음 명령어로 저장해준다.

supervivi> param save

이제 Target Board는 준비 완료~!!!


※.Computer NFS설정해주기

nfs 설치는
     Federa : yum install nfs
     Ubuntu : apt_get install nfs-kernel-server nfs-common

그리고 외부에서 접근이 가능하도록 방화벽을 꺼준다.
     iptables -F
     service iptables stop

nfs root는 커널에 넣어준 command line을 참조해서 만들자.
     필자는 다음과 같은 문구로 nfsroot 를 설정해 줬다.

nfsroot=192.168.1.100:/opt/FriendlyARM/mini2440/rootfs_qtopia_qt4/

이 내용은 HOST의 주소는 192.168.1.100 이고 /opt/FriendlyARM/mini2440/rootfs_qtopia_qt4/를 최상위 디렉토리로 잡는 것이다.

그럼으로 nfs root 디렉토리

 # mkdir /opt/FriendlyARM/mini2440/rootfs_qtopia_qt4/ -p
위의 명령으로 디렉토리를 만들어주자.

이렇게 만들어 주기만 한다고 외부에서 이 디렉토리에 접근할 수 있는 것이 아니다.
당연히 공개(export)해줘야 겠지?^^

/ect/exports 파일에 다음과 같은 문구를 만들어 준다!!!

# vim /ect/exports  명령으로 exports 파일을 열고

/opt/FriendlyARM/mini2440/rootfs_qtopia_qt4/ * (rw, sync, no_root_squash)

위의 라인을 추가시켜준다.

그러면 /opt/FriendlyARM/mini2440/rootfs_qtopia_qt4/ 디렉토리를 외부에서 접근 가능토록 해준다.

nfs 설정이 끝났다!!

이제 nfs를 다시시작해주자.

# service nfs restart

타겟 보드와 컴퓨터는 랜선을 이용해서 데이터를 주고 받을 것이다.

서로 크로스 랜케이블로 연결시켜주고 타겟 보드의 전원을 이가 시켜보자~^^

아마 연결이 안될것이다. 이유는 컴퓨터의 네트워크 주소를 바꿔줘야지!!!

# ifconfig

    명령으로 이더넷을 확인하고~ (eth0 을 사용하기로 가정함..)

# ifconfig eth0 192.168.1.100 up 

    명령으로 주소값을 바꾸고 활성화 시켜주자~!!

그럼 이제 연결이 될 것이다^^