개발/TIZEN

타이젠 소스코드 빌드하기

huiyu 2017. 4. 20. 00:42

타이젠 패키지 빌드해보기!! (상세한 설명은 생략!-)


1. 환경설정

1) 패키지 저장소에 Tizen 저장소 추가

1
$ sudo vim /etc/apt/source.list.d/tizen.list
cs


명령어 입력 후, 아래 내용 기입

1
deb [trusted=yes] http://download.tizen.org/tools/latest-release/Ubuntu_16.04 /
cs

*Ubuntu_16.04 -> 자신의 Ubuntu 환경에 맞는 경로 설정
  ex) Ubuntu_14.04 : 

1
deb http://download.tizen.org/tools/latest-release/Ubuntu_14.04 /
cs


2) 추가리스트 동기화

1
$sudo apt-get update
cs

 

3) gbs, mic 설치
 * gbs : Git Build System, 타이젠 플랫폼 소스를 빌드하기 위해 사용
 * mic : MIC Image Creator, 타이젠 바이너리 이미지 생성

1
$sudo apt-get install gbs mic
cs


2. 타이젠 코드 받기

1) 타이젠 공식 계정 생성 

타이젠의 코드를 받기위해서는 tizen.org에 대한 계정이 필요합니다. 등록은 https://www.tizen.org/user/register 에서 가능합니다.
 접속 하신 후 빈칸을 모두 채우시고, 'Register' 버튼을 누릅니다.


이제 등록한 이메일로 확인 메일이 발송됩니다. 발송된 메일의 링크를 접속 후 로그인을 합니다.

처음 로그인을 하게 되면 아래와 같이 나오는데, Reset password를 눌러 원하는 비밀번호를 설정합니다.

2) Gerrit 권한 신청

Tizen의 패키지 소스를 받을수 있는 Tizen Gerrit에 접속하기 위해선 Gerrit 접속 권한이 필요한데
로그인 후 보이는 'Access Request' 버튼을 눌러 접근 요청을합니다.(아마 승인이 되면 접속이 가능할 겁니다...)

승인이 된 이후, (제 요청은 바로 승인이 안되고있는데... 왜그러지..)

https://review.tizen.org/gerrit/ 접속하셔서 본인의 아이디와 패스워드로 로그인을 합니다.

우측 상단에 settings를 클릭하여 기본정보(이메일, 이름정보)를 등록 합니다.


3. Public key 등록

 자신의 리눅스 PC에서 아래와 같이 명령어를 입력합니다. 
 -C 옵션 뒤에 자신이 등록한 이메일을 입력합니다.

1
$ssh-keygen -t rsa -C "gmldb@naver.com"
cs

1) 생성할 키 이름, 빈칸으로 비워두면  "/home/<User>/.ssh/id_rsa" 의 경로로 기본 생성
2),3) 패스워드

1
2
3
Enter file in which to save the key (home/huiyu/.ssh/id_rsa) : 
Enter passphrase :
Enter same passphrase again : 
cs


Gerrit->Settings->SSH Public Keys에 들어갑니다.


다음, 'Add Key' 버튼을 누르면 아래와 같이 나오게 됩니다.

위의 빈 칸에 생성된 키값을 입력합니다.

1
$ cat /home/huiyu/.ssh/id_rsa.pub
cs

출력되는 모든 텍스트를 복사해서 입력한 후 'Add' 클릭

1
ssh-rsa ~~~~~~~ gmldb@naver.com
cs

여기까지 하면 public key도 등록 완료


이제 코드를 받아보자.


4. 코드 다운받기

  *타이젠 전체 코드 받기 -> http://storycompiler.tistory.com/16

우선은 전체를 받지 말고 패키지 하나만 받아서 테스트해보자.

다시 Tizen Gerrit에서 Project->List, 원하는 패키지를 찾는다. 전 SDL 패키지로 테스트


아래 음영부분을 복사한다.


