OpenWrt 및 교재 Q&A

DIR825 교차 컴파일 패스지정에대해 질문드려요 .

페이지 정보

작성자 이재성 작성일18-01-23 18:39 조회19,802회 댓글10건

본문

일단 DIR825는 MIPS계열이어서 http://forum.falinux.com/zbxe/?mid=manual_x_compiler 사이트에있는



mispel-toolchain-3.4.4.tar.gz를 다운받아서 깔았습니다. 그다음에 교재에나오는 Hello.c makefile




만든후에 scp로 OPENWRT에 전송후에 ./Hello_Target를 했더니 실행이 안되는데..




경로가 잘못된건지 아니면 제가 받은 툴체인이 잘못된건지 모르겠네요.. 어려운답변이지만





CC=/usr/bin/mipsel-linux-gcc




INCLUDE=/usr/mipsel-linux/include

       

LIBRARY=/usr/mipsel-linux/lib

       

       

ALL: Host Target

           

Host:

        gcc -o Hello_Host HELLO.c




Target:

        $(CC) -o Hello_Target HELLO.c -I$(INCLUDE) -L$(LIBRARY)

   




~                                                                   




CC INCLUDE LIBRAY 경로가 잘못된걸까요?

댓글목록

이재성님의 댓글

이재성 작성일

아 추가질문으로 호스트 PC에만 툴체인을 설치하는건가요?
아니면 공유기에도 툴체인을 설치해야하는건가요?

천경호님의 댓글

천경호 작성일

툴체인은 컴파일을 실행할 곳 (여기선 PC겠군요)에만 있으면 됩니다

경로도 다시한번 잘 설정해 주시구요

그래도 되지 않는다면

OpenWrt.org에서 해당 벡파이어 소스를 받으시면
툴체인이 포함되어 있습니다
그걸 이용하시는게 더 좋을 것 같네요

이재성님의 댓글

이재성 작성일

추가질문 backfire_10.03_source.tar.bz2  를 다운받아서

tar xvfj  backfire_10.03_source.tar.bz2  로 압축은 풀었는데 make 에서 계속 에러가 뜨네요 ..

Build dependency: Please do not compile as root.

Prerequisite check failed. Use FORCE=1 to override.
make[1]: *** [tmp/.prereq-build] Error 1
make: *** [world] Error 2

여기서 몇시간째 구글링만해도 나오질않네요..  HOST PC는 CENT 5.5 커널2.6.18 인데 문제가 무엇일까요?

천경호님의 댓글

천경호 작성일

제일 처음 Make를 실행하면 컴파일 환경을 채크하는 화면이 나올 것입니다.

거기에 보면 마지막부분쯤에 root에 대한 이야기가 나온는데

이것은 root권한으로 컴파일하지 말라는 뜻입니다.

책에도 root권한이 아닌 kamikaze라는 이름의 일반권한으로 실험을 진행하는 부분이 있을 것입니다.

여기서 일반 권한이란 처음 터미널을 열어서 아직 su를 실행하기전이 일반권한입니다.

만약 su를 이용해서 root권한을획득하셨다면

exit를 입력해서 일반권한 상태에서

압축해제부분부터 다시 하셔야 합니다.

답변이 도움이 되었으면 좋겠내요.

천경호님의 댓글

천경호 작성일

아 그리고 부록에 보면 소스컴파일에 대한 이야기가 있습니다
 
컴파일 전에 이 부분을 천천히 읽어보고 진행하시면 좋을 것 같습니다.

이재성님의 댓글

이재성 작성일

아 부록에 있었군요 찾아보겠습니다

이재성님의 댓글

이재성 작성일

교재 487페이지 부록9를 참조하고있는데 make prereq는 에러없이 넘어고.
configuration에서 Target system = Adeross 7xx로 바꿔주고  Target profile = no default (no wifi)

거기에 SDK 추가 image추가 해줘서 config 끝내고 make했는데 한 2시간 지난후에 마지막에 에러가 떳습니다.

그래서 그런지 stag-dir 폴더는 생겻는데 안에 gcc안에 bin 폴더에 파일이 하나도없는데 make실패해서

그런거겟죠? 그리고 뒤에 make install 이 책에는 안써있는데 make에서 다 끝나는 건가요?

이재성님의 댓글

이재성 작성일

make시 에러는
make -r world: build failed. Please re-run make with V=99 to see what's going on
make: *** [world] Error 1

이렇게 나와서 다시 make V=99로 해봤는데 역시 bin폴더에 내용이 없습니다.

천경호님의 댓글

천경호 작성일

Target system은 ar71xx로 해주셔야 합니다.
dir 825는 ar71xx 코어를 사용하기 때문입니다.
아마 Target system을 ar71xx로 설정해주면 Target profile에 dir 825가 있을 것입니다.

그리고 이 홈페이지에 교제자료실에 보면
2번 게시물이 실습준비에 대한 문서입니다.

이 아까 말하신 그 부록과 이 문서를 참고해서 해주시기 바랍니다.
그리고
제가 진행해본 바로는 Fedora 14버전에서는 실습준비문서대로 진행하더라도
문제가 발생합니다.
이 문서는 13버전을 기준으로 한 것이기에 14버전에 대한 설명은 드리기 어려울 것 같습니다.

이재성님의 댓글

이재성 작성일

답변 감사드립니다 ^^ 문제해결되고 지금 크로스컴파일 성공해서 유무선공유기에서 실행파일실행되네요 ^^