여러가지 이유가 존재하겠지만 제 경우에는

sudo apt-get install tftpd tftp xinetd

하고서

설정파일을 만들어 주고
service tftp {

    socket_type = dgram
    protocol = udp
    wait = yes
    user = root
    server = /usr/sbin/in.tftpd
    server_args = -s /tftpboot
    disable = no
    per_source = 11
    cps = 100 2
    flags = IPv4
   
}

/etc/init.d/xinetd restart 해 주고 나니

Error code 2: Access violation

(울컥)

찾은 해결책은 아래와 같습니다. (/etc/inetd.conf를 수정합니다)
저 파일의 내용물-_-중 tftp관련 줄을 #(주석처리) 해 주고

tftp dgram udp wait root /usr/sbin/in.tftpd in.tftpd -s /tftpboot(혹은 원하는 디렉토리..)
라고 하고 다시 xinetd restart.

그러면 됩니다. get, put 모두모두. 놀라운 삽질력으로 해결 <-




일단 사진을 보시라. 저기에서 주목해야 할 부분은 r1 = 0x000002d5이 부분으로, 무려 MACHINE ID라는 부분이다. http://www.arm.linux.org.uk/developer/machines/ 이 사이트에 들어가면 MACH ID를 검색할 수 있는데 ARM 계열의 보드에 포팅을 실시할 때 필수적으로 맞춰져야 하는 부분으로 보인다. 이유는 바로 저처럼 에러 나면서 굳기 때문이랄까?

사실 이건 단순한 이유고, 각각 보드 혹은 프로세서마다 아키텍처가 달라서 설정을 해 줘야 하는 부분들이 각기 다르게 되기 때문인 것으로 보인다. 근데 문제는 저 725(=0x000002d5)에 해당하는 MACH ID가 보드를 만든 제조자와는 전혀 상관없는 사람들이라는거? 그마저도 가장 흡사할거라고 기대했던 보드(Lubbock)와도 전혀 다르다.

이게 무슨 조화냐! 오늘도 이렇게 삽질을 한다. 처음에 조금 호환이 되는 보드였으면 좋았을걸~ 이라는 생각을 하면서, 돈 생기면 보드 하나 사는걸 목표로 해야겠다. 관심이 있으면, 그걸 하는게(열심히 파는게=digging, 삽질) 진리//

관련 파일은 (Kernel Source)/arch/arm/tools/mach-types

Reference : http://tmi.cau.ac.kr/wiki/index.php/%EB%A6%AC%EB%88%85%EC%8A%A4_%EC%BB%A4%EB%84%90_%ED%8F%AC%ED%8C%85_-_PXA270


안드로이드 툴 체인을 찾아 헤매는 분들이 계실지도 몰라서 포스팅 합니다. 사실 저도 엄청나게 헤매서요:-P

이런저런 툴 체인을 받기 보다는 여기(http://source.android.com/download)서 repo sync까지 마친 이후에-소스 다운에 대한 포스팅은 조금 나중에..- 찾아 보면 안드로이드 전체 소스 중에 그 툴체인이 있는데요.


PATH는 (소스 디렉토리)/prebuilt/ 안에 플랫 폼 별로 있는 것 같던데 ARM은 저기 쓰인대로, ./prebuilt/linux-x86/toolchain/arm-(버전..) 이렇게 있습니다. 4.3.1과 4.2.1인가 두 버전이 있구요.

앞으로는 헤매는 분들이 조금 줄어들길 바랍니다. 커널 포팅 빨리 해야하는데 처음하는거라 전혀 속도가 안 붙네요. 두 달 째(흑흑)..

+ Recent posts