2013
임베디드월드

글: 서주영 | seojuyung2@gmail.com / 2013-05-02





타지난 호에는 리눅스 기반 범용 오픈소스 플랫폼인 타이젠(Tizen)[1]에 대해서 알아보았다. 이번 호에는 타이젠 2.1 배포 소식을 전하고 타이젠을 이용한 개발 도구인 SDK(Software Development Kit)에 대해서 알아보겠다.


[연재 차례]

1. 타이젠, 리눅스 기반 오픈소스 플랫폼
2. 타이젠 SDK(1)
3. 타이젠 SDK(2)
4. 타이젠 플랫폼의 이해
5. 타이젠 웹 애플리케이션 개발(1)
6. 타이젠 웹 애플리케이션 개발(2)
7. 타이젠 네이티브 애플리케이션 개발(1)
8. 타이젠 네이티브 애플리케이션 개발(2)
9. 타이젠 개발자 서밋 코리아 2013
10. 타이젠 플랫폼 개발



타이젠 시리즈 (2)

타이젠 SDK(Software Development Kit) ①



타이젠 2.1 배포 소식

타이젠2.1
[그림 1] 타이젠 2.1 Nectarine SDK 및 소스코드 배포 공지(출처 : 공식 웹사이트)

지난 호에 타이젠은 활발하게 개발이 진행되고 있으며 이 연재는 빠르게 발전하고 있는 타이젠의 최신 정보를 반영하겠다고 약속했다. 필자의 기대에 부응하기라도 하듯 2013년 5월 18일 타이젠 2.1 Nectarine이 배포[2]되었다.
타이젠 2.1은 마이너 버전 업그레이드임에도 불구하고 새로운 코드명 Nectarine(승도복숭아)을 사용하였는데 이는 2.1 버전이 타이젠에 있어서 중요한 버전임을 시사한다. 참고로 타이젠 1.0은 코드명으로 Larkspur(참제비고깔)를, 타이젠 2.0은 코드명으로 Magnolia(목련)를 사용하였다.
타이젠 2.1은 기존 버전 대비 여러 기능이 추가되었으며 성능이 향상되었다. 모든 변경 내역은 릴리스 노트[3]에 기술되어 있는데, 상당히 많은 내용이 변경된 것을 확인할 수 있다.
이 중 몇 가지를 간추려 보았다.

<API 추가/삭제/변경>
웹 프레임워크 및 네이티브 프레임워크 모두 신규 API(Application Programming Interface)가 추가되거나, 기존에 존재하던 API 중 일부가 삭제 혹은 변경되었다. 이는 더 나은 API를 유지하기 위한 작업이 꾸준히 이루어지고 있음을 의미한다. 혹시 타이젠 2.0 기반으로 애플리케이션을 작성하였다면 변경된 API 목록[4]을 눈여겨 볼 필요가 있다.

<소스코드 Git tizen_2.1 브랜치 사용>
타이젠은 오픈소스이기 때문에 소스코드가 모두 공개되어 있다. 소스코드는 공식 사이트[5]에서 git[6]을 이용하여 다운로드 받을 수 있다. Git은 분산 버전 관리 시스템(Distributed Ver sion Control System) 중 하나로 리눅스 커널을 포함하여 다수의 오픈소스 프로젝트에서 소스코드 관리를 목적으로 사용되고 있는 도구다. 타이젠도 소스코드 관리를 위해 git을 사용하는데 각 배포 버전마다 고유의 브랜치(branch)를 사용한다. 타이젠 2.1 버전의 경우 tizen_2.1 브랜치를 사용하고 있으며 git으로 소스코드를 다운로드 받은 후 tizen_2.1 브랜치를 checkout해야 한다. 소스코드를 다운로드 받는 자세한 설명은 추후 연재에서 소개할 예정이다.

타이젠 버전 별 Git 브랜치
[표 1] 타이젠 버전 별 Git 브랜치


<Smack>
리눅스 커널 단에서 인가되지 않은 데이터 및 프로세스의 접근을 제어하는 Smack(Simplified Mandatory Access Control Kernel)을 적용하여 보안을 더욱 강화하였다.

타이젠 SDK 다운로드 웹사이트
[그림 3] 타이젠 SDK 다운로드 웹사이트(출처 : 타이젠 공식 웹사이트)


