Android 기술 Q&A 
Q&A 게시판에 질문을 남기신 글에 대한 답변/덧글/쪽글에 대한 Push 메일 서비스를 받고자 하시는 분들은
☞ Push 메일 서비스 공지를 필독하시기 바랍니다.
안드로이드 포팅
작성자
작성일 2008-03-04 (화) 14:20
ㆍ추천: 0  ㆍ조회: 46926      
IP: 221.xxx.120
>안녕하세요. 손석배입니다.

>먼저, 저 포함해서 저희 부서 4명이 행사등록을 했습니다.
>하루 빨리 행사날이 왔으면 좋겠습니다. ^^

 
등록관련해서 모두 확인했습니다..감사드립니다.
 
>그리고 포팅관련해서, 진짜로 무식한 초보 질문을 좀 하려고 합니다. ^^

>1) OHA 멤버를 제외하고, 현재 안드로이드를 포팅했다고 하는 회사들은 무엇을 포팅한 것인지요?
>제가 OHA의 안드로이드 다운로드 사이트를 봐서는, 포팅 가능한 안드로이드 바이너리 파일이 올라온것 이 없는데요..
>이분들은 리눅스를 일단 포팅하고, 그 위에 에뮬에이터에서 안드로이드 실행파일을 부분을 추출하여 포팅한 것일까요?
>(그렇다면, 이게 가능하긴 한가요? 제가 에뮬레이터를 분석해 보지는 못해서요..)
>아니면 제가 모르는 어떤 곳에, 포팅 가능한 안드로이드 파일이 등록되어 있는 건가요?
>현재 회원분들은 어떻게 포팅을 시도하고 계신건지요?

 
네 맞습니다.
 
현재 구글 안드로이드에서는 포팅을 위한 Resource를 관련회사(?)에만 별도 계약으로 제공하는 듯 합니다.
일부에서는 이 Resource를 Android PDK(Platform Developement Kit)이라고 표현하고 있는데,
정확한 표현인지는 모르겠습니다.
그리고, 그것을 확보한 회사들이 있다고는 하지만, 관련 Port 지식과 Resource를 공개한 정보는 본 적이 없습니다.
그래서, 현재 포팅을 완료했다고 하는 분들은,
- 먼저 Android Emulator에서 Android System Directory를 Reverse 추출한 리소스를 확보한 후,
- Linux Kernel을 Target 단말기에 맞추어 새로 Build한 후,
- 해당 단말기에 Linux Kernel과 Reverse한 File system을 설치한 후,
- 약간의 Booting 관련 Config 를 수정하여 Porting을 하고 있습니다.
 
>2) 에뮬레이터를 분석해 보지 않아서 드릴 수 있는 용감한 질문입니다만.. ^^
>안드로이드 에뮬레이터라면 아마도
>머신에뮬레이터(아마 ARM프로세서 에뮬이겠죠..)+ (리눅스+안드로이드)
>로 구성이 되어 있을것 같고..
>제 추측이 대략 맞다면,
 
네 추측이 맞습니다.
 
>2.1) 에뮬레이터 소스가 등록되어 있으니까요.. 이것을 잘 분해(?)해서 조작한다면..
> 리눅스를 포팅할 수 있는 기기에는 현재도 안드로이드를 탑재해 볼수 있는것 아닌가요?
>(에뮬레이터가 실제 안드로이드와 기능상 거의 동일하다는 전제하에요..)
 
제가알기로는 CPU는,
"결과만 요약해드리면 armv5tle 및 armv6 vfp이상에서
무난하게 작동되고 있습니다. (단, ARM V4<arm 920T>의 경우 Insruction Set의 부재로
작동시킬수 없습니다. )" -
인베인
리눅스 Kernel Vesion은 2.6.18이상에서 가능한 것으로 알고 있습니다.
 
>2.2) 일단 에뮬레이터도 윈도우 상에서도 돌아가니까요..
>에뮬소스를 적절히 분석해서 변경하면,
>에뮬에서 추출한 안드로이드 자체를 윈도우 상에서 직접 포팅해보는 것도 가능하지는 않을까요?

 
x86 계열의 CPU에서 가능한가의 이슈일 듯 합니다.
알게 되면 이곳에 덧글로 남기겠습니다.
 
>황당한 질문이 아니길 바랍니다. ^^
 
