임베디드시스템에 NFS client 올리는 방법은요?
글쓴이: hyunia / 작성시간: 목, 2003/09/04 - 11:52오전
ARM core 를 사용하고 있는 Target board 에 NFS 를 올리려고 합니다.
uClinux 2.4 를 사용하고 있구요.
kernel 컴파일할 때 menuconfig 에서
File System => Nework File Systems => NFS file system support
만 built in 해주면 되는 것인가요?
아니면 NFS 를 위한 별도의 Package 가 필요한 것인가요?
답변 부탁드리겠습니다....
Forums:
잘은 모르겠지만...
커널의 NFS항목은 단순히 커널에서 NFS 자체를 지원하겠느냐의 여부 일 것입니다. (그리고 그 중에서도 NFS version3 지원 여부도 개별적인 항목으로 되어 있지요)
즉 NFS에 대한 지원일 뿐이지 그것 자체로는 mount를 할 수 없는 겁니다
무슨 명령이 있어야 마운트를 하겠지요? ^^;;
NFS 유틸을 설치 하셔야 할 겁니다.
nfs 패키지가...
아마 기본으로 깔리게 되어 있을껄요?? 지우지 않는이상....
아마도 따로 설치하실 필요는 없을텐데.....
항상 깨어있어라 ~~~
임베디드 장비에서 NFS를 이용할 때는 두가지겠죠. / 자체를 모
임베디드 장비에서 NFS를 이용할 때는 두가지겠죠.
/ 자체를 모두 mount 하는 경우와 일부 디렉토리만 하는 경우요, 후자의 경우는 지원여부 할것 없이 관련 유틸리티만 크로스 컴파일해서 올리면 그만이구요, / 전부를 nfs를 이용해서 마운트 하는 경우는 대부분 bootloader 레벨에서 지원을 합니다.
대부분은 부트로더상에서 모든 세팅을 마치고 인자를 넘겨 주는 식으로 플로우가 행해 지더군요.
참고하시기 바랍니다.
Fever Pitch!
RE;
mount 유틸리티중, nfs 마운트를 지원하는 녀석과...
(몇몇 임베디드 프로젝트에 의해 만들어진 mount 는 nfs 를 지원하지 않는 경우가 있습니다..)
그리고, portmapper 가 필요합니다.
/ 를 nfs 로 마운트 하는 경우에는, 커널에서 portmapper 의 역할을 해 주는듯 보이더군요.
그러나, 그 외의 경우에는 portmap 이 없다면 nfs 마운트시 엄청난 딜레이를 겪거나, 마운트가 안 되는 일이 발생합니다.
/ 를 nfs 마운트 하는 경우에서도, / 이외의 다른 nfs 마운트를 시도할때에는 portmap 이 있어야 합니다.
답변 감사합니다...
NFS ROOT 를 사용할 것은 아니고
Target board 에서 HOST 에 있는 디렉토리를 마운트해서
HOST의 파일을 가져와서 이것저것 동작을 하려고 합니다.
그렇다면 커널에서 NFS 를 지원하는 옵션을 택하지 않아도
NFS 유틸리티 소스만 크로스컴파일해서 사용하면 된다는 말씀인가요?
(portmapper 가 있을 때 )
임베디드시스템에서 따로 NFS 유틸리티를 깔지 않아도
커널에서 지원을 하면 NFS ROOT 를 사용할 수도 있고
다른 디렉토리도 마운트 할 수도 있는 것처럼 되어 있는 설명도 있습니다.
아니면 커널에서 NFS도 지원하는 상태에서 유틸리티 패키지도 깔아야 하는 것인가요?
uClinux 커널의 소스를 보면
nfs_mount() 등등의 함수들이 있는데 그렇다면 별도의 유틸리티 없어도 되는 것은 아닌가 생각도 듭니다. NFS유틸리티 소스를 아직 보지 못했습니다만 지금 구해서 한번 보고 비교를 해보려고 합니다.
위의 경우에 대해서 의견 부탁드리겠습니다...
감사합니다..
RE^2;
커널옵션중 NFS Filesystem 에 대한 옵션은 디폴트 입니다 -_-;
이걸 빼 버리면 다른게 다 있더라도 nfs 를 쓸수 없죠.
portmapper 는 양쪽, 즉 Server-Client 둘다 동작중이여야 하는걸로 기억하며,
mount 에 대한 이야기를 하는것은,
mount -t nfs xxx.xxx.xxx.xxx:/path/ /mp
라는 명령으로 마운트시, -t nfs 이 부분을 아예 인식하질 못하거나,
인식하더라도, nfs 관련 동작은 할수 없는 mount 프로그램들이 존재하기
때문입니다.
nfs 마운트시에 RPC 를 사용하기 때문에, RPC 를 C Library 에서 지원해야 할겁니다.
(굳이 C Library 가 아니더라도 상관 없으나, 주로 RPC 관련 Library 는 C Library 에 포함되어 배포되는 경우가 많죠.)
예..감사합니다.
답변 감사합니다. 많은 도움이 되었습니다.
제가 사용하고 있는 uClinux 에는 원래 NFS 가 지원되도록 되어 있는데
보드업체에서 제공을 할 때 NFS관련 파일들을 삭제하고 커널을 주었습니다.
그래서 지금 다시 그 부분들을 살리고 있고
위에서 말씀하신대로 portmapper 확인하고 마운트를 해보도록 하겠습니다.
감사합니다....
댓글 달기