<systemd>
기존의 System V init 데몬을 대신하여 시스템 및 서비스 관리를 위해 systemd가 도입되었다. systemd는 시스템 부팅 시에 의존성을 고려하여 서비스를 병렬로 시작할 수 있도록 해준다.

<기타>
이외에도 웹 프레임워크, 네이티브 프레임워크, 코어 시스템, SDK 등 모든 영역에 걸쳐 많은 부분이 변경되었으니 관심이 있다면 릴리스 노트[3]를 참고 바란다.

타이젠 SDK란

타이젠은 애플리케이션 및 플랫폼 개발을 위해 SDK(소프트웨어개발키트, Software Devel opment Kit)를 제공한다. 개발자는 SDK를 이용하여 웹 애플리케이션, 네이티브 애플리케이션은 물론 타이젠 플랫폼 자체도 개발할 수 있다. 타이젠 SDK는 표 2와 같이 다양한 구성요소로 이루어져 있으며 이들을 이해하는 것이 타이젠 개발의 첫 걸음을 내딛는 작업이 될 것이다.
앞으로 2회에 걸쳐 각 운영체제 별로 타이젠 SDK를 설치하는 방법을 설명하고 그 구성 요소를 살펴보겠다.

타이젠 SDK 구성요소
[표 2] 타이젠 SDK 구성요소

타이젠 SDK 운영체제
[표 3] 타이젠 SDK 운영체제

표 3과 같이 타이젠 SDK는 리눅스, 윈도, 맥 운영체제에 설치할 수 있으며 운영체제 별로 32비트 및 64비트 시스템을 지원한다. 리눅스의 경우 우분투 배포판 11.10 및 12.04를 공식적으로 지원하며 윈도의 경우 XP, 7을 지원하고 맥의 경우 OS X를 지원한다. 또한 원활한 성능을 위하여 듀얼 코어 2 GHz CPU 이상, 2GB RAM 이상을 탑재한 시스템을 권장한다.
첫 번째 예제로 우분투 12.04(32비트)에 타이젠 SDK를 설치하고 타이젠 IDE 및 에뮬레이터를 실행해보겠다.


필요한 패키지 설치

<기본 패키지 설치>
타이젠 SDK를 설치하기 전에 타이젠 SDK 설치에 필요한 패키지를 설치해야 한다. 커맨드라인에서 아래와 같이 입력하자.

$ sudo apt-get update
$ sudo apt-get install procps gettext lib dbus-1-3 libcurl3 expect gtk2-eng ines-pixbuf grep zip make qemu-us er-static libwebkitgtk-1.0-0 libg nome2-0

참고로 우분투 11.10의 경우 libwebkitgtk-1.0-0를 설치하지 않아도 되며 64비트 시스템의 경우 ia32-libs 패키지를 설치해야 한다.

<Oracle Java 설치>
타이젠 SDK 설치를 위해 Oracle Java 6 이상의 버전을 설치해야 한다. OpenJDK가 아니라 Oracle Java를 설치해야 하니 주의하자. 일반적인 경우라면 다음 명령어를 통해 쉽게 Oracle Java를 설치할 수 있다.

$ sudo add-apt-repository ppa:webupd 8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-java6- installer

만약 프록시를 사용하거나 기타 다른 네트워크 문제로 위 명령어 실행 도중 에러가 발생하면 수동으로 Oracle Java를 설치해야 한다. 우선 Oracle 웹사이트의 Java SE Downloads 페이지[7]에서 “JRE Download” 페이지로 들어간다. “Accept License Agreement”를 클릭하면 JRE를 다운로드 받을 수 있게 된다. 필자는 우분투 32비트를 사용하기 때문에 jre-7u21-linux-i586.tar.gz를 다운로드했다. tar.gz 파일을 다운로드 받으면 아래와 같이 압축을 해제하고 설치한다.

$ tar xvf jre-7u21-linux-i586.tar.gz
$ sudo mkdir -p /usr/lib/jvm
$ sudo mv jre1.7.0_21 /usr/lib/jvm
$ sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jre1.7.0_21/bin/java 0
$ sudo update-alternatives --set java /usr/lib/jvm/jre1.7.0_21/bin/java

