xda에서 해메다가 이것을 찾았네요.... 

 

http://forum.xda-developers.com/chef-central/android/guide-android-rom-development-t2814763


-------번역중...아직 완성되지 않았으니..------

 

안드로이드는 무엇인가요?

 

 안드로이드는 스마트폰들을 위한 오픈소스 운영체제입니다. 많은 자유를 누릴 수 있습니다.

 

안드로이드 소스 코드는 무엇인가요?

 

 안드로이드는 오픈소스 소프트웨어 스택으로, 여러 가지의 기기들을 위해 만들어졌고 다양한 형태가 있습니다. 안드로이드의 주 목적은 통신사, 기업, 그리고 개발자들에게 오픈소스 플랫폼을 제공하는 것입니다. 그래서 이 사람들은 창의적인 아이디어들을 실제로 만들고 성공적인, 세상이 주목할 완성된 제품을 소비자들에게 배부하는 것입니다. 결과는 엄청나게 잘 조율된 소비자 제품입니다.

그래서 안드로이드는 쉽게 풀어서 설명하자면 원하는 것을 편집하고 제한없이 새로운 것을 만드는 것입니다. 쿨~하죠?

 

안드로이드 롬은 무엇인가요?

 

 안드로이드 롬은 안드로이드 운영체제입니다. 이것은 사용자 인터페이스 (일명 UI 또는 GUI, 예로 삼성 터치위즈) 그리고 연락처 등 파일 시스템을 관리하는 프로그렘입니다. 리눅스 커널로 구성되어 있고 추가적인 기능으로 특정한 기능을 성취합니다.


안드로이드 롬에 무엇이 포함되어 있나요?


안드로이드 롬에는 다음과 같은 파일들이 포함되어 있습니다:

-커널

-부트로더

-리커버리

-라디오

-프레임워크

-어플

-코어

-안드로이드 런타임, 기타 등등


위에 파일들에 대해서 설명을 드리자면


커널:

커널은 안드로이드와 다른 모든 운영체제에서 가장 중요한 역할을 합니다. 어플과 하드웨어 사이의 다리라고 생각하시면 편합니다. 안드로이드 기기들은 리눅스 커널을 사용하지만, 리눅스 커널과 완전히 똑같지는 않습니다. 안드로이드만의 고유 코드도 포함되어 있고, 구글의 안드로이드 커널 운영자들도 가끔씩 여기저기에 뭔가를 추가합니다. 때때로 제조사들도 코드를 삽입하기도 합니다.(드라이버 지원을 해야 하기 때문입니다. 예로 갤럭시5의 지문 인식 드라이버) 요놈 때문에 포팅하는 개발자님들이 애를 먹습니다. 진저브레드에 최적화된 드라이버는 당연히 아이스크림샌드위치 커널과 호환이 안 될겁니다. 코드가 아주 방대하지만, 끝에는 그냥 다리라고 생각하시면 됨니다.


부트로더:

부트로더는 운영체제가 시작하기 전에 돌아가는 코드입니다. 부트로더는 커널을 깨우는데 주요 역활을 하고 있고 거의 대부분은 각자의 디버깅 툴이나 변경 변수들이 있습니다. 부트로더들은 시작하기 전에 모든 파티션에 중요 파일들이 존재하는지 검사합니다. 그래서 대부분 절대로 부트로더를 만지지 않습니다. (자칫하면 JTAG도 안될 경우가 있습니다)


라디오:

요놈은 부트로더가 돌아가기 전에 실행되는 코드입니다. 안테나와 GPS등을 조절합니다.

 

자, 이제 안드로이드가 무엇으로 만들어졌는지 아니까 다음으로 넘어가죠!


안드로이드 롬 개발하기 - 리눅스 개발 환경 구축하기


필요한 것들

1. 우분투 14.04.2 LTS (Long Time Support) (중요! 반드시 64비트여야 합니다! 아님 빌드가 절대로 안 됩니다.)

http://www.ubuntu.com/download/desktop <--- 요기에서 받으시면 됩니다.

2. VirtualBox 또는 듀얼 부팅

저는 사실 듀얼 부팅을 선호합니다. 오버헤드 (윈도우)가 없으니 그만큼 더 빨라집니다.


가상 시스템으로 설치

1. 바이오스에서 Intel Virtualization Technology (일명 VT-x)가 켜져있는지 확인한다. 메인보드에 따라 다를 수 있으니 꼭 설명서를 참조한다.됩

2. VirtualBox를 설치하고, 실행시킨다.

3. 왼쪽 위에서 추가를 누른다.

4. 이름은 그냥 맘대로 정하고, 타입은 리눅스, 버전은 Ubuntu (64 bit)로 정한다.

5. 다음을 누른다.








 

댓글 9
  • ?
    올 ㅋ
    15.04.25
    흑 역시 노트 3 네오 유저는...
  • ?
    소실점
    15.04.25
    감사합니다
  • ?
    kykint
    15.04.25
    그냥 딱 정석대로인 빌드 방법이네요. 쉬운거 아닙니다.
  • ?
    sistars
    15.04.25
    영어라서 해석이안되네요!ㅠ
  • ?
    ideaman924
    15.04.25
    그래서 강좌 밑에 들어왔습니다. 초보자들은 (리눅스, 안드로이드 지식) 한번 시도해 보시기를.... (저도 아직 초보입니다)
  • ?
    ideaman924
    15.04.25
    시간나면서 조금식 해설을 올리겠습니다. (그런데 영어를 해석 못하신다면 이 강좌는 안 하시는 게 좋겠습니다)
  • ?
    Edgestorm
    15.05.02
    이걸 왜 '쉽게' 라고 써놓으셨는지? 진저 방법때부터의 정석적인 소스 기반 롬 크로스 포팅 방법입니다만?

    디바이스 트리 및 벤더가 반드시 있어야하고, 소스에서부터 컴파일하는거라 상당한 지식이 없으면 제대로 시도조차 불가능합니다 -_-;;

    애초에 그 정도 지식이 되는 사람이라면 xda에서 필요한 정보를 스스로 찾아 취득 가능할거구요.

    이걸 강좌랍시고 올리신 이유를 모르겠네요.

    해당 원문도 어느 정도 지식이 있는 사람을 대상으로 한겁니다;
  • ?
    ideaman924
    15.05.05
    댓글 엄청 감사드리고요... 그리고 이 강좌 타겟들은 조금 '상당한 지식'을 소유하는 포팅유저들을 위해서 올린겁니다 제목 수정하겠습니다
  • ?
    ideaman924
    15.05.09
    그로니까요.... 개발자님들 제발 이 강좌 읽으시고 더 많이 (보급형들을 위해) 포팅해주세요!!
댓글 쓰기 권한이 없습니다.
강좌 정렬 목록 검색 쓰기
등록된 글이 없습니다.
1