안녕하세요..

>ez-x5 로 NFS 파일 시스템으로 부팅하기를 따라 해봤습니다.
>지금 ez-x5 완전 먹통된 상태구요 ㅠㅠ

==>> JTAG로 부트로더를 다시 올려 보시든지 아니면 에프에이리눅스로 A/S 보내 세요...

>우선
>1. "zImage 파일을 불러오는 것은 개발 서버에 디폴트로 "/tftpboot/%s" 로 지정되어 있습니다."
>라는 말에서 아무 설정 없이 개발 컴퓨터에 tftpboot 폴더에 zImage 를 넣으면 된다는 얘기가 맞는지요
>혹시 디폴트 값을 설정하려면 어디서 설정을 해야 하는지요

==>> 개발 리눅스 호스트의 /tftpboot/ 디렉토리에 넣으시면 됩니다.


>2. "7. boot loader file name  [ezboot.x5.esp-cx]"
>부트 로더 파일 네임은 따로 설정하라는 말이 없어서 기존 ezboot.x5 로 그냥 뒀는데
>7번의 역활좀 설명 부탁드립니다. 그냥 둬도 될런지

5번, 6번, 7번의 의미는 tftp를 통하셔 /tftpboot/ 디렉토리에 있는 파일을 가져 오기 위한 파일명을 적어 주는 것입니다.
7번의 경우 ezboot.x5.esp-cx 가 /tftpboot/ 디렉토리 밑에 파일이 존재할 경우 EZBOOT> tfb 하시면 이 파일을 다운로드
하게 됩니다.

예) 부트로더를 다운로드 할 경우
     1. 리눅스 호스트의 /tftpboot/ezboot.xxx 파일이 있을 경우

     2. 부트로드에서 다음과 같이 수정한다.
         EZBOOT> set
               7. boot loader file name  [ezboot.xxx]

     3. 저장하고 나와서 EZBOOT> tfb 명령을 친다.

주의)
     부트로드를 잘못 올렸을 경우 보드가 완전히 먹통될 수 있습니다. 이 경우 JTAG를 통하여 부트로드를 다시 다운로드
     해야합니다. 특별한 경우가 아니라면 부트로드는 다운로드를 하지 않는 것을 권장 합니다.


>3. "EZBOOT> tfk"
>
>이렇게 치면
>  
>"
>   OPTION [timeout 120 tsize 1233272]
>    ALL DATA RESIVE OK [ 1238090 bytes ]
>    Erase : OK
>    Write : OK
>    Verify: OK
>"
>메세지는 뜨지 않고 timeover 에러 메세지만 뜹니다. 원척적으로 아예 zImage 있는곳에 접속을 못한다는 얘기가 되는거
>같은데 맞는지요???

===>> 넵..위와 같은 메세지가 나오지 않으면 잘못된것 입니다. TFTP 설정을 확인 해 보세요.
         TFTP 서버 설정시 방화벽관련 부분은 제거해 주셔야 합니다.
         배포판에 따라 조금씩 다르겠지만 레드헷 또는 페도라 계열이라면 /etc/xinetd.d/tftp를 아래와 같이 수정해 주셔야 합니다.
        
         [tsheaven@arm26 ~]$ cat /etc/xinetd.d/tftp
         # default: off
         # description: The tftp server serves files using the trivial file transfer
         #       protocol.  The tftp protocol is often used to boot diskless
         #       workstations, download configuration files to network-aware printers,
         #       and to start the installation process for some operating systems.
         service tftp
        {
                disable = no
                socket_type             = dgram
                protocol                = udp
                wait                    = yes
                user                    = root
                server                  = /usr/sbin/in.tftpd
       #       server_args             = -s /tftpboot
                server_args             = -T 100000000 -t 100 -s /tftpboot
                per_source              = 11
                cps                             = 100 2
                flags                   = IPv4
        }
          