전혀 황당하지 않습니다..감사.ㅎ
이름아이콘 들풀
2008-03-04 14:20
[인베인]
리눅스 Kernel Vesion은 2.6.18이상에서 가능한 것으로 알고 있습니다.
==> Linux Kernel 2.6.18에서는 제가 사용중인 커널이 2.6.18이라서 사용해본 것이고 정확히 표현하자면, Linux Kernel 2.6.10이상의 커널 버젼들을 모두 이용가능합니다. (다만 구글안드로이드 커널이 2.6.23이기 떄문에 커널 버젼차이가 많이 나면 깊은 기술력을 가지셔야 합니다. ^^)
   
이름아이콘 들풀
2008-03-04 14:20
[인베인]
물론, 2.6.0 ~ 2.6.9 사이의 커널버젼도 당연히 가능하다고 할수 있습니다. 하지만 2.6 커널의 경우 버젼별로 업데이트내용이 상당히 많습니다.(리눅스가 많이 발전하고 있다고 봐야하나??) 따라서 2.6.0-2.6.9 버젼사이의 커널을 사용하고자 하는 경우(지금 2.6.24으로 가고있어서 거의 없을듯한데...) 그냥 Linux Kernel Understanding 3rd 책 하나사서 공부를 할것을 권장합니다. (하지만 전공으로 들어가기때문에 시간이 오래걸리겟져..^^)
   
이름아이콘 들풀
2008-03-04 14:21
[자하랑]
EABI support 때문에 18 미만에서는 왠만하면 시도하지 않는 것이 좋다고 보입니다 ^^
   
이름아이콘 들풀
2008-03-04 14:21
[인베인]
손석배님 참고과 될지 모르겠는데 2.6.10 과 2.6.18경우 이전에 EABI 작업후에 실제 타겟에서 Android 정상적으로 실행하였었습니다. 하지만 위에 답변드린대로 현재 바닐라 커널이 2.6.24으로 가는 시점에서 2.6.10과 같은 하위 버젼에서의 작업은 별로 가치있는 일 같지 않습니다. (저야 하위버젼에서의 스케쥴링 관련 확인할것이 있어서 2.6.10에서의 지원을 위해 삽질한 것이므로...)
   
이름아이콘 들풀
2008-03-04 14:21
[손석배]
저희는 최소사양이랄까요? 즉, 적어주신 대로 어떤 버전까지는 포팅이 불가능하고 어떤 버전이상으로는 가능하다.. 이런 정보가 매우 중요합니다. 적어주신 부분은 도움이 많이 되었습니다. 감사합니다!
   
이름아이콘 공대오크
2008-03-17 18:04
포팅 관련 무식한 질문 하나 올리겠습니다 ARMv5tle라고 말씀 하셨는데 어떤ARM프로세서를 말씀하시는 것인지 제가 지식이 짧은 관계로 잘 모르겠습니다 ARMv5TE 나 TEJ와는 무슨 관계인가요???
   
이름아이콘 은두르
2008-04-22 21:10
Arm 데이타 시트나 암디벨로퍼 가이드 책에 보면 친절히 설명되어 있습니다.
   
이름아이콘 가리아
2009-08-17 13:45
T는 thumb instruction 지원, J는 Java 관련 instruction 지원일 겁니다. E나 그런 건 다 기억이 안 나네요..;; 어쨌든 어떤 특정 부분을 지원한다 안 한다는 확장 기능에 대한 의미입니다. 워낙 오래된 질문이라 별 의미는 없겠지만 후에 또 누가 볼지 몰라 답변을 답니다. 은두르님 말씀처럼 인터넷에서 검색해 보면 바로 나옵니다. 대표적으로 ARM9 관련 CPU들이 아직도 많이 있는데 오래전에 나온 삼성 S3C2410/2440의 경우 ARM920T이며 퀄컴의 MSM6xxx는 ARM920EJ가 많습니다.
   
 
덧글 쓰기 0
3500
※ 회원등급 레벨 0 이상 읽기가 가능한 게시판입니다.
    N     분류     제목    글쓴이 작성일 조회
