백곡시스템

우분투 크로스컴파일 개발 환경 구축

출처: http://rkfka4370.tistory.com/8?category=609124

 

본 포스트에서는 지난번 포스트에서 구축한 크로스컴파일 환경을 우분투에서 구축하는 방법에 대해 포스팅합니다.

1. 우분투 14.04 설치

멀티부팅을 하지 않고 VMware를 통해서 우분투 크로스컴파일 환경을 구축하고 크로스컴파일 된 파일을 WinSCP를 사용하여 라즈베리파이로 옮기려고 합니다.

따라서 VMware에서 다음과 같이 우분투 14.04를 설치합니다. 제가 사용한 VMware 버전은 10.0.3버전입니다.

Custom 모드를 선택하여 사용자 설정에 맞게 구축합니다.

그 다음 VMware 버전을 선택하는데 그냥 기본 선택을 바꾸지 않고 Next를 누릅니다.

설치할 이미지 파일이 있는 경로를 선택해주고 Next를 누릅니다.

OS 이름과 사용자 이름 및 패스워드를 작성 후 Next를 누릅니다. 이 때 사용자 이름은 무조건 소문자여야 합니다.

설치될 가상 머신의 이름과 경로를 지정합니다.

프로세서 수를 설정합니다.

메모리를 설정합니다. 정해진 물리적인 메모리 양(현재 PC의 메모리)이 있기 때문에 적절히 선택해줍니다.

기본적으로 NAT 형식을 사용하므로 그냥 Next를 누릅니다.

Recommended 되어있는 항목을 두고 Next를 선택합니다.

Recommended 되어있는 항목을 두고 Next를 선택합니다.

Create a new virtual disk를 선택하고 Next를 눌러줍니다.

가상머신에서 사용할 디스크 용량을 설정하고 Next를 눌러줍니다.

생성될 vmdk 파일의 이름을 지정한 후 Next를 눌러줍니다.

설정한 것을 다시 재 확인 후 다른 설정이 필요하면 Customize Hardware를 눌러 설정하고 그렇지 않으면 Finish를 눌러 설치를 시작합니다.

우분투가 설치 완료된 이후 터미널에서 다음 명령어를 입력하여 업그레이드 해줍니다.

$ sudo apt-get update

$ sudo apt-get upgrade

2. ARM Toolchain 설치

ARM 크로스컴파일을 위한 Toolchain을 설치하기 위해 우분투 터미널을 열어 다음 명령어를 입력해 컴파일러를 설치합니다.

설치 시 cmake도 같이 설치해 추후 cmake를 통한 makefile 생성에 사용합니다.

$ sudo apt-get install cmake
$ sudo apt-get install emdebian-archive-keyring
$ sudo apt-get install libc6-armel-cross libc6-dev-armel-cross
$ sudo apt-get install binutils-arm-linux-gnueabi
$ sudo apt-get install gcc-arm-linux-gnueabi
$ sudo apt-get install g++-arm-linux-gnueabi
$ sudo apt-get install u-boot-tools
$ sudo apt-get install libncurses5-dev

3. ARM Cross-Compile 및 라즈베리파이 상에서 실행

ARM 크로스컴파일을 위해 VMware 상의 우분투에서 다음과 같은 소스코드 파일을 만듭니다.

#include <stdio.h>
vodi main()
{
printf(“hello!!”);

}

해당 파일을 hello.c로 저장한 후 아래와 같이 크로스컴파일 명령어를 통해 컴파일합니다.

$ arm-linux-gnueabi-gcc -o hello hello.c

컴파일 이후 다음 명령어를 통해 file이 ARM 기반으로 잘 생성되었는지 확인한다.

$ file hello

아래 그림을 보면, ARM 기반으로 잘 생성된 것을 확인할 수 있다.

마지막으로 실행파일을 라즈베리파이로 옮겨 실행하고 올바른 출력을 확인한다.

 

출처: http://rkfka4370.tistory.com/8?category=609124 [보안 개발자 블로그]

댓글 남기기

Close Menu