.
제 pc에 ARM용 크로스 컴파일 환경을 만들려고 하는데요,
책에서도(building Embedded linux systems) 언급된 부분이지만, binutils,gcc, c library들의 버전 때문에 골치 입니다. ㅠ
일단은 위에 적어논 책을 보며 따라해보고 있는데요....
제 pc(호스트)는 우분투 10.04에 커널은 2.6.32-71 이 설치돼있습니다.
커널버전을 2.6.28로 골라서 크로스 툴체인을 설치하려고 하는데, c library설치하는게 고비더군요..
나름 적당하다고 생각되는 버전을 골랐는데, 번번히 실패ㅠㅠㅠ c library에서 꼭 에러가 발생하네요 ㅠ 여러 버전 조합도 시도해 봤으나 결과는 역시나 ㅠ
툴체인 버전 조합에 관한 정보를 얻을 수 있는 방법 좀 없을까요??
#CLiOS
덕분에 유용한 사이트를 ^^
컴파일 문제는 GCC버전에 의한 경우가 많구요.
크로스 툴체인 빌드시에 커널 버전은 거의 의미 없습니다.
헤더만 따가서 빌드 하니까요.
기억이 가물가물하긴 한데 멘토 그래픽스에서 크로스 툴체인 빌드해서 배포했던 걸로..
것도 한 번 알아보시면 도움이 되지 않을까 싶네요.
아래는 제가 sparc leon 크로스 툴 체인 빌드 할 때 만든 문서의 일부인데 도움이 되었으면 합니다.
(암계열에서는 libsanitizer를 disable할 필요가 없습니다.)
- build & install binutils
$ cd [BINUTILS SOURCE DIRECTORY]
$ mkdir build
$ cd build
$ ../configure --target=sparc-leon3-linux --prefix=$HOME/opt
$ make all
$ make install
- build & install gcc compiler / gcc libgcc
$ cd [GCC SOURCE DIRECTORY]
$ mkdir build
$ cd build
$ ../configure --target=sparc-leon3-linux --prefix=$HOME/opt --enable-languages=c,c++ --disable-shared --disable-threads
$ make all-gcc
$ make install-gcc
$ make all-target-libgcc
$ make install-target-libgcc
- export linux headers
$ cd [LINUX SOURCE DIRECTORY]
$ make headers_install ARCH=sparc CROSS_COMPILE=sparc-leon3-linux- INSTALL_HDR_PATH=$HOME/opt/sparc-leon3-linux
$ exit
- build & install glibc
$ cd [GLIBC SOURCE DIRECTORY]
$ mkdir build
$ cd build
$ ../configure --target=sparc-leon3-linux --host=sparc-leon3-linux --prefix=$HOME/opt/sparc-leon3-linux --with-headers=$HOME/opt/sparc-leon3-linux/include libc_cv_ssp=no
$ make all
$ make install
- build & install gcc
$ cd [GCC SOURCE DIRECTORY]
$ mkdir build
$ cd build
$ ../configure --target=sparc-leon3-linux --prefix=$HOME/opt --enable-languages=c,c++ --disable-libsanitizer
$ make all
$ make install
- build & install glibc
$ cd [GLIBC SOURCE DIRECTORY]
$ mkdir build
$ cd build
$ ../configure --target=sparc-leon3-linux --host=sparc-leon3-linux --prefix=$HOME/opt/sparc-leon3-linux
$ make all
[some errors might occur while compliling]
[To solve the problem you have to type and execute last command with compiler option -lssp]
$ make install
저도 이렇게 해서 사용 중입니다.