5003 안드로이드 에뮬레이터 속도 [2] 2008-03-04 16943
5002 개념설명 : "@+" syntax in layout xml 2008-03-04 11934
5001 Touch Screen Event [1] 2008-03-04 12777
5000 Webkit 관련 2008-03-04 11252
4999 P2P 관련 2008-03-04 12522
4998 에뮬레이터간 XMPP 메시징환경 설정 2008-03-04 10971
4997 SD Card 환경설정 [1]+1 2008-03-04 11679
4996 안드로이드 디버깅 로그 출력 2008-03-04 13594
4995 안드로이드(Android) Webkit 사양관련 2008-03-04 14674
4994 레이아웃 : TextView와 Scrollbar 2008-03-04 12327
4993 안드로이드 포팅 [8] 2008-03-04 46926
4992 [파노라마] WebKit에 대한 궁금한 점이.. [1] 2008-03-07 9103
4991 WebKit-GTK에 대하여. [1] 2008-03-07 11073
4990 프로그램을 만들다 난관에 부딧혀 질문올립니다... [2] 2008-03-07 9641
4989 웹 관련해서 질문이 있습니다. [3] 2008-03-11 8541
4988 Android와 OpenBinder에 대한 질문입니다. [3] 2008-03-13 11158
4987 ProgressBarDialog 컨트롤에 대해서.... [3] 2008-03-14 11032
4986 안드로이드 os안에 있는 이미지 파일을 출력하고자 합니다... 2008-03-15 9660
4985 webkit 구조 및 기능에 대한 질문입니다. 2008-03-18 12124
4984 [답변]webkit 구조 및 기능에 대한 질문입니다 [4] 2008-03-18 13928
4983 [답변] 안드로이드 os안에 있는 이미지 파일을 출력하고자 합.. [2] 2008-03-19 12798
4982 안드로이드와 피카사 관련 질문 2008-03-19 8985
4981 rotatedrawable을 어떻게 사용해야되는데요 [1] 2008-03-20 11691
4980 TI OMAP 보드 포팅 [4] 2008-03-21 10955
4979 xmpp를 이용하여 p2p 어플리케이션 제작하신분 계신가요??.. [4] 2008-03-24 9486
4978 포팅관련 질문을 올립니다 [2] 2008-03-24 9942
4977 JVM 관련해서 물어볼 곳이 여기밖에 없네요. [4] 2008-03-25 10178
4976 안녕하십니까 m5에 관한 질문좀 드릴께요 [2] 2008-03-25 9078
4975 다시한번 질문드립니다. [1] 2008-03-26 8498
4974 안드로이드 안에 있는 app데모중에.. [1] 2008-03-26 9655
4973 armadillo-500(arm1136jf-s) - USB Gadget 동작 [3] 2008-03-27 10401
4972 TI OMAP 보드 보팅 중 uboot관련 [5] 2008-03-27 9954
4971 맵 갱신을 하려고하는데요. 에러가 나네요. [2] 2008-03-27 12138
4970 다이얼 로그 질문 이에요.. [2] 2008-03-28 9083
4969 scroll bar 사용시에 터치패드로 움직이는 것을 막고 싶습니다.. 2008-03-28 9193
4968 안드로이드와 UMA/GAN의 조화 2008-03-31 9073
4967 안드로이드 플랫폼 개발과 관련하여 질문 [2] 2008-04-01 8928
4966 이거 만우절 장난인가요? 진짠가...?ㅜㅜ [2] 2008-04-01 9298
4965 안드로이드 포팅 관련 질문입니다[맨땅에 헤딩중입니다].. [2] 2008-04-03 10675
4964 안드로이드 플랫폼에 있는 [1] 2008-04-03 9457
4963 다이얼로그에 관련된 좋은 샘플을 구합니다. [2] 2008-04-04 9285
4962 Conversion to Dalvik format failed with error 1 [3] 2008-04-07 11151
4961 시스템 해킹 관련 [1] 2008-04-07 8786
4960 안드로이드 챌린지 제출방법에 대해서 궁금한점이 있습니다... [4] 2008-04-08 8719
4959 포커스에 관한것좀 여쭙겟습니다. [4] 2008-04-09 15575
4958 파일 관리에 대해 질문있습니다. [1] 2008-04-11 8510
4957 mp3플레이어 MusicDroid에 대해서.. [2] 2008-04-14 10014
4956 안드로이드의 CE제품 적용 [1] 2008-04-21 8663
4955 xml 디자인 관련 [3] 2008-04-21 9815
4954 파일 입출력 관련.. [2] 2008-04-24 9644
12345678910,,,101