목차

크로미움 OS 빌드 준비하기

이 문서는 크로미움 OS 빌드를 준비하는 과정을 기술하고 있습니다.
이 문서는 Chromium OS Developer Guide(2012.07.09)를 기반으로 작성되었습니다.

사전 요구 사항

크로미움 OS를 개발하기 위해서는 리눅스가 반드시 필요합니다. 최근 또는 최신의 어떠한 배포판에서도 작업이 가능합니다. 그렇지만 우리는 모든 사람들의 리눅스 배포판을 지원해 줄 수는 없습니다. 따라서 공식으로 지원되는 환경이 아래에 기술되어 있습니다. 다른 환경에서 작업하던 도중 발견된 이슈에 의한 패치도 물론 환영합니다만, 우리가 당신이 사용하는 배포판을 이해하지 못할 수도 있습니다.

  1. Ubuntu 10.04 LTS1) (Lucid)
    • 많은 개발자들이 크로미움 OS를 작업할 때 Lucid를 이용합니다.
    • Ubuntu 10.10으로는 업데이트하지 않습니다.
    • 다른 Linux에서 작업하는 것도 가능하지만, Lucid를 이용하는 것이 매우 쉬울 것입니다.
    • Ubuntu 9.10 Karmic 버전에서는 동작하지 않는 것으로 알려져 있습니다.
    • 따라서 윈도 등 타 OS 이용자들은 VMware와 같은 가상 환경을 구축해야 합니다.
  2. 빌드 실행을 위한 64-bit 시스템
    • 크로미움 OS는 64-bit 환경의 시스템에서 빌드됩니다.
    • 32-bit 시스템은 추후에 지원될 수 있습니다.
    • amd64라고 표기된 iso파일을 다운로드 받으면 됩니다.
  3. sudo가 가능한 계정
    • chroot 명령어나 마운트 테이블을 수정할 때 루트 권한이 필요합니다.
    • [NOTE] 이 문서의 명령어를 실행할 때 루트 계정으로 실행하지 마세요. 각각의 명령어가 루트 권한이 필요할 때마다 sudo를 실행시킬 것입니다.
  4. 4GB의 메모리
    • 보다 낮은 메모리로 빌드하는 것이 기술적으로는 가능하지만, 브라우저를 링크하는 데에만 4GB의 메모리가 사용되고 디스크를 swap하게되면 빌드 과정이 매우 느려질 것입니다.

또한 아래 조건이 충족된다면 빌드가 한층 더 수월할 것입니다.

  1. 높은 성능의 멀티 코어 프로세서와 많은 메모리를 갖춘 시스템
    • 프로세서 갯수와 메모리의 용량은 많으면 많을 수록 좋습니다.
    • 빌드 시스템은 모든 프로세서를 활용할 수 있도록 최적화되어 있습니다.
      • 만약 8 코어 시스템으로 빌드한다면, 단일 코어 시스템보다 8배 빠르게 빌드하실 수 있습니다.
    • 최소 4GB의 메모리를 확보하시는 것이 좋습니다. 8GB면 더욱 좋습니다.
      • 만일 4GB의 메모리 용량 밖에 없다면, 4GB는 swap으로 할당해주는 것이 좋습니다.
      • 메모리 용량이 2GB일 경우, Linux Box가 GUI모드로 동작하지 않는다는 보고도 있습니다.
  2. 안정적인 인터넷 연결
    • 초기 다운로드와 추후의 업데이트를 위해서는 안정적인 인터넷 연결이 필요합니다.
    • 최소 다운르도 용량은 약 2GB입니다.

아래의 패키지들은 크로미움 OS를 빌드하는 데 반드시 필요합니다.

  1. git - Source Control Client
  2. Keychain2) - ssh key management
  3. depot_tools - gclient, gcl, git-cl 등이 포함되어 있으며, 소스 코드 동기화에 필요합니다.
  4. subversion - 소스 관리 클라이언트 (depot_tools에 사용됩니다.)
  5. curl - 인터넷에서 파일들을 다운로드받습니다. (cros_sdk에 사용됩니다.)

Ubuntu 설치

현재 LTS 버전이 12.04로 업데이트되어 공식 홈페이지에서의 다운로드가 불가능합니다. 하지만 미러 사이트를 이용하면 여전히 다운로드 받을 수 있습니다.

http://mirror.anl.gov/pub/ubuntu-iso/DVDs/ubuntu/10.04.4/release/
위 링크에 접속하여 Ubuntu 배포판을 다운로드 받습니다.

Ubuntu Linux download page
ubuntu-10.04.4-dvd-amd64.iso 링크를 클릭하면 바로 다운로드 받을 수 있습니다.
만일 위 페이지가 열리지 않거나 속도가 느릴 경우 Alternative dowonloads 링크를 참조하여 다른 미러사이트를 이용하시기 바랍니다.