복사한 git clone ssh://~의 내용을 Ubuntu의 원하는 경로에서 붙여넣기 하고 실행.
본인이 입력한 ssh key의 패스워드를 입력하시면 코드가 받아집니다.

코드받기끝!

빌드하자!


5. 코드 빌드하기

타이젠 코드 빌드는 gbs를 이용해서 할 수 있습니다. 아래와 같이 입력하게 되면,

1
$ gbs build

cs

아래와 같이 메시지가 나오게 되는데, 새로운 config파일이 생성되었다고합니다.

1
gbs:warning: Created a new config file /home/huiyu.gbs.conf. Please check and edit your authentication information.
cs


생성된 gbs.conf파일을 수정해 주어야 정상적으로 빌드가 됩니다.

1
$ vim ~/gbs.conf
cs


실행시켜 보면 아래와 같이 되어있습니다. 주석도 많아서 복잡한데요..

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
[general]
#Current profile name which should match a profile section name
profile = profile.tizen
 
[profile.tizen]
#Common authentication info for whole profile
#user =
#CAUTION: please use the key name "passwd" to reset plaintext password
#passwd =
obs = obs.tizen
#Comma separated list of repositories
repos = repo.tizen_latest
#repos = repo.tizen_main, repo.tizen_base
#Build config for gbs build
#buildconf = <patch/to/build-config-file>
#Comma separated list of additional packages be excluded building
#exclude_packages = libtool,gettext
 
 
[obs.tizen]
#OBS API URL pointing to a remote OBS.
url = https://api.tizen.org
#Optional user and password, set if differ from profile's user and password
#user =
#passwd =
 
#Repo section example
[repo.tizen_latest]
#Build against repo's URL
url = http://download.tizen.org/releases/daily/trunk/ivi/latest/
#Optional user and password, set if differ from profile's user and password
#user =
#passwd =
 
#Individual repo is also supported
#[repo.tizen_base]
#url = http://download.tizen.org/releases/daily/trunk/ivi/latest/repos/base/ia32/packages/
#[repo.tizen_main]
#url = http://download.tizen.org/releases/daily/trunk/ivi/latest/repos/ivi/ia32/packages/
 
cs


주석 싹 지우고 아래와 같이 정리하면 됩니다.(tizen 3.0 mobile profile 기준)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[general]
profile = profile.tizen
 
[profile.tizen]
obs = obs.tizen
repos = repo.tizen_base, repo.tizen_latest
 
[obs.tizen]
url = https://api.tizen.org
user = obs_viewer
 
[repo.tizen_base]
url = http://download.tizen.org/snapshots/tizen/3.0-base/latest/repos/arm/packages/
 
[repo.tizen_latest]
url = http://download.tizen.org/snapshots/tizen/3.0-mobile/latest/repos/arm-wayland/packages/
cs


*tizen_4.0  기준

  -> [repo.tizen_base] 
     url = http://download.tizen.org/snapshots/tizen/base/latest/repos/arm/packages/

  -> [repo.tizen_latest]
     url = http://download.tizen.org/snapshots/tizen/unified/latest/repos/standard/packages/

위에서 [repo.tizen_base]부분을 생략하게 되면 아래와 같은 에러가 납니다. 반드시 추가해주도록 합니다.

1
=== the following packages failed to build due to missing build dependencies (1===
cs


이제 빌드해보도록 하겠습니다. 빌드하고자 하는 패키지 경로에 가신다음 아래명령어로 빌드합니다.

1
gbs build -A armv7l --include-all
cs


빌드성공하면 아래와 같이 나오게 됩니다.


빌드된 패키지파일(rpm파일)이 생성되는 경로는 '~/GBS-ROOT/local/repos/tizen/armv7l/RPMS'입니다.

여기까지가 Tizen 소스 빌드하는 방법입니다.


+추후 configure 파일에 대한 상세설명, gbs 옵션에 대한 설명을 포스팅하겠습니다.

혹시 따라하시다가 막히시는 부분이 있으시면 댓글달아주세요.


728x90
반응형