설정을 마친 후 아래와 같이 원하는 버전이 설치되었는지 확인하자.

$ java -version

타이젠 SDK 다운로드


[그림 3] 타이젠 SDK 다운로드 웹사이트 (출처: 타이젠 공식 웹사이트)

 타이젠 SDK 다운로드 웹사이트
[그림 4] 타이젠 SDK 다운로드 웹사이트 (출처: 타이젠 공식 웹사이트)

타이젠 SDK 다운로드 웹사이트[8]에서 설치 관리자 및 SDK 이미지를 다운로드 받는다.
자신의 환경에 맞는 파일을 다운로드 받자. 이번 호에서는 32비트 우분투 12.04를 기반으로 설명하기 때문에 tizen-sdk-ubuntu32-v2.1.4.bin 및 tizen-sdk-image-2.1.0-ubun tu32.zip 파일을 다운로드 받았다. 설치 관리자는 타이젠 SDK를 설치해주는 프로그램이며 SDK 이미지는 타이젠 SDK 내용에 해당한다. 만약 SDK 이미지를 다운로드 받지 않고 타이젠 SDK 설치 관리자를 실행하면 설치 도중에 SDK 이미지를 자동으로 다운로드 받는다(그림 3, 4).

설치 공간 확보

타이젠 SDK를 설치하기에 앞서 5.2GB의 설치 공간을 확보해야 한다. 실제로 타이젠 SDK를 설치하는데 5.2GB가 필요하지는 않지만 에뮬레이터 생성 및 컴파일 등을 위하여 여유 공간이 필요하다. 타이젠 SDK 설치 관리자를 실행하기 전에 충분한 공간을 확보해두자.

타이젠 SDK 설치 관리자 실행

다운로드 디렉터리는 사용자 환경에 따라 다르지만 보통 사용자 홈의 “Downloads” 혹은 “다운로드” 디렉터리에 파일을 다운로드 받는다. 설치 관리자를 다운로드 받았다면 다음과 같이 실행 권한을 부여한 후 실행한다.

$ cd ~/Downloads
$ chmod +x tizen-sdk-ubuntu32-v2.1.4. bin
$ ./tizen-sdk-ubuntu32-v2.1.4.bin

타이젠 SDK 설치 관리자를 실행하면 그림 5와 같은 화면을 볼 수 있다.

타이젠 SDK 설치 관리자 첫 화면
[그림 5] 타이젠 SDK 설치 관리자 첫 화면 (출처: 자체 제작)

타이젠 SDK 설치 관리자 - 프록시 서버 설정
[그림 6] 타이젠 SDK 설치 관리자 - 프록시 서버 설정 (출처: 자체 제작)

Settings 옵션은 프록시 서버를 설정하는 옵션이다. 프록시를 사용하고 있는 네트워크 환경이라면 여기에서 네트워크를 설정해준다. 프록시를 사용하지 않는 경우 Direct connection을 선택하거나 Automatic proxy configuration을 선택한 채로 두면 된다(그림 6).
Advanced 옵션은 SDK 이미지를 선택하는 옵션이다. 이 옵션에서 패키지 서버에서 제공하는 이미지를 선택(네트워크 설치)할 수 있고, 미리 다운로드 받아 둔 SDK 이미지를 선택할 수도 있다. 필자는 이미 SDK 이미지를 다운로드 받았기 때문에, 화면 상의 “SDK Image” 를 선택하고 우측 아이콘을 눌러 다운로드 받은 SDK 이미지를 선택했다. 만약 SDK 이미지를 다운로드 받지 않았다면 “Package Server”를 선택한다. 이 경우 타이젠 SDK 설치 과정에서 SDK 이미지를 자동으로 받아오게 된다.

타이젠 SDK 설치 관리자 - 패키지 서버 및 SDK 이미지 선택 화면
[그림 7] 타이젠 SDK 설치 관리자 - 패키지 서버 및 SDK 이미지 선택 화면
(출처 : 자체 제작)

타이젠 SDK 설치 관리자 - 라이선스 동의
[그림 8] 타이젠 SDK 설치 관리자 - 라이선스 동의 (출처 : 자체 제작)

