BLOG main image
분류 전체보기 (26)
미국생활 (0)
InfoReview (4)
Industry (16)
잡담 (3)
Resource (3)
Communication (0)
Visitors up to today!
Today hit, Yesterday hit
'안드로이드 Android'에 해당되는 글 7건
2009. 12. 6. 22:39

OHA(Open Handset Alliance: http://www.openhandsetalliance.com/)의 안드로이드 소스코드 (http://source.android.com/)를 이용해서 상용 제품을 만들다보면 겪는 아주 큰 어려움 가운데 하나가 바로 변화의 속도를 따라잡는 일입니다. 토끼와 거북이의 경주에 비교하자면, 안드로이드 개발팀 (구글 + OHA 멤버 + 오픈소스 커뮤니티)은 토끼라고 할 수 있죠. 2007년말의 첫 공식 발표이후 2009년까지 2년동안, 앞에서 폴짝 폴짝 뛰어가면서 며칠전 발표된 2.0.1 버전까지 진화를 거듭해왔습니다. 반면에 이를 이용해서 제품을 개발하는 제조사는 거북이의 입장이죠. 토끼가 앞서간 발자국을 따라서, 느릿 느릿, 하나씩 하나씩 내용을 이해하고, 포팅하고, 동작을 확인하고, 검증해서 제품을 내놓아야 하니까요. 당연히 가벼운 몸으로 뛰어가는 토끼에 비해서, 짧은 다리에 무거운 등껍질까지 이고 가니 따라가기가 영 버거운 것이 아닐겁니다.

게다가, 이 토끼란 녀석이 젊어서 힘이 펄펄 넘치는지 중간에 잠도 안자고 계속 내달리는 겁니다. 더 열받는 것은, 혼자 가기 심심한지, 딱 거북이 한녀석만 찍어서 같이 폴짝 폴짝 앞서간다는 거죠. 뒤에서 먼지만 풀풀 마시면서 낑낑거리고 따라가는 다른 거북이들에게는 영 입맛이 쓴 상황일겁니다. 근데, 어쩌겠습니까, 그 길로 가야 미래가 보인다니 뭐 어떻게든 따라가야 할 상황인거죠.

일반적으로 리눅스 기반 휴대폰의 개발 기간은 1년 정도를 잡는 것 같습니다. 피쳐폰의 경우 간단한 업그레이드나 지역향별 수정사항만 가하는 경우엔 6개월 이내에도 출시를 한다고 합니다만, 리눅스 기반 폰의 경우, 워낙 모델마다 변화가 커서, 기획에서 출시까지 6개월은 아무래도 무리죠. 6개월 정도를 상품기획, UI 설계, 기능 구현 정도로 잡고, 나머지 3개월에서 6개월까지를 검증과 IOT를 하게 되는 것 같습니다.

그런데 구글의 릴리즈 스케줄은, 뭐 딱 그렇게 규칙으로 정해진 것 같지는 않지만 1년에 2번 정도의 메이저 릴리즈를 생각하고 있다고 합니다. 올 봄에 1.5 (Cupcate)이 나왔고 가을에 1.6 (Donut)이 나왔죠. 현재 오픈소스로 Eclair 브랜치가 있긴 하지만 완전한 버전은 아닌 것 같구요. 그러면 이 상황을 제조사 입장에서 보면 이렇게 되는 겁니다:

지난 6월에 안드로이드 기반 휴대폰 제품 기획을 합니다. 1년후, 즉 2010년 상반기 출시를 목표로, 당시의 가장 최신 버전인 Cupcake 버전을 기반으로, 이런 저런 기능과 UI, 하드웨어 스펙, 디자인 등등을 열심히 의논하고 초기 개발을 시작하죠. 그런데 몇달만에 Donut이 보다 다양한 기능으로 무장을 하고 출시됩니다. 이미 기획이 되고 초기 개발이 진행된 상태라서, 제품의 근본 컨셉을 바꿀만한 변화 (예를 들어 HVGA => WVGA)는 좀 어려울지 몰라도, 소프트웨어의 경우엔 갈아타는 것이 가능하겠죠. 그래서 다시 몇달동안 열심히 Donut 기반으로 개발을 하면 12월 정도에는 설계 검증을 시작할 수 있겠죠. 즉, software는 feature complete이 되고, QA 과정에 들어가는 겁니다. 근데 지금 막 이야기가 나오고 있는 Eclair를 보니까 Exchange Server 지원에서 Google Maps Navigation에 최신 Bluetooth Profile 지원까지, 엄청난 변화가 보이는 겁니다. 이제 이러면 고민에 빠지는 거죠, 이걸 다 무시하고 그냥 QA를 밀어부쳐서 내년 상반기에 출시를 하자니, 그때는 Eclair뿐이 아니고 그 다음 버전인 Flan도 나와있을 확률이 높은데, 그 상황에서 Donut으로 출시해서 과연 상품성이 있을까 하는 걱정이 되는 거죠. 그렇다고, 현재 상황에서 Eclair로 갈아타자니 아직 Eclair가 안정화되지 않은 버전이라서 제품 출시 스케줄 자체가 나오질 않는 상황이구요.

남의 이야기라 저는 참 쉽게 말합니다만, 내년 1Q/2Q에 안드로이드 출시를 목표로 오늘도 개발실의 불을 끄지 못하고 계시는 분들 입장에서 Eclair의 현재 상황을 보는 심정이란, 참으로... 거시기 할겁니다...

이게 어떻게 보면 다른 개방형 플랫폼들 (iPhone, RIM, Palm, WinMo)과 비교되는 안드로이드의 가장 큰 단점일 수 있습니다. 물론 구글이라는 큰형님이 끌고 가긴 하지만, 그래도 50여개가 넘는 OHA 회원사의 다양한 협력 모델에다가, 오픈소스 커뮤니티의 개선 사항까지를 아울러서 소스트리를 관리하다보니, 특정 벤더 플랫폼처럼 로드맵 관리가 칼같이 되기 어려운 거죠. 라이센스 문제와 특허 문제에 기타 복잡하게 얽힌 이해관계까지 고민하면서 동시에 개발자들이 쓰기 편한 SDK와 플랫폼을 릴리즈 해야 하는 거니까요.

반면에 또 이걸 뒤집어서 생각해보면 안드로이드만의 가장 큰 장점이 바로 이 약간은 혼란스러워보이는 다양성에서 비롯되는 혁신이 아닐까 합니다. 정갈하게 차려진 한정식은 아닐지 몰라도, 고추장에 참기름 넣고 썩썩 비벼먹는 비빔밥의 맛이라는 게 또 있는 거니까요...   ^^;

어쨌거나 현재의 안드로이드는 여전히 매우 빠른 속도로 진화중인 플랫폼입니다. 좀 고통스럽긴 하지만, 오픈소스 모델의 개방형 모바일 플랫폼의 미래를 믿는다면 따라갈 수 밖에 없죠. 구글이라는 회사의 비전과 능력, 그리고 2007년말 첫 발표이후 얼마전 모토롤라 드로이드의 출시까지 2년만에 이루어진 안드로이드의 발전 속도를 보면 충분히 기대할만하다고 하겠습니다.

일단 한가지는 인정하고 시작해야 하겠습니다. 안드로이드 기반 제품 개발은 쉽지 않습니다. 그냥 취미삼아 돌려보는 거라면 세상에 이것처럼 재미난 장난감이 없습니다만, 돈받고 팔수 있는 제품을 만들기에는 매우 신중한 접근과 많은 노력이 필요하죠. 이걸 한방에 해결해줄 묘책이 어디 있겠습니까. 관건은 개발 기간의 단축과 더불어 오픈소스 개발 모델에 대한 전략적인 접근이 아닐까 합니다. 제품의 기획과 디자인, 상위 레벨 설계에 많은 시간을 들여서 일관된 개발의 틀을 잡고, 최대한의 소프트웨어 테스트 자동화를 통해서 개발과 검증이 동시에 진행되어야 할겁니다. 더불어, 안드로이드의 오픈소스 개발 모델을 완전히 이해하고 최대한 활용해서, 어느부분까지를 제품 차별화에 필수적인 closed source로 가져가고, 어느부분까지를 전략적인 면에서 다양한 Ecosystem과의 공조를 통해서 open source로 가져갈지에 대한 진지한 고민이 필요합니다. 이런 식으로, 일차 개발 완료가 긴 여정의 시작이라는 것을 인지하고 과제를 기획할때 비로소 경쟁력있는 안드로이드 기반 제품의 개발이 가능하지 않을까 하는, 조심스러운 생각입니다.

2009. 12. 6. 00:19

안드로이드에 기반한 모바일 폰을 만들때 가장 고민되는 부분은 아마도 제품의 차별화라는 부분일겁니다. 그건 사실 Windows Mobile에서도 마찬가지였죠. Windows Mobile 6로 오면서 UI 변경이 허용되기 전까지는 시작 버튼으로 대표되는 윈도 모바일의 기본 UI에서 크게 벗어나기 어려웠던 까닭에, 어떤 제조사에서 만들어도 그냥 윈도 모바일 폰이지, 특정 회사의 색깔을 드러내기가 쉽지 않았거든요.

하지만 이제는 윈도 모바일에서도 UI의 변경이 자유로워지고, 여러 회사들에서 다양한 윈도 모바일 폰들이 나오는 모양입니다. 그런데, 과유불급이라는 말처럼, 최대한 삼성 터치위즈의 색깔을 살릴려고 했을 옴니아 2가 아래와 같이 최악의 평가를 받았습니다:

http://gizmodo.com/5417413/samsung-omnia-ii-review
(요기 http://moux.tistory.com/70 가시면 번역된 내용도 볼 수 있습니다.)

사실 저도 터치위즈의 큐브 써 보면서, 뭐 별로 실용적이지도 않고 잔뜩 멋만 내서 쓰기 오히려 불편하다고 생각했는데요, 이 리뷰에서는 "oh, that horrible fucking cube"라는 극단적인 표현을 써 가면서 원초적인 비난을 늘어놓네요. 전반적으로, 훌륭한 하드웨어 스펙에 비해서 소프트웨어가 완전 최악이다. 일관성도 없고, 느리며, 전체적으로 매우 쓰기 불편하다는 정도의 내용입니다.

근데, 사실 Gizmodo에서는 얼마 전에도 안드로이드 기반의 삼성 비홀드 2에 대해서 비슷한 수준의 평가를 내린 적이 있습니다:

http://gizmodo.com/5406912/samsung-behold-ii-non+review-oh-god-the-ugly

멀쩡한 안드로이드 표준 UI를 삼성 자체 UI로 완전히 망쳐놓았다는 평가입니다. 사실 정도의 차이는 있겠지만, LG도 자사의 S-class UI를 모바일 공통 UI로 미는 분위기입니다. 최근에 나온 LG의 안드로이드폰에도 비록 일부이긴 하지만 S-class UI가 적용이 되어 있죠. 근데 그거 써 본 느낌도, 삼성 터치위즈 UI와 크게 다르지 않더군요, 뭔가 따로 노는 듯한, 그리고 반응도 그리 매끄럽지 않은, 그래서 표준 안드로이드 UI보다 더 쓰기 불편하다는 느낌...

안드로이드 기반 모바일 디바이스를 만들때 제조사의 큰 고민이 바로 여기에 있습니다. 그냥 원래의 UI 그대로 Donut이던 Eclair던 수정없이 내 놓자니, 경쟁사와 다를 것이 없고, 그렇다고 자사 UI를 적용해보자니 안드로이드의 표준 UI 설계 철학과 너무 엇나가게 되서, 이도 저도 아닌 어정쩡한 제품이 나오게 되는 거죠.

아마도 삼성과 LG에서는 모든 모바일 디바이스에 사용 가능한 통합 UI의 환상을 버리고, 각각의 플랫폼에 맞는 최적화된 UI 전략을 새로 짜야 하는 것이 좋을지 모르겠습니다. 물론 자체 플랫폼의 경우 자사 UI에 최적화해서 만들면 되겠지만, 개방형 플랫폼의 경우엔 그 플랫폼에 맞는 UI가 필요하지 않을까요? 오히려 자체 통합 UI가 없는 회사의 경우, 디바이스에 맞는 적절한 UI를 새로 설계해서 잘 만들면 되는데, 대기업의 경우 기존 통합 UI를 고집하는 것이 독이 될 수도 있을 겁니다. UI는 단순히 홈스크린에 큐브 집어넣고 휠넣고 아이콘 배열하는 수준의 눈에 보이는 것이 전부가 아닙니다. 전체 모바일 소프트웨어 플랫폼을 관통하는 사용자 인터페이스의 철학이 있는 것이고, 이를 잘 살려가면서 UI 플랫폼을 설계할려면 그 소프트웨어 플랫폼의 UI의 기술적인 동작에 대한 깊은 이해가 필요합니다.

다시 저 위의 리뷰로 돌아가면, 개발팀을 잘게 쪼개서 각각 소프트웨어의 다른 부분을 맡기되, 절대 서로 이야기 하지 못하게 하면서 만든 것 같다고 평했습니다. 또, 몇분동안 사용해보면 전혀 알아들을 수 없는 여섯가지 서로 다른 언어로 외치는 소리에 둘러싸여있는 것 같다는 비유도 했습니다. 그래픽 디자이너들과 소프트웨어 개발자들이 같이 머리를 맞대고, 보다 나은 사용자 경험을 위해서 고민을 해도 잘 나올까 말까 하는 작업입니다. 말이 되지 않는 개발 스케줄에 이어지는 야근, 기획팀과 디자인팀 그리고 개발팀과 QA팀의 부조화, 게다가 개발 중간에 난데없이 날라오는 비 전문가들의 태클로 인한 낙하산식 소프트웨어 변경 사항들, 이런 것들이 위와 같은 사용자 경험으로 되돌아오는 것은 아닐까요?

앞으로 한국에서 만들어지는 안드로이드 기반 디바이스에, 정말 사용자의 경험을 진지하게 고려한, 개발자와 디자이너가 함께 고민한 흔적이 보이는, 그런 철학이 있는 UI가 탑재되기를 기대합니다.

2009. 10. 17. 09:38

요새 모바일에서는 구글의 안드로이드가 대세라고 하는 분들이 많습니다. 저도 그런 사람 가운데 하나고요. 업체를 만나던 세미나를 가던 혹은 전시회나 인터넷을 다녀도, 요즘의 가장 핫 토픽은 역시 안드로이인 것 같네요. 물론 제가 하는 일이 그런 쪽이라서 그렇습니다만.

예전에도 오픈 소스나 오픈 플랫폼 기반으로 제품을 만드는 과제들은 많이 있었습니다. 90년대 후반에서 2000년대 초반까지 이어진 닷컴 붐이 붕괴되면서 네트워크 장비 업체들이 가장 먼저 리눅스라는 운영체제에 주목하기 시작했고, 그 이후로 많은 업체들이 리눅스를 채용하면서 지금은 네트워크 장비에서 운영체제는 당연히 리눅스를 쓰는 것으로 알고 있죠.

그 외에, 고사양 디지털 TV역시 리눅스가 많이 사용됩니다. 셋톱박스에도 그렇고요. 그런데, 소프트웨어의 복잡성을 비교해볼때, 네트워크 장비나 디지털 TV와 비교해서 스마트폰이 조금 더 고민해야 할 부분이 많아 보입니다. 네트워크 장비의 특성 (각종 무선 통신)과 디지털 TV의 특성 (미디어 플레이)에 더해서 휴대형 장치로서 고민해야하는 특성들 (화면, 입력장치, 배터리) 까지 더해져있기 때문이겠죠.

음성 통화 위주의 기존 제품은 그나마 하드웨어 혹은 운영체제 벤더의 플랫폼으로 꽤 많은 부분이 해결 되었는데, 스마트폰으로 오면서 비약적으로 늘어난 소프트웨어 요구사항에 제조사들이 고민이 많겠죠. 구글에서는, 인터넷을 불편하지 않게 쓸 수 있는 모바일 플랫폼을 만드는 것이 구글의 영향력을 확대하는 길이라는 생각을 했고, 그래서 안드로이드 프로젝트를 시작했습니다. 2007년말에 OHA (Open Handset Alliance)를 발표했으니 이제 2년정도 지났는데, 모바일 플랫폼을 처음 하는 회사가 이루어낸 것 치고는 대단한 성과가 나오고 있는 것 같습니다.

좋던 싫던 하드웨어/소프트웨어 제조사, 핸드폰 제조사 그리고 통신 사업자까지 안드로이드 기반 제품을 받아들이고 있습니다. 모토롤라나 T-Mobile 같은 회사는 전세를 뒤집을 좋은 기회라고 생각하는 것 같고, 삼성/LG나 버라이즌/보다폰 같은 회사들은 뒤쳐지지 않기 위해서 하는 것이겠죠. 외면하고 있다가, 결국 안드로이드가 시장을 평정하면 큰 손해를 보기 때문이겠죠.

뭐 계산이야 어떻든, 하여튼 요새 안드로이드로 제품을 만드는 것에 대해서 이야기들을 많이 합니다. 최근에 어떤 출판사 직원분과의 대화에서도 그런 이야기가 나오고 해서, 블로그를 통해서 생각나는대로 정리를 해 볼까 합니다. 사실은... 어떻게든 블로그를 활성화시켜볼 핑계가 필요했는데, 좋은 기회인 것 같아서, 스스로를 채찍질하면서 달려볼까 합니다.   ^^;

2009. 10. 2. 08:47
http://androidenea.blogspot.com/

ENEA라고 하면 OSE라는 Real Time OS로 한세대를 풍미했던 회사인데, 이곳에서도 안드로이드에 관심을 보이고 있는 듯 하다. 정말 안드로이드가 대세인가...   ^^;
2009. 9. 30. 14:14

기술적인 분야에서 리더십의 역할은 매우 중요하다. 어떤 기술을 개발할지, 어떤 방향으로 어떻게 개발하고 어떤 식으로 생태계를 만들어낼지에 대한 결정을 내리는 단체, 회사 혹은 개인의 역할에 따라서 거의 동등한 기술이 시장에서 자원만 낭비한채 흐지부지 사라지기도 하고, 막대한 경제효과를 동반하는 트렌드로 자리 잡기도 한다.


마이크로소프트 윈도는 단일 리더십의 대표적인 모델이다. 빌 게이츠라는 확실한 리더와, 윈도라는 단일 플랫폼을 독자적으로 발전시켜 나가면서 시장을 평정했다. 애플역시 운영체제와 하드웨어, 그리고 최근의 아이폰에 이르기까지 강력한 리더십을 바탕으로 자사를 중심으로 돌아가는 생태계를 만들어냈다.


반면, 리눅스는 분산 리더십의 성공 모델이다. 물론 리누스 토발즈라는 개인에 의해서 시작되었고, 여전히 그가 막강한 영향력을 발휘하고는 있지만, 리눅스의 가치를 만들어내는 다양한 소프트웨어 모듈이나 혁신은 불특정 다수의 개인이나 단체로 부터 나오고 있다.  ARM은 리눅스와 더불어 분산 리더십의 대표적인 케이스다. 현재 PC용 프로세서 시장을 실질적으로 독점하고 있는 인텔이, IA (Intel Architecture)를 독점적으로 개발하고 발전시켜가며 시장을 장악하고 있는데 비해, ARM은 코어 기술을 개발한 후에 시장의 수많은 회사들에게 라이센스 함으로써, 매우 다양한 분야에서 다양한 방법으로 자신들의 프로세서 아키텍쳐가 활용되도록 하고 있으며, 이런 전략의 성공으로 현재 모바일 프로세서 시장을 실질적으로 독점하고 있는 것이다.


모바일 소프트웨어 플랫폼도 비슷한 방식으로 나눠서 볼 수 있다. 리모(LiMo) 파운데이션은 민주주의적인 의사 결정을 지향한다. 각종 워킹 그룹을 통해서 기술적인 방향과 정책 결정에 대해서 토론을 벌이고, 궁극적인 의사 결정은 조직의 최 상위에 위치하는 이사회에서 여러 회사들간의 투표로 이루어진다. 특정 회사의 입김에 의해서 좌지우지 되기 어려운 구조이며, 따라서 제조사들이나 통신사들이 차세대 플랫폼으로 키워보기 좋은 방식이라고 믿고 있는 듯 하다. 반면에, 너무 민주적인 의사 결정 구조로 인해서 빠르게 변화하는 시장 상황에 대응이 늦고, 기술적이거나 혹은 전략적인 우위에 의해서가 아니고 정치적인 상황에 따라서 결정이 좌우될 수도 있다는 단점이 있다.


반면, 요즘 모바일 플랫폼의 화두인 안드로이드는 구글의 강력한 리더십에 의존하고 있다. 2007년에 결성된 OHA (Open Handset Alliance)는 구글이 직접 하나씩 선택한 34개의 창립 멤버에 의해서 이루어진 단체이며, 그 뒤로 몇 몇 회사들이 더 가입하긴 했지만, 여전히 안드로이드 플랫폼의 방향은 구글에 의해서 결정된다. 사실 구글이 현재 안드로이드 플랫폼에 대해서 겪고 있는 딜레마가 바로 이 모순된 구조에서 나온다. 안드로이드는 오픈 소스의 개방형 모바일 플랫폼이다. 즉, 누구든 자유롭게 안드로이드 소스 코드를 가져다가 원하는 방식으로 사용하는데 거의 제약이 없다. 커널이나 드라이버쪽의 경우 GPL이나 BSD 등의 다양한 라이센스 모델이 있고, 그에 따라서 소스 공개의 의무나 상용으로 사용할 경우에 확인을 해 봐야 하는 부분들이 있겠지만, 미들웨어와 그 윗단의 많은 부분은 아파치 라이센스로 되어 있어서 소스 공개의 의무조차 없다.


그런 반면에 구글이 안드로이드 플랫폼을 통해서 얻고자 하는, 모바일 환경에서 자유로운 정보의 소통이라는 목적은, 어느 정도 잘 정의되고 호환이 가능한 기반 플랫폼이 있어야 가능하다. 개인 개발자들이나 미들웨어 혹은 어플리케이션 벤더들이, 안드로이드라는 표준 플랫폼이라면 모든 사업자의 모든 모델에서 응용 프로그램이 정상적으로 동작하기를 바라기 때문이다. 그래야 아이폰을 이길 수 있는 창의적인 어플리케이션의 개발, 그리고 이를 둘러싼 생태계가 활발하게 유지될 것이다. 아이폰은 애플의 강력한 통제에 의해서 플랫폼 호환성을 지켜가고 있다. 현재 구글의 가장 큰 고민 가운데 하나는 안드로이드 플랫폼을 시장에서 활발하게 받아들이고 빠른 시간안에 제품이 나올 수 있도록, 최소한의 통제를 가한 개방형 정책을 유지하면서 어떻게 하면 이에 따르는 다양한 변종 플랫폼의 난립 문제를 해결할 것이냐라는 것일 지도 모른다.


한가지 재미난 방식은 모블린(Moblin)에서 취한 모델이다. 모블린은 인텔이 만들고, 여전히 가장 강력히 후원하고 있는 모바일 플랫폼이지만, 최근에 리눅스 파운데이션으로 지배권을 넘겼다. (http://www.idg.co.kr/newscenter/common/newCommonView.do?newsId=54880) 애플 방식과 구글 방식의 중간쯤 되는 형식을 시도하는 것으로 보이는데, 잘 되면 상업적인 후원과 리더십의 장점에 오픈소스 모델의 다양성이 가미되어서 좋은 작품이 나올 수도 있지만, 실패할 경우 인텔에 특화된 것도 아니고 오픈소스 커뮤니티의 지원도 받지 못하는 어정쩡한 모델로 남을 수도 있을테니, 앞으로 넷북용정식 버전이 나오고, 내년 초에 MID용 버전까지 나오게 되면 한번 지켜볼 일이다.



2008. 1. 24. 18:15
안드로이드 뉴스 그룹을 헤매다가 우연히 발견한 링크: http://honeypod.blogspot.com/2007/12/compile-android-kernel-from-source.html 일본 사람인 듯 한데, 안드로이드 소스코드를 코드 소서리의 GCC 툴체인을 이용해서 Fedora Core 8에서 컴파일 하는 방법을 올려 놓았다.

당장 따라해 봤다. 일단 툴체인을 코드 소서리 홈페이지에서 (http://www.codesourcery.com/gnu_toolchains/arm/download.html) 받아서 내 Fedora Core 7 머신으로 복사하고, 예전에 받아놓은 안드로이드 커널 소스도 설명에 따라서 풀어본다. (툴체인 받을때 ARM GNU/Linux하고 IA32 GNU/Linux를 선택했다.)

우선 에뮬레이터를 실행하고 adb를 붙여서 config 파일을 가져온다.

[tykim@tiger sdk]$ android_sdk_linux_m3-rc37a/tools/adb pull /proc/config.gz .
* daemon not running. starting it now *
1 KB/s (5564 bytes in 3.516s)
[tykim@tiger sdk]$
[tykim@tiger sdk]$ ls -l
total 20
drwxrwx--- 5 tykim tykim 4096 2007-12-13 10:56 android_sdk_linux_m3-rc37a
-rw-r--r-- 1 tykim tykim 5564 2008-01-24 21:26 config.gz

그리고 설명에 나온 것처럼 config 파일 복사하고 Makefile 수정한 다음에 make로 커널 컴파일을 돌리면, 델 래티튜드 D600 머신에서 약 6분정도 걸린다. 궁금하신 분은 아래의 컴파일 로그 파일 참조...   ^^;
그리고 컴파일된 이미지의 크기를 보면:

[tykim@tiger kernel]$ ls -l arch/arm/boot/zImage
-rwxrwxr-x 1 tykim tykim 1235052 2008-01-24 21:45 arch/arm/boot/zImage
[tykim@tiger kernel]$ ls -l ../sdk/android_sdk_linux_m3-rc37a/tools/lib/images/kernel-qemu
-rwxrwxr-x 1 tykim tykim 1245836 2007-12-12 06:32 ../sdk/android_sdk_linux_m3-rc37a/tools/lib/images/kernel-qemu
[tykim@tiger kernel]$

오히려 원래 SDK에 있는 것보다 10KBytes 정도 줄어든 것을 확인해 볼 수 있다. 새로 컴파일 된 이미지를 이용해서 에뮬레이터를 돌려보면:

사용자 삽입 이미지

안드로이드 에뮬레이터


짜잔... 원래 에뮬레이터와 아무런 차이 없이 실행 잘 된다. 이상 안드로이드 커널 컴파일 실험 끝!!!
^^;

2008. 1. 23. 13:27
엊그제 구글의 안드로이드 커널을 다운 받아서 분석하기 시작했다. 스프링 노트로 작업 중인데, 어느 정도 모양을 갖추면 업데이트 작업 중간에라도 공개를 할 생각이다.

그나저나 100만년만의 블로그 포스트... 반성, 반성..   -_-;
기념으로 블로그 이름을 TY Story로 변경, 뭔가 Tistory랑 비슷한 면도 있고 해서.

열쒸미 하자, 화이팅!
prev"" #1 next