본문 바로가기

Programming/Linux Tip

e2fsprogs arm cross-compile for android

e2fsprogs 의 filefrag Tool 을 arm 에서 사용하기 위해 build 시도.


0. 소스코드 다운로드

 http://sourceforge.net/projects/e2fsprogs/?source=dlp


1. arm build toolchain 경로를 path 에 추가.

이건 .configure 에서 CC 로 지정한 build tool 을 direct 로 호출해 버리기 때문임.

export PATH=/home/onegun/2_hdisk/storage/utils_ubuntu/build_toolchains/MOST-build-toolchain/arm-2009q1/bin/:$PATH



2. ./configure 로 make 파일 생성

./configure --target=arm-linux --host=arm-none-linux-gnueabi CC=arm-none-linux-gnueabi-gcc --prefix=/home/onegun/2_hdisk/Project/e2fsprogs/bin/ --disable-defrag LDFLAGS=--static


- 설명
--host=arm-none-linux-gnueabi : build tool pre-fix
CC=arm-none-linux-gnueabi-gcc : 사용한 gcc 이름

prefix=/home/onegun/2_hdisk/Project/e2fsprogs/bin/ : make install 시 실행파일이 설치될 곳

LDFLAGS=--static : 실행파일을 library 와 합쳐라. 이렇게 하지 않으면 생성되는 각 shared lib 들의 path 를 실행파일과 맞춰주어야 함.

--disable-defrag : 아마도 defrag tool build 를 disable 하는것 같음. 하지 않으면 관련 tool build source code 에서 아래와 같은 error 발생함.


더 새부적인 내용은

./configure --help

참고


#error sync_file_range not available!

#error fallocate64 not available!


3. make


4. build 가 완료되면 원하는 실행파일을 arm target 으로 이동