다운로드 받은 Ubuntu 설치 이미지 파일을 이용하여 Ubuntu를 설치합니다.
가상 머신에 설치할 경우 계정 입력을 제외한 나머지 부분은 대부분 자동으로 진행됩니다.

Ubuntu 설치 진행 모습

설치 완료된 Ubuntu

빌드 환경 구성하기

소스를 받아오고 빌드를 하기 위한 환경을 구축합니다.

터미널을 실행합니다. (단축키 [Ctrl]+[Alt]+[T]를 누르면 바로 터미널을 실행하실 수 있습니다.)

Ubuntu에서 실행한 터미널 화면

터미널 창에

uname-a

를 실행하여 나타나는 결과값에 x86-64를 찾을 수 있으면 아래 내용을 진행하시기 바랍니다.
만약 i386 또는 i686이 나온다면 32bit 환경의 운영체제이기 때문에 크로미움 OS를 빌드할 수 없으니 참고하시기 바랍니다.

필요한 패키지 설치

Subversion

Subversion은 버전 관리 시스템인 VCS3)의 클라이언트 중 하나로 소스 코드의 변화에 따라 버전별로 관리해 줄 수 있는 솔루션입니다.
Subversion을 설치하기 위해서는 아래와 같은 명령어를 입력합니다.

sudo apt-get install subversion

[Do you want to continue]라는 질문에는 Y를 입력해줍니다.

Subversion이 설치되는 모습

Git

Subversion을 설치한 것과 같이 apt-get을 이용해 git을 설치합니다.

sudo apt-get install git-core

apt-get을 이용해 git을 설치하고 있습니다.

git에 대한 추가적인 git, git-gui 패키지도 설치해줍니다.

sudo apt-get install gitk git-gui

apt-get을 이용해 git 추가 패키지를 설치하고 있습니다.

git의 설치가 완료되었으면 git의 설정을 해 주어야 합니다.
git config 명령어를 통해 사용자의 메일 주소와 이름을 설정해줍니다.
쌍따옴표 안의 내용은 사용자에 맞게 설정해주어야 합니다.

git config --global user.email "USER@USERMAILSERVER.COM"
git config --global user.name "USERNAME"

git에 사용자 정보를 입력하고 있다.

Depot tools

크로미움 OS는 코드 리뷰와 체크아웃을 관리하기 위해 depot_tools라는 스크립트 패키지를 사용합니다.
이것을 설치함으로써 repo라는 명령어를 통해 크로미움 OS의 소스코드를 가져오거나 동기화 할 수 있습니다.
Depot Tools의 코드를 받아 올 디렉터리를 만듭니다.

여기서는 디렉터리의 위치를 '~/Works/Chromium'으로 지정합니다.4)
그리고 아래의 명령어를 순서대로 입력해줍니다.

cd ~
mkdir Works
cd Works
mkdir Chromium
cd Chromium

depot_tools를 받아 올 디렉터리를 생성하는 모습

이제 이동한 디렉터리에서 git clone을 실행합니다.
그렇게 하면 서버에서 Depot Tools의 파일들을 받아오게 됩니다.

git clone https://git.chromium.org/chromium/tools/depot_tools.git

svn을 이용해서 파일들을 받아오는 모습

export PATH=`pwd`/depot_tools:"$PATH"

이 명령어에서 사용된 [`] 문자는 따옴표가 아닌 키보드의 [ESC] 아래에 있는 문자입니다.

이 명령을 실행하면 PATH에 Depot Tools를 설치한 폴더가 추가됩니다.

[NOTE] 홈 디렉터리의 .profile 파일(~/.profile)에 다음 내용을 추가하시면
새로운 쉘을 열 때마다 위 내용을 일일히 추가해 줄 필요가 없습니다.

PATH=(depot_tools를 다운로드한 경로):"$PATH"

저장 후

source .profile

을 해주어 설정을 저장합니다.

기타

우리는 크로미움 OS의 코드를 편집해 다시 Commit할 것이 아니므로, Keychain 패키지는 설치하지 않습니다.
cros_sdk 패키지에 필요한 curl 패키지를 설치해줍니다.

sudo apt-get install curl

이로써 크로미움 OS의 소스 코드를 받아올 모든 준비가 끝났습니다.

더 보기

1)
Long-Term Support
2)
코드 Commit을 하지 않으신다면 반드시 필요하지는 않습니다.
3)
Version Control System
4)
임의의 위치로 지정하셔도 좋습니다. 그리고 아래 과정에서 해당 위치에 맞추어서 작업해주시면 됩니다.