도와주세요!!
글 수 15,339
2007.08.03 13:04:59 (*.82.68.226)
6727
안녕하세요..
>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는 수정하시면
안됩니다.
그럼 수고하세요
>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는 수정하시면
안됩니다.
그럼 수고하세요