OK 버튼을 눌러 첫 화면으로 돌아와 Next 버튼을 누른다(그림 7).
라이선스에 동의한다는 의미로 체크 박스를 클릭하고 Next 버튼을 누른다(그림 8).
타이젠 설치 옵션을 정한다. 기본적으로 웹 애플리케이션 개발, 네이티브 애플리케이션 개발, 공통 도구가 선택이 되어 있고 플랫폼은 일부가 선택되어 있다. 필자는 다양한 개발 환경 지원을 위해 모든 옵션을 선택했다. 타이젠 플랫폼을 개발하는 개발자가 아니라면 “Platform Development”를 선택하지 않아도 되지만 필자는 모든 옵션을 선택하길 권장한다. 원하는 설치 옵션을 선택한 후 Next를 누른다(그림 9).

타이젠 SDK 설치 관리자 - 설치 옵션
[그림 9] 타이젠 SDK 설치 관리자 - 설치 옵션 (출처 : 자체 제작)

타이젠 SDK 설치 관리자 - 설치 경로 설정
[그림 10] 타이젠 SDK 설치 관리자 - 설치 경로 설정 (출처 : 자체 제작)

그림 10은 설치 경로를 선택하는 화면이다. 필자는 필자의 홈 디렉터리(/home/seoz)의 ti zen/tizen-sdk라는 디렉터리를 사용하겠다. 앞으로 타이젠 SDK와 관련된 설명은 이 기본 경로를 기반으로 할 예정이다. 그럼 Install 버튼을 눌러보자.

타이젠 SDK 설치 관리자 - 설치 진행
[그림 11] 타이젠 SDK 설치 관리자 - 설치 진행 (출처 : 자체 제작)

타이젠 SDK 설치 관리자 - 설치 종료
[그림 12] 타이젠 SDK 설치 관리자 - 설치 종료 (출처 : 자체 제작)

타이젠 SDK가 설치된다(그림 11). 설치에 어느 정도 시간이 소요되나 설치 도중에 루트(root) 비밀번호를 입력해야 하니 자리를 뜨지 말고 있자.
설치 과정이 모두 끝났다(그림 12). 필요한 패키지를 설치하는 부분만 제외하면 특별히 어려운 부분 없이 타이젠 SDK를 설치할 수 있다. “Show Release Note”를 체크하고 Close 버튼을 누르면 릴리스 노트 화면으로 이동한다. 릴리스 노트에서 타이젠 2.1 SDK와 관련된 자세한 정보를 얻을 수 있다. 타이젠 SDK 설치를 마치면 시스템을 재시작하자.

타이젠 IDE 실행

타이젠 SDK를 설치하고 가장 먼저 할 일은 타이젠 IDE와 에뮬레이터를 실행하여 타이젠 SDK를 눈으로 확인해보는 일이다. 우분투에 기본적으로 설치되어 있는 Unity 사용자라면 윈도우 버튼 혹은 화면 좌측 상단의 Dash 버튼을 눌러 Dash를 실행한 후 tizen이라고 입력하고 다음과 같이 애플리케이션 목록에서 Tizen IDE를 선택하자(그림 13).

우분투 Unity에서 타이젠 IDE 실행
[그림 13] 우분투 Unity에서 타이젠 IDE 실행(출처 : 자체 제작)

작업공간 설정
[그림 14] 작업공간 설정 (출처 : 자체 제작)

타이젠 IDE 실행 화면
[그림 15] 타이젠 IDE 실행 화면 (출처 : 자체 제작)

타이젠 IDE를 처음 실행하는 경우 다음과 같이 작업공간을 설정하는 화면이 나온다. 원하는 위치에 작업공간을 설정하고 OK를 눌러보자(그림 14).
2.1.0이라는 버전과 함께 타이젠 로고가 보인다. 잠시 기다리면 타이젠 IDE가 실행된다(그림 15).
처음 타이젠 IDE를 실행하면 Welcome 페이지를 볼 수 있는데 여기서 Workbench를 선택하여 개발을 시작할 수 있다. 타이젠 IDE를 이용하여 본격적으로 개발을 하는 방법은 추후에 구체적으로 다룰 예정이다. 이번에는 타이젠 IDE를 간단히 맛보기만 하자.

타이젠 IDE Welcome 화면
[그림 16] 타이젠 IDE Welcome 화면 (출처 : 자체 제작)