>4. " mem=64M root=/dev/nfs nfsroot=192.168.10.26:/nfsroot,nolock,rsize=1024,wsize=1024  
>      ip= 192.168.10.202:192.168.10.26:192.168.10.1:255.255.255.0:x5thost:eth0:off
>      console=ttyPXA2,115200 "
>
>혹시 생각해서 개발 서버에 pc를 살펴 보니 dev/nfs 폴더가 없는데

--> 이건 개발 서버 PC의 /dev/nfs 디바이스 장치 파일 명이 아니라 타겟보드의 /dev 디렉토리 밑에 있는
      nfs 장치 파일명을 말하는 것입니다.


>"루트 파일 시스템이 NFS 를 사용할 것임을 알려줍니다. root=/dev/nfs
> NFS 파일 시스템 정보는 다음과 같았습니다. nfsroot=[:][,]"
>이 말뜻을 잘 이해 못하겠습니다. x5 보드 root가 개발서버의 dev/nfs 를 사용한다는 얘기인지
>그렇다면 dev/nfs 는 nfs 서버를 설치 폴더인지 ㅡㅡ dev/nfs가 먼지 모르겠네요
>전 확실히 dev/nfs 폴더가 없습니다.

--> 타겟보드에서 nfs를 통하여 루트파일시스템을 마운트하기 위해서는

      1. 타겟보드의 /dev/nfs 디바이스 장치 파일을 지정해 준다.
          root=/dev/nfs

      2. NFS 파일 시스템 정보를 알려 준다.
          nfsroot=192.168.10.26:/nfsroot,nolock
          이 의미는 타겟보드에서 사용하는 파일 시스템을 리눅스 호스트 pc의 192.168.10.26:/nfsroot 에 있는 파일시스템
          을 사용하다는 의미입니다.
          커널이 부팅이 되고 파일 시스템 마운트할때 일반적으로 램디스크 또는 하드디스크 등을 마운트하는데
          여기서는 네트웍을 통하여 리눅스 호스트 pc의 192.168.10.26:/nfsroot를 파일시스템으로 사옹하겠다는 것입니다.
          
          참고)
              일반적으로 루트파일 시스템을 램을 사용할 경우에는 다음과 같습니다.
              initrd=0xa0800000,5M root=/dev/ram ramdisk=12288
              즉, 루트파일 시스템의 시작 주소가 0xa0800000 이며, 사이즈는 5M, 그리고 디바이스 장치는 /dev/ram 이라는
              의미입니다.

          
>그리고 ip 부분이요 입력을 안하고 빈칸으로 설정 해도되는 옵션이 있길래
>ex)192.168.10.202:192.168.10.26::255.255.255.0:::off  <= 이런식으로 입력 했습니다. 맞는건가요???

     보드 IP : 서버 IP : 게이트웨이 : 서브넷마스크 : 클라이언트 이름(x5xhost) : 이더넷0 사용 : IP 자동 설정은 OFF
     ip=192.168.10.202:192.168.10.26:192.168.10.1:255.255.255.0:x5thost:eth0:off  
     이렇게 설정 하셔야 합니다.

     개발 서버에 pc의 IP즉 호스트 IP는 192.168.10.26 로 되어 있어야 합니다.


>console=ttyPXA2 <== 이건 시리얼 포트를 얘기 하는건가요? 제가 시리얼 포트 com 을 임으로 변경을 했던 기억이 있어서요

   -->> 이것은 타겟보드의 시리얼 포트 설정 입니다. 따라서 이 설정을 바꾸시면 콘솔을 통하여 디버깅 메시지가
           출력되지 않을 수 있습니다.  리눅스 호스트 PC의 시리얼 포트와는 상관 없는 부분입니다.
           리눅스 호스트 PC의 시리얼 포트는 수정하셔도 되지만, 타겟보드에 있는 console=ttyPXA2는 수정하시면
           안됩니다.


그럼 수고하세요