여기서는 B2G 빌드를 하기 전에 수행 해야 하는 repository를 가져오고 빌드 환경을 설정에 대해 알아 봅니다.
B2G repository 가져 오기
첫번째로, 빌드를 처음으로 시작하기에 앞서, B2G repository를 가져 와야 합니다. 이 단계가 모든 것을 다 가져 오는 것은 아니고, B2G build system을 가져 오고 빌드에 필요한 각종 툴들을 가져 옵니다. 대부분의 B2G code는 아직 main Mozilla Mercurial repository에 존재 합니다.
Repository를 가져 오기 위해 "git"을 사용합니다.
git clone git://github.com/mozilla-b2g/B2G.git
몇분간의 git작업 진행 후 새로 생긴 "B2G"폴더로 이동하세요.
cd B2G
작업중이던 B2G tree를 새로 구성한 빌드 환경으로 복사하기(작업 중일 경우만 진행, 그외는 다음 단계로)
If you've gotten a new computer (lucky you!), you'll find your life will be much easier if you simply migrate your entire B2G tree from one computer to another.
To do that, mount your old computer's drive onto your new computer, then do this:
rsync -a source/ dest/
Where source
is the full path (including the trailing slash) of the source tree, and dest
is where you want to put it (the trailing slash is also important!).
Note: If you copy the files from a computer with another platform ensure to run './build.sh clean' before you start the build process. If you don't do this you might encounter compilation issues.
If you do this, you can skip all of the rest of this article and move right on to building.
단말기용 B2G 환경 설정
Core B2G build system을 다 받고 나면, 설치하고자 하는 단말기에 맞는 환경을 설정 해야 합니다. 지원되는 단말기의 종류를 보려면 아래와 같이 실행 하세요.
./config.sh
리스트는 아래와 같이 보일 것입니다.
Usage: ./config.sh [-cdflnq] (device name) Flags are passed through to |./repo sync|. Valid devices to configure are: - galaxy-s2 - galaxy-nexus - nexus-4 - nexus-4-kk - nexus-5 - nexus-5-l - nexus-s - nexus-s-4g - flo (Nexus 7 2013) - otoro - unagi - inari - keon - peak - hamachi - helix - tarako - dolphin - dolphin-512 - pandaboard - vixen - flatfish - flame - flame-kk - flame-l - rpi (Revision B) - emulator - emulator-jb - emulator-kk - emulator-l - emulator-x86 - emulator-x86-jb - emulator-x86-kk - emulator-x86-l > Sony Xperia devices - aries (Z3 Compact KK) - aries-l (Z3 Compact L) - leo-kk (Z3 KK) - leo-l (Z3 L) - scorpion-l (Z3 Tablet Compact L) - sirius-l (Z2 L) - tianchi-l (T2U L) - flamingo-l (E3 L)
만약 해당 단말기가 리스트에 없다면, 바로 모든 과정을 중단하고 B2G 포팅 도움을 요청하거나 누군가 해당 단말기용 작업을 완료 하기를 기다리세요. Mozilla에서는 당신의 도움을 환영합니다!
모바일 단말기 환경 설정
우선, 환경설정시 단말기와 통신을 하게 되므로, 설정 하고자 하는 단말기를 연결하세요.
원하는 단말기의 종류가 위에 나와 있다면, 아래와 같이 config.sh + 단말기 이름을 입력 하세요. Samsung Google Nexus S를 예로 들면 아래와 같습니다.
./config.sh nexus-s
설정 시작하고 바로 아마도 색상 환경 설정을 입력 해야 할 것입니다. 색상 선택이 완료되면 환경 설정은 계속 진행 됩니다. 지금부터는 Boot to Gecko빌드에 필요한 모든 코드를 복하게될 것이며, 이는 상당한 시간이 소요 될 것이니 잠깐 쉬는 시간을 가지도록 하세요.(2시간 이상 소요 예상됨)
If your phone no longer has Android on and your B2G tree doesn't have the binary blobs in it, and you wisely made a backup of the /system
partition like an earlier page told you to, you can use it like this:
ANDROIDFS_DIR=<absolute path to parent dir of system dir> ./config.sh <target>
에뮬레이터 빌드 환경 설정
ARM 에뮬레이터는 "emulator", x86 에뮬레이터는 "emulator-x86"로 아래와 같이 수행 하시면 에뮬레이터용 환경 설정도 가능합니다. x86 에뮬레이터가 ARM용 에뮬레이터보다 수행 속도는 빠르지만 실제 단말기와 다르게 동작 할 수도 있습니다.
아래는 ARM용 에뮬레이터 환경 설정입니다.
./config.sh emulator
주의: ./config.sh수행은 시간이 많이 걸리므로 Ctrl-C로 중단이 가능하며 이후 다시 진행도 가능합니다. 만약 일부 진행이 문제가 있어 보인다면 './repo sync'를 실행 하시면 문제가 수정될지 모릅니다.
Building against a custom Gecko
There may be times that you want or need to build Boot to Gecko based on a different version of Gecko than the one that's used by default (as specified in the manifest). You can do so by editing the file .userconfig
before you pull the repository (before the config.sh
step above). For example, if you want to build against mozilla-central:
GECKO_PATH=/path/to/mozilla-central GECKO_OBJDIR=/path/to/mozilla-central/objdir-gonk
Note: if building against a custom Gecko in Mac OS X, the mozilla-central directory must be in a case sensitive file system.
See Customization with the .userconfig file for additional customizations you can do.
다음은, 빌드 시작 하기.