에뮬레이터 관리자
[그림 17] 에뮬레이터 관리자 (출처 : 자체 제작)

에뮬레이터 생성
[그림 18] 에뮬레이터 생성 (출처 : 자체 제작)


타이젠 에뮬레이터

타이젠 IDE는 기본적으로 타이젠 애플리케이션 및 플랫폼 개발을 위해 사용하는 프로그램이기 때문에 개발자가 아닌 분들에게는 다소 지루할 수 있는 프로그램이다. 하지만 타이젠 에뮬레이터는 마치 실제 타이젠 기기를 실행하는 것과 같은 환경을 제공해주기 때문에 테스트용 단말이 없더라도 타이젠을 부팅하고 애플리케이션을 실행해볼 수 있다.
타이젠 에뮬레이터를 실행하기에 앞서 에뮬레이터 관리자(Emulator Manager)를 실행하자. 에뮬레이터 관리자에서 다양한 설정값으로 에뮬레이터를 생성하고 실행할 수 있다. 새로운 에뮬레이터를 생성하기 위해 “<< Create new… >> 버튼을 누르고 우측의 정보를 입력하자
이 때 HW 가상화(Virtualization)가 활성화되어 있다면 타이젠 에뮬레이터를 좀 더 빠르게 실행할 수 있다. HW 가상화는 하드웨어에 따라 지원해주지 않을 수도 있는데, 하드웨어에서 HW 가상화를 지원해주는 경우 부팅 시에 바이오스 설정 화면에서 활성화/비활성화할 수 있으니 꼭 확인하기 바란다(그림 17).
Confirm 버튼을 누르면 에뮬레이터가 생성되고 Launch 버튼을 누르면 에뮬레이터가 실행된다. 처음 부팅 시에 시간이 오래 걸리니 기다리자. 두 번째 부팅부터는 더 빨리 부팅이 된다. 에뮬레이터가 부팅이 되면 일반적인 타이젠 기기를 사용하는 것과 같이 에뮬레이터를 사용할 수 있다. 다양한 애플리케이션을 실행해보고 설정도 바꿔보자(그림 18).

마치며

이번 호에서는 타이젠 SDK를 우분투에 설치하고 타이젠 IDE 및 에뮬레이터를 실행해봤다. 타이젠 SDK는 타이젠의 얼굴에 해당한다. 누구나 타이젠 SDK를 설치하여 에뮬레이터를 띄우고 타이젠을 체험할 수 있으며 타이젠 IDE를 이용하여 애플리케이션 및 플랫폼 개발을 시작할 수 있다. 독자 여러분도 직접 타이젠 SDK를 설치하여 타이젠의 매력에 푹 빠져보기 바란다.

 

에뮬레이터
[그림 19] 에뮬레이터 (출처 : 자체 제작)


참고

[1] https://www.tizen.org/
[2] https://www.tizen.org/blogs/tsg/2013/tizen-2.1-sdk-and-source-code-release
[3] https://developer.tizen.org/downloads/sdk/2.1-release-notes
[4] http://developer.tizen.org/downloads/sdk/2.1-api-change-notes
[5] https://review.tizen.org/git/
[6] http://git-scm.com/
[7] http://www.oracle.com/technetwork/java/javase/downloads/index.html
[8] https://developer.tizen.org/downloads/tizen-sdk



/필/자/소/개/

필자

서주영 | seojuyung2@gmail.com

EFL 오픈소스 공식 개발자로 활동하고 있으며 현재 삼성전자 소프트웨어 센터에 재직 중이다. 긍정의 힘을 믿으며 사랑스러운 아내와 귀여운 딸과 함께 행복하게 사는 것이 인생의 목표이다. 프로그래밍을 할 때 기쁨을 느끼며 개발자가 천직이라 생각하는 만년 개발자이다. EFL 및 타이젠 관련 정보를 공유하는 개인 블로그 seoz.egloos.com을 운영하고 있다. 결혼 전까지 모터사이클에 미쳐있던 라이더이기도 하다.



※ 본 내용은 (주)테크월드(http://www.embeddedworld.co.kr)의 저작권 동의에 의해 공유되고 있습니다.
    Copyright ⓒ Techworld, Inc. 무단전재 및 재배포 금지

맨 위로